VVC 代码运行

下载提案:Welcome to Joint Video Experts Team
以VTM6.0为例,提案为:
JVET-O2000 Meeting Report of the 15th JVET Meeting (Gothenburg, SE, 3–12 July 2019)
JVET-O2002 Algorithm description for Versatile Video Coding and Test Model 6 (VTM 6)

下载VTM6.0的代码:Files · VTM-6.0 · jvet / VVCSoftware_VTM · GitLab

备注:RC是Release Candidate(发行候选版本)的简称。和Beta版最大的差别在于Beta阶段会一直加入新的功能,但是到了RC版本,几乎就不会加入新的功能了,而主要着重于除错

可以考虑在改动之前,先在本地建立一个Git仓库,防止以后忘记代码有没有改过、改了哪里、改乱了等等。

cd ..
git init
git add .
git commit -m "VTM 6.0"

阅读这个项目的README,得知在Windows系统下:

1安装Cmake,下载:https://cmake.org/download/,我下载的是Zip,然后把bin目录添加到环境变量,除了这个 ,可以直接下载那个msi的安装包。

2新建build目录,在目录中执行:

mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -A x64

cmake .. -G "Visual Studio 14 2015" -A x64
cmake .. -G "Visual Studio 15 2017" -A x64
cmake .. -G "Visual Studio 16 2019" -A x64
三句命令根据自己的VisualStudio版本选择。

然后在build目录里就有许多文件了,打开NextSoftware.sln 就能用了

PS E:\Documents\VideoCoding\VVCSoftware_VTM\build> cmake .. -G "Visual Studio 16 2019" -A x64
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.18362.
-- The C compiler identification is MSVC 19.22.27905.0
-- The CXX compiler identification is MSVC 19.22.27905.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting up BBuildEnv 3.13.0.2
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Found OpenMP_C: -openmp (found version "2.0")
-- Found OpenMP_CXX: -openmp (found version "2.0")
-- Found OpenMP: TRUE (found version "2.0")
-- bb_enable_warnings:  -> updating warnings flags: /WX;/wd4996
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Documents/VideoCoding/VVCSoftware_VTM/build

右键把EncoderApp设为启动项目

配置属性 - 常规 - 输出目录:这个可以不改,也可以改到下面工作目录。默认在bin文件夹一层一层点进去。
配置属性 - 调试 - 工作目录:$(SolutionDir)../bin$(SolutionDir)就是build文件夹,设到并列的bin文件夹)
配置属性 - 调试 - 命令参数:-c ../cfg/per-sequence/BasketballPass.cfg -c ../cfg/encoder_intra_vtm.cfg (根据需要可以添加>> enc_log.txt到结尾来把输出保存到txt中)

然后把BasketballPass.cfg对应的yuv文件放到工作目录,或者修改BasketballPass.cfg文件里yuv文件的位置。
然后右键 - 生成;或者点那个本地调试器,就可以开始跑。

如果研究IBC,命令参数:-c ../cfg/per-sequence/BasketballPass.cfg -c ../cfg/encoder_intra_vtm.cfg -c ../cfg/per-class/classF.cfg
注意classF.cfg要放在后面,因为同一个设置,最后面的设置才是生效的,encoder_intra_vtm.cfg和classF.cfg都规定了IBC,前者是0后者是1.

DecoderApp 项目属性:
配置属性 - 调试 - 工作目录:$(SolutionDir)../bin
配置属性 - 调试 - 命令参数:-b str.bin -o dec.yuv (根据需要可以添加>> dec_log.txt到结尾来把输出保存到txt中)

如果是要使用YUView查看统计信息,命令参数:-b str.vvc -o dec.yuv --TraceFile="ACoded.vtmbmsstats" --TraceRule="D_BLOCK_STATISTICS_ALL:poc>=0" >> declog.txt,注意在此之前的编码时要修改配置文件生成vvc文件。

你可能感兴趣的:(视频技术)