H266/VVC Software_VTM编译和视频测试序列

1、VVCSoftware_VTM
地址:https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM

建议使用git下载,可以一直在线更新代码,也可以选择自己需要的版本,点击master下拉选择版本,我下载的是master。

2、README.MD文件查看编译方法
window版先是在根目录下建build空文件夹,然后再使用cmake编译。

 

3、根目录下建build文件夹,用来存放编译成功的vs工程

4、cmake下载和编译

根据自己电脑的系统选择下载,地址:https://cmake.org/download/
在下载的cmake里找到cmake-gui,使用gui好处是软件有vs版本给选择,不用去找自己vs的对应的版本。

打开cmake-gui进行编译

第一步,其中Browse Source处选择VTM整体项目的根目录即可,Browse Build后生成文件的地方选择之前建立的build文件夹即可,路径不要存在中文。如下图:

第二步点击左下角的configure按钮弹出下图,首先选择对应的VS版本,还有选择电脑的系统版本,是x64就选x64&

### VTM 编码器解码器源代码解析 #### 解析框架结构 VTM (VVC Test Model) 是用于实现 Versatile Video Coding (VVC) 标准的测试模型。其源代码主要由多个模块组成,这些模块协同工作来完成视频编码解码的任务。 - **主程序入口** 主要分为 `EncApp` `DecApp` 两个应用程序,分别负责编码解码操作。其中 `EncApp_encode()` 函数作为编码过程的核心函数[^4],而 `DecApp_decode()` 则是解码流程的关键部分[^3]。 - **核心处理单元** 对于编码而言,涉及到了帧内预测、运动估计/补偿、变换量化等多个环节;对于解码,则侧重于逆量化、逆变换成重建图像等内容。具体来说,在编码过程中会调用诸如 `TComPrediction::motionCompensation()` 进行运动补偿计算,而在解码侧则有对应的 `TComLoopFilter::xReconPicBufferInit()` 来初始化重构图片缓冲区。 #### 关键数据结构 在整个项目里定义了许多重要的类用来表示不同的概念对象: - `TComYuv`: 表示 YUV 图像的数据容器; - `TComPic`: 描述了一张完整的图片信息及其属性; - `TEncCu`, `TDecCu`: 分别代表编码端与解码端的基本处理单元(Coding Unit),即CU节点; - `TComSlice`, `TComPicSym`: 存储切片级以及画面级别的符号表等元数据信息。 ```cpp class TComDataCU { public: Void init( UInt uiDepth ); ... }; ``` 上述 C++ 类展示了 CU 节点的部分接口方法声明,通过此类可以访问并操控当前 CU 的各种特性参数。 #### 配置管理机制 为了方便调整算法行为以适应不同应用场景的需求,VTM 提供了一系列预设好的配置文件(如 `encoder_intra_main.cfg` 或者 `encoder_randomaccess_main.cfg`),允许用户自定义输入输出路径以及其他必要的选项设置[^2]。当启动编码或解码应用时,可以通过命令行参数指定加载特定的 .cfg 文件来进行个性化定制。 #### 构建环境搭建 考虑到跨平台兼容性的需求,官方推荐采用 CMake 工具链辅助构建整个工程。无论是 Windows 平台还是 Linux 发行版上都能顺利执行如下指令序列完成编译链接步骤: ```bash mkdir build && cd build cmake .. make -j$(nproc) ``` 以上就是关于 VTM 编码器解码器的一些基本介绍技术要点分析。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值