Windows11编译VTM源码生成Visual Studio 工程

VTM介绍

VTM作为H266/VVC标准的官方参考软件,一直用作H266/VVC标准的研究和迭代。关于H2666/VVC标准的介绍、代码、提案、文档等,可以参考H266/VVC编码标准介绍
官方代码地址: https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM(最新)
git 镜像地址: https://github.com/yanceyxin/VVCSoftware_VTM (非最新)

H266/VVC标准化历程:

时间 事件
2015年10月 VCEG和MPEG再次组建联合视频探索小组JVET,开发JEM参考平台
2015年10月-2017年7月 针对SDR,多个提案,JEM 7个版本不断演进
2016年10月-2017年10月 支持AR和VR,研究了360度全景编码技术,简历360Lib参考软件平台
2017年10月 共同发布新一代视频编码标准的技术征求书,应用到4K、16K,甚至HDR、360度全景视频、屏幕内容编码
2018年4月 32家单位提交23份提案,最佳性能比H265的参考软件HM提升40%以上的编码效率,JVET将下一代标准命名VVC,建立第一版VV测试模型VTM-1.0
2018年-2020年7月 JVET召开10次会议讨论6000多份技术提案,VTM性能得到大幅度提升
2019年7月 JVET发布委员会草案CD,确定VVC的主体编码框架和编码工具
2019年10月 JVET发布了国际标准草案DIS,标准进入关键阶段
2020年7月1日 19次JVET会议确定VVC第一版本,ITU-T命名为H266,ISO/IEC批准VVC成为FDIS,H266/VVC标准正式形成

目前中国的公司参与制定标准越来越多,在国际视频标准化的舞台上扮演着越来越重要的角色。

编译过程

源码下载:

bash 复制代码
git clone git@github.com:yanceyxin/VVCSoftware_VTM.git

用VScode打开源码:

打开README,里面有关于编译相关的说明。可以看懂编译依赖cmake工具链。

cmake安装:

安装cmake有两种方法,一种直接官方下载安装,另外一种利用PowerShell命令行安装。

官网下载:

PowerShell命令行:winget install cmake

安装完cmake之后,在PowerShell里输入cmake命令,出现如下截图,则表示安装成功。

在VTM源码目录新建build文件:

安装README中编译说明,先新建build目录,方便后期放置编译生成文件。

bash 复制代码
mkdir build 

camke生成sln文件:

通过cmake生成sln命令,即可在build目录里生成sln文件。

命令:

bash 复制代码
 cmake -G "Visual Studio 17 2022" -S ./ -B ./build

出现如下截图,表示生成成功。

至此,在build目录里已经出现NextSoftware.sln文件,用Visual Studio 2022打开进行编译。

Visual Studio 2022编译VTM:

点击"生成(B)" ---- "生成解决方案(B)",之后等待一段时间。

输出窗口出现生成:16 成功, 0 失败, 0 最新, 1 已跳过,则表示VTM编译成功。

查看编译生成文件:可执行程序和库文件。
可执行程序: 在\bin\vs17\msvc-19.38\x86_64\debug目录下生成几个可执行程序和对应的pdb。

库文件: 在\lib\vs17\msvc-19.38\x86_64\debug目录下生成几个lib库文件和对应的pdb文件。

至此,VTM就完成了生成Visual Studio 工程,可以进行下一步的源码学习和调试分析。

参考

  1. H266/VVC编码标准介绍
  2. https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM
相关推荐
Yang.991 小时前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
我不瘦但很逗2 小时前
Windows下使用DBeaver连接云数据库(MySQL)
数据库·windows
ashane13143 小时前
Java list
java·windows·list
万里沧海寄云帆3 小时前
Word 插入分节符页码更新问题
windows·microsoft·word
dot.Net安全矩阵4 小时前
.NET 通过模块和驱动收集本地EDR的工具
windows·安全·web安全·.net·交互
编程修仙6 小时前
Collections工具类
linux·windows·python
程序员小羊!7 小时前
高级 SQL 技巧讲解
windows
xiangshangdemayi9 小时前
Windows环境GeoServer打包Docker极速入门
windows·docker·容器·geoserver·打包·数据挂载
a_安徒生9 小时前
window系统改为Linux系统
linux·windows·centos·系统安全
huaqianzkh11 小时前
学习C#中的Parallel类
windows·microsoft·c#