ffmpeg压缩视频
- sws图像格式转换,使用cpu
- nv12(yuv420sp)图像转h264,使用gpu压缩
压缩灰度图性能对比如下,(avframe的data数组按照通道存储的数据,灰度图格式转换效率最高),在没有优化的情况下,cpu的转换时间会是GPU的2到3倍左右
libyuv
libyuv使用cpu的特殊指令集,对cpu的运算做加速,比sws转换效率高,编译的时候如果cpu不支持ssse、avx等指令集,也基本和sws差不多,而且有时可能更慢
在row.h的宏定义中可以看到,不同的编译支持的指令集不同,使用
添加pragma message可以清除编译时候打开了某块代码
cmakelists.txt文件中添加add_definitions(-D__i386__),使支持x86 cpu的加速