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

2023-12-22 07:15

本文主要是介绍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标准正式形成

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

编译过程

源码下载:

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目录,方便后期放置编译生成文件。

mkdir build 

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

命令:

 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

这篇关于Windows11编译VTM源码生成Visual Studio 工程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/523036

相关文章

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

SpringBoot实现二维码生成的详细步骤与完整代码

《SpringBoot实现二维码生成的详细步骤与完整代码》如今,二维码的应用场景非常广泛,从支付到信息分享,二维码都扮演着重要角色,SpringBoot是一个非常流行的Java基于Spring框架的微... 目录一、环境搭建二、创建 Spring Boot 项目三、引入二维码生成依赖四、编写二维码生成代码五

MyBatisX逆向工程的实现示例

《MyBatisX逆向工程的实现示例》本文主要介绍了MyBatisX逆向工程的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录逆向工程准备好数据库、表安装MyBATisX插件项目连接数据库引入依赖pom.XML生成实体类、

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I