遵循 AVS2-P2/IEEE1857.4 视频编码标准的解码器.
对应的编码器 xavs2 可在 Github 或 Gitee (mirror in China) 上找到.
Linux(Ubuntu-16.04):
Windows(VS2013):
可使用VS2013打开解决方案./build/win32/DAVS2.sln进行编译, 也可以使用更新的vs版本打开上述解决方案.
打开解决方案后, 将工程davs2设置为启动项, 进行编译即可.
- 首次编译本项目时, 需要安装一个
shell 执行器, 比如git-for-windows中的bash, 需要将该bash所在的目录添加到系统环境变量PATH中. 如上所述, 如果您以默认配置安装了git-for-windows, 那么将C:\Program Files\Git\bin添加到环境变量中即可. - 需将
nasm.exe放入到系统PATH目录,nasm版本号需为2.13或更新. 对于windows平台,可下载如下压缩包中,解压得到nasm.exe. https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/win64/nasm-2.14.02-win64.zip
对于linux系统, 依次执行如下命令即可完成编译:
$ cd build/linux
$ ./configure
$ make
使用1个线程解码AVS2码流文件test.avs并将结果输出成YUV文件dec.yuv:
./davs2 -i test.avs -t 1 -o dec.yuv
解码AVS2码流文件test.avs并用ffplay播放显示:
./davs2 -i test.avs -t 1 -o stdout | ffplay -i -
| 参数 | 等价形式 | 意义 |
|---|---|---|
| --input=test.avs | -i test.avs | 设置输入码流文件路径 |
| --output=dec.yuv | -o dec.yuv | 设置输出解码YUV文件路径 |
| --psnr=rec.yuv | -r rec.yuv | 设置参考用YUV文件路径, 用于计算PSNR以确定是否匹配 |
| --threads=N | -t N | 设置解码线程数 (默认值: 1) |
| --md5=M | -m M | 设置参考MD5值, 用于验证输出的重构YUV是否匹配 |
| --verbose | -v | 设置每帧是否输出 (默认: 开启) |
| --help | -h | 显示此输出命令 |
欢迎提交 issue,请写清楚遇到问题的环境与运行参数,包括操作系统环境、编译器环境等。
如果可能提供原始输入YUV/码流文件,请尽量提供以方便更快地重现结果。
如果有开发能力,建议在本地调试出错的代码,并提供相应修正的 Pull Request。
AVS2-P2/IEEE1857.4 Encoder: xavs2 (Github), xavs2 (mirror in China)
AVS2-P2/IEEE1857.4 Decoder: davs2 (Github), davs2 (mirror in China)