yasm

Linux centOS下安装FFmpeg

一个人想着一个人 提交于 2020-08-07 03:15:13
0.前提准备:使用yum安装编译工具 gcc cc cl yum -y install gcc cc cl 1.安装ffmpeg时需要提前安装yasm插件 1)下载 wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz 2)解压 tar -xvf yasm-1.3.0.tar.gz 3)进入解压后的文件夹路径下,执行安装 cd yasm-1.3.0/ ./configure && make && make install 2.安装FFmpeg 1)下载 wget http://www.ffmpeg.org/releases/ffmpeg-3.4.tar.gz 2)解压 tar -xvf ffmpeg-3.4.tar.gz 3)进入解压后的文件夹路径下,执行安装 cd ffmpeg-3.4/ ./configure && make && make install 3.查看安装结果 ffmpeg -version 出现如下类似结果,则安装OK 来源: oschina 链接: https://my.oschina.net/u/554046/blog/4280523

Ubuntu 18.04 手动编译安装 ffmpeg

自闭症网瘾萝莉.ら 提交于 2020-05-08 20:28:52
  ffmpeg 是一个由提供对视频、音频和其他多媒体流文件进行处理功能的库和程序构成的自由软件项目,其常被用于适用于不同格式的音频和视频的录影、转换和流处理等场合。这里记录在 Ubuntu 18.04 平台下安装 ffmpeg 的过程。( 注:ffmpeg 目前已经可以通过 apt 直接进行安装,见最后 ) 安装过程   a.在 ffmpeg 官网上下载对应的安装压缩包,笔者使用的是 ffmpeg-4.1.tar.bz2 ,将其解压至用户主目录下。 tar -xvjf ffmpeg-4.1.tar.bz2 -C ~ //将文件解压缩至用户主目录   b.简单的安装过程在解压获得的 ffmpeg-4.1 目录中的 INSTALL.md 文件中有一定的描述,首先对编译安装环境进行配置。 ./configure //检测当前的编译安装环境   此时可能会产生报错 " nasm/yasm not found or too old " ,这是由于 ffmpeg 中部分优化代码使用汇编编写,对应的编译过程需要使用汇编编译器,这里有两种选择,一种是在 ./configure 时使用 --disable-yasm 选项,最终获得是一个裁剪版本的 ffmpeg 工具集;另外一种是安装对应的汇编编译器,可使用下列命令进行安装。 sudo apt install yasm //安装 yasm 编译器

【Gist】bash 脚本安装 FFmpeg 2.3

三世轮回 提交于 2020-05-08 19:26:02
通过PPA安装 ambulant-gtk 需要,其依赖 libambulant 需要如下版本的 FFmpeg 库: The following packages have unmet dependencies: libambulant : Depends: libavcodec55-ffmpeg but it is not installable Depends: libavformat55-ffmpeg but it is not installable Depends: libavutil52-ffmpeg but it is not installable Depends: libswresample0-ffmpeg but it is not installable Depends: libswscale2-ffmpeg but it is not installable 查阅 Old releases ,发现满足条件的 FFmpeg 最新版本是 2.3.6 "Mandelbrot" libavutil 52. 92.100 libavcodec 55. 69.100 libavformat 55. 48.100 libavdevice 55. 13.102 libavfilter 4. 11.100 libavresample 1. 3. 0 libswscale 2.

gdb behaves differently for symbols in the .bss, vs. symbols in .data

流过昼夜 提交于 2020-02-15 08:34:27
问题 I recently started learning assembly language for the Intel x86-64 architecture using YASM. While solving one of the tasks suggested in a book (by Ray Seyfarth) I came to following problem: When I place some characters into a buffer in the .bss section, I still see an empty string while debugging it in gdb. Placing characters into a buffer in the .data section shows up as expected in gdb. segment .bss result resb 75 buf resw 100 usage resq 1 segment .data str_test db 0, 0, 0, 0 segment .text

gdb behaves differently for symbols in the .bss, vs. symbols in .data

杀马特。学长 韩版系。学妹 提交于 2020-02-15 08:33:31
问题 I recently started learning assembly language for the Intel x86-64 architecture using YASM. While solving one of the tasks suggested in a book (by Ray Seyfarth) I came to following problem: When I place some characters into a buffer in the .bss section, I still see an empty string while debugging it in gdb. Placing characters into a buffer in the .data section shows up as expected in gdb. segment .bss result resb 75 buf resw 100 usage resq 1 segment .data str_test db 0, 0, 0, 0 segment .text

Yasm compiling 64 bit code with intel syntax

試著忘記壹切 提交于 2020-01-24 20:26:06
问题 I have this file: .code64 pop %rbx that compiles nicely with yasm with the following directive: yasm.exe asm.asm -o asm.bin -m amd64 --parser=gas my question is: is there any way to use nasm parser to compile 64 bit code by using intel syntax? I don't really like AT&T syntax 回答1: See the yasm manual about the BITS directive. bits 64 pop rbx yasm.exe asm.asm -o asm.bin -m amd64 来源: https://stackoverflow.com/questions/14217080/yasm-compiling-64-bit-code-with-intel-syntax

FizzBuzz in assembly - segmentation fault

牧云@^-^@ 提交于 2019-12-20 08:00:44
问题 I am trying to write FizzBuzz in Assembly and I am seeing segmentation fault all the time. So far I have determined that it is not my printing routines (because I have removed their contents and the problem persists) and the error hides somewhere in the main function. I was getting this output when I run the program: fizzSegmentation fault Leading me to believe that it's not the problem with using division and looking up the remainders. But I could be wrong, I haven't done Assembly in two

NASM/Yasm drops CALL after comment ending with backslash

穿精又带淫゛_ 提交于 2019-12-20 05:28:07
问题 I am currently trying to built my own boot loader and noticed something peculiar. When below code is assembled with NASM or Yasm without the marked NOP command the following CALL is missing from the binary. With the NOP included the CALL is correctly assembled but the op code 0x90 (NOP) is not present in the binary (later is understandable due to the nature of NOP). to_hex_ascii: add al, '0' cmp al, 0x3a jl .end ; add al, 0x07 add al, 0x27 .end: ret print_word_hex: push bp mov bp, sp mov dx,

asm usage of memory location operands

泄露秘密 提交于 2019-12-13 02:27:02
问题 I am in trouble with the definition 'memory location'. According to the 'Intel 64 and IA-32 Software Developer's Manual' many instruction can use a memory location as operand. For example MOVBE (move data after swapping bytes): Instruction: MOVBE m32 , r32 The question is now how a memory location is defined; I tried to use variables defined in the .bss section: section .bss memory: resb 4 ;reserve 4 byte memorylen: equ $-memory section .text global _start _start: MOV R9D, 0x6162630A MOV

Why in NASM do we have to use square brackets ([ ]) to MOV to memory location?

一世执手 提交于 2019-12-12 17:18:00
问题 For example if I have a variable named test declared like: test db 0x01 ;suppose the address is 0x00000052 If I do something like: mov rax, test ;rax = 0x00000052 mov rax, [test] ;rax = 0x01 But, when I try to save in it, if we're following the same pattern: mov test, 0x01 ;address 0x00000052 = 0x01 mov [test], 0x01 ;address 0x01 = 0x01 But it actually is: mov [test], 0x01 ;address 0x00000052 = 0x01 So, why the square brackets behave differently depending if they are the first or second