AV1参考软件aom工程的编译与调试(VS2017)

本文介绍了AOM工程的编译与调试方法。编译前需安装CMake、Python、Perl、nasm等软件并加入环境变量,通过Cmake GUI完成编译。调试使用VS2017,分别对编码端aomenc和解码端aomdec设置启动项和命令行参数,即可进行断点调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

aom软件下载平台:https://aomedia.googlesource.com/aom

可以在该网站直接下载,也可以通过git命令进行clone(注意需要科学上网)

git clone https://aomedia.googlesource.com/aom

一、AOM工程的编译

根据https://aomedia.googlesource.com/aom下载网页中列出的编译的先决条件(doxygenEMSDK现不需要)

  • CMake:从cmake官网可以下载Win版本可执行文件或者安装包进行安装
  • Python:使用cmake生成工程文件会依赖Python(也可以用编译命令跳过)
  • perl推荐下载Strawberry Perl ;
  • yasm or nasm? nasm最新版足够了

安装完python、Perl和yasm还需要将它们加入环境变量。

为了方便大家使用,我把相关软件安装包上传到了CSDN:https://download.csdn.net/download/BigDream123/14041931

安装完上面这些软件之后,我们打开Cmake GUI进行编译,注意source地址是整个文件的地址,到aom就行,目标文件可以在aom目录下也可以在别的目录下,建议放在和aom的同级目录下:

点击configure配置,因为我用的是VS2017,根据自己VS的版本选择相应的选项,之后选择x64,然后点击finish

配置成功之后,搜索nasm,勾选ENABLE_NASM(若有yasm,不勾选nasm则默认选择yasm)

 如果对测试数据没有需求得话,建议取消ENABLE_TESTDATA,可以大大减少工程代码量

最后点击generate生成代码,显示generate done表示代码生成成功,这样我们的编译工作就完成了

 二、AOM工程的调试(VS2017)

我们打开build目录下的AOM.sln,使用VS打开aom工程,aomenc主要是编码端的工程,aomdec主要是解码端的工程,在调试的时候分别需要设置启动项和命令行参数

1、编码端的调试

鼠标右键点击aomenc,选择设为启动项目

鼠标右键点击aomenc,选择属性,点击配置属性-》调试-》命令行参数,这里注意左上角的配置选项,为了方便我通常选择所有配置,你也可以根据需求分别配置debug的和release的参数,以我使用的参数为例:

E:\VideoCoding\BasketballDrill_832x480_50.yuv --width=640 --height=360  --bit-depth=8  --codec=av1 --test-decode=0 --cpu-used=0    --threads=1 --profile=0 --drop-frame=0 --static-thresh=0  --sharpness=0 --frame-parallel=0 --tile-columns=0  --passes=2 --kf-min-dist=0 --kf-max-dist=0 --end-usage=q --psnr -v  --cq-level=45 --enable-cdef=1 --enable-restoration=1 --limit=60 --enable-cfl-intra=1 -o bluesky_45.ivf > bluesky_45_log.log 2>&1

最开始输入的视频文件,后面是视频文件的宽度、高度、比特深度等,aom编码端有许多命令参数设,可以根据不同需求设置不同的参数,相关命令行参数可以参考:https://blog.csdn.net/BigDream123/article/details/109441957

配置完之后,选择Debug,然后就可以开始断点调试了

注意:如果编码端想要输出重建YUV,则需要找到宏DUMP_RECON_FRAMES,在该宏的引用处存在输出重建YUV相关代码

#define DUMP_RECON_FRAMES 1

 

 2、解码端的调试

解码端的调试和编码端调试类似,也是先设置启动项目再配置命令行参数,不同的是编码端的命令行参数输入的是码流文件,以下面为例:

bluesky_45.ivf --rawvideo --progress -o dec.yuv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值