mark:x264编译选项

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/CrystalShaw/article/details/92795584

一、编译命令行详解

  • 命令行参数列表

                             

  • 命令行参数理解
参数名 参数说明 备注
extra-asflags 汇编编译选项参数  
extra-cflags gcc编译选项参数 微软编译选项
extra-ldflags 链接外部库使用  
extra-rcflags    
disable-cli disable cli 正式版本可以关闭该项。禁止命令行操作。
system-libx264 use system libx264 instead of internal  
enable-shared build shared library  
enable-static build static library  
disable-opencl disable OpenCL features  
disable-gpl disable GPL-only features 商用版本注意GPL license,使用该功能,自研优化代码需要开源。
disable-thread disable multithreaded encoding  
disable-win32thread disable win32threads (windows only)  
disable-interlaced disable interlaced encoding support 是否禁止支持场编码
bit-depth set output bit depth (8, 10, all) [all] 若使用10,要求YUV数据就是10bit。
chroma-format output chroma format (400, 420, 422, 444, all) [all]  
disable-asm disable platform-specific assembly optimizations linux下要安装yasm、windows下安装nasm才能使能该功能。
enable-lto enable link-time optimization 自动寻找可优化函数,进行内联优化等
enable-debug add -g  
enable-gprof add -pg  
enable-strip add -s  
enable-pic build position-independent code 地址无关代码 (position-independent code,PIC),又称地址无关可执行文件 (position-independent executable,PIE) ,是指可在主存储器中任意位置正确地运行,而不受其绝对地址影响的一种机器码。PIC广泛使用于共享库,使得同一个库中的代码能够被加载到不同进程的地址空间中。PIC还用于缺少内存管理单元的计算机系统中,使得操作系统能够在单一的地址空间中将不同的运行程序隔离开来。
disable-avs disable avisynth support 视频后处理工具。参见:AviSynth
disable-swscale disable swscale support 用于视频缩放处理。
disable-lavf disable libavformat support 直接调用ffmpeg库,解析输入文件为YUV。
disable-ffms disable ffmpegsource support FFmpegSource2(FFMS2)是 Libav/FFmpeg 的封装库,解析输入文件为YUV。
disable-gpac disable gpac support 参见《GPCA
disable-lsmash disable lsmash support 参见《lsmash​​​​​​​》

二、编译命令行示例

关闭一些不使用的编译选项,减少不必要的代码分支判断,提高性能。

./configure --disable-avs --disable-swscale --disable-lavf --disable-ffms --disable-interlaced --enable-shared --enable-lto --bit-depth=8 --chroma-format=420 --extra-ldflags=-Wl,--output-def=libx264.def

                                    

三、实测gcc编译选项

gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -D_POSIX_C_SOURCE=200112L -std=gnu99 -D_GNU_SOURCE -fomit-frame-pointer -flto -fno-tree-vectorize

四、实测nasm编译选项

nasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f win64 -DSTACK_ALIGNMENT=16 -DPIC

nasm官网:https://www.nasm.us/

猜你喜欢

转载自blog.csdn.net/CrystalShaw/article/details/92795584
今日推荐