libvpx在windows下的编译

时间:2022-03-19 08:52:00

  

1、安装

 安装过程参考:https://*.com/questions/20676347/building-libvpx-under-windows-7-yasm-error

也可参考:https://www.cnblogs.com/endv/p/6866947.html

 github上已有的vs2010工程:https://github.com/ooyanglinoo/Plugin_Videoplayer/tree/master/libvpx

 备注:MINGW下生成libvx的参数配置可参考configure --target=x86-win32-vs8 --enable-static-msvcrt --disable-install-docs

2、运行VS工程出现的问题

ISSUE1:

  出现的问题: yasm: FATAL: unrecognized object format `Win32'

REASON1;

 
   
There is a slight change in 1.3.0 YASM's naming of platforms. Libvpx build system need to be updated to be compatible for these changes: Yasm-1.2 -> Yasm-1.3 Win32   ->  win32 x64     ->  win64

SOLUTION1:

原因:区分大小写……应该用 win32 而不是 Win32,您可以改一下工程平台的名字,但默认都是 Win32,不太方便,所以我们要对 vsyasm.props 进行改造:

<CommandLineTemplate>"$(YasmPath)"vsyasm.exe -Xvc -f $(Platform) [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate>

替换为:

<CommandLineTemplate>"$(YasmPath)vsyasm.exe" -Xvc -f $(Platform.ToLower()) [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate>

或者:

<CommandLineTemplate>"$(YasmPath)vsyasm.exe" -Xvc -f win$(PlatformArchitecture) [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate>

保存即搞定,连 VS 都不需要重启。

3、VP9的命令参数

编码:
vpxenc.exe RaceHorses_416x240_30.yuv --width=416 --height=240  --codec=vp9 --rt --passes=1 --verbose --psnr --cpu-used=6 --threads=0 --auto-alt-ref=1 --profile=0 --lag-in-frames=0 --cq-level=20 --end-usage=0 --disable-kf --drop-frame=0 --static-thresh=0 --arnr-maxframes=7 --arnr-strength=5 --arnr-type=3 --sharpness=0 --undershoot-pct=100 --limit=50 --skip=0 --fps=30/1 --min-q=30 --max-q=38  -o RaceHorses_416x240_30.vp9 --tune=psnr

解码:
vpxdec.exe RaceHorses_416x240_30.vp9 -o RaceHorses_416x240_30_dec.yuv --i420


参考网址:http://blog.csdn.net/leixiaohua1020/article/details/19014955

参考网址:http://www.voidcn.com/article/p-reaanyla-boq.html

参考网址:https://bugs.chromium.org/p/webm/issues/detail?id=843