当前位置: 首页 > news >正文

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 工程

VTM介绍 VTM作为H266/VVC标准的官方参考软件,一直用作H266/VVC标准的研究和迭代。关于H2666/VVC标准的介绍、代码、提案、文档等,可以参考H266/VVC编码标准介绍。 官方代码地址: https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM&…...

[数据结构进阶 C++] 二叉搜索树(BinarySearchTree)的模拟实现

文章目录 1、二叉搜索树1.1 二叉搜索数的概念1.2 二叉搜索树的操作1.2.1 二叉搜索树的查找1.2.2 二叉搜索树的插入1.2.3 二叉搜索树的删除 2、二叉搜索树的应用2.1 K模型2.2 KV模型 3、二叉搜索树的性能分析4、K模型与KV模型完整代码4.1 二叉搜索树的模拟实现(K模型…...

PostGIS学习教程十四:更多的空间连接

PostGIS学习教程十四:更多的空间连接 在上一节中,我们看到了ST_Centroid(geometry)和ST_Union([geometry])函数,以及一些简单的示例。在本节中,我们将用它们做一些更详细的事情。 提示:写完文章后,目录可以…...

【爬虫软件】孔夫子二手书采集

项目演示 孔网爬取图书信息 目录结构 [ |-- api-ms-win-core-synch-l1-2-0.dll, |-- api-ms-win-core-sysinfo-l1-1-0.dll, |-- api-ms-win-core-timezone-l1-1-0.dll, |-- api-ms-win-core-util-l1-1-0.dll, |-- api-ms-win-crt-conio-l1-1-0.dll, |-- api…...

P8736 [蓝桥杯 2020 国 B] 游园安排

题目描述 L \mathrm{L} L 星球游乐园非常有趣,吸引着各个星球的游客前来游玩。小蓝是 L \mathrm{L} L 星球 游乐园的管理员。 为了更好的管理游乐园,游乐园要求所有的游客提前预约,小蓝能看到系统上所有预约游客的名字。每个游客的名字由一…...

初识Docker-什么是docker

Docker是一个快速交付应用、运行应用的技术 目录 一、Docker 二、运用场景 一、什么是Docker?它的作用是什么? Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题? Docker允许开发中将应用、依赖、函数库、配置一起打包&…...

maven的pom.xml设置本地仓库

配置 在Maven项目中&#xff0c;您可以在pom.xml文件中配置本地仓库的路径。在pom.xml文件中&#xff0c;您可以添加以下配置来指定本地仓库的路径&#xff1a; <project>...<repositories><repository><id>local-repo</id><url>file://…...

Qt获取屏幕DPI缩放比

获取屏幕缩放比 网上很多代码是用 logicalDotsPerInch 除以 96 来获取屏幕缩放比&#xff1a; // Windows 除以 96&#xff0c;macOS 除以 72 qreal factor window->screen()->logicalDotsPerInch() / 96.0; 当使能了缩放适配后&#xff0c;logicalDotsPerInch 值就不…...

Spring MVC控制层框架

三、Spring MVC控制层框架 目录 一、SpringMVC简介和体验 1. 介绍2. 主要作用3. 核心组件和调用流程理解4. 快速体验 二、SpringMVC接收数据 1. 访问路径设置2. 接收参数&#xff08;重点&#xff09; 2.1 param 和 json参数比较2.2 param参数接收2.3 路径 参数接收2.4 json参…...

vmware安装银河麒麟V10高级服务器操作系统

vmware安装银河麒麟V10高级服务器操作系统 1、下载银河麒麟V10镜像2、VMware安装银河麒麟V10高级服务器操作系统2.1、新建虚拟机2.2、安装虚拟机 3、配置银河麒麟V10高级服务器操作系统3.1、安装vmware tools3.2、配置静态IP地址 和 dns3.3、查看磁盘分区3.4、查看系统版本 1、…...

掌握Jenknis基础概念

目录 任务&#xff08;Jobs&#xff09; 构建&#xff08;Builds&#xff09; 触发器&#xff08;Triggers&#xff09; 构建环境&#xff08;Build Environment&#xff09;&#xff1a; 插件&#xff08;Plugins&#xff09;&#xff1a; 参数化构建&#xff08;Paramet…...

AWS 知识二:AWS同一个VPC下的ubuntu实例通过ldapsearch命令查询目录用户信息

前言&#xff1a; 前提&#xff1a;需要完成我的AWS 知识一创建一个成功运行的目录。 主要两个重要&#xff1a;1.本地windows如何通过SSH的方式连接到Ubuntu实例 2.ldapsearch命令的构成 一 &#xff0c;启动一个新的Ubuntu实例 1.创建一个ubuntu实例 具体创建实例步骤我就不…...

Ubuntu 常用命令之 fdisk 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 fdisk 是一个用于处理磁盘分区的命令行工具&#xff0c;它在 Linux 系统中广泛使用。fdisk 命令可以创建、删除、更改、复制和显示硬盘分区&#xff0c;以及更改硬盘的分区 ID。 fdisk 命令的常用参数如下 -l&#xff1a;列出所…...

论文中公式怎么降重 papergpt

大家好&#xff0c;今天来聊聊论文中公式怎么降重&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff0c;可以借助此类工具&#xff1a; 论文中公式怎么降重 一、引言 在论文撰写过程中&#xff0c;公式是表达学…...

27. 过滤器

Filter(过滤器)简介 Filter 的基本功能是对 Servlet 容器调用 Servlet 的过程进行拦截&#xff0c;从而在 Servlet 进行响应处理的前后实现一些特殊的功能。在 Servlet API 中定义了三个接口类来开供开发人员编写 Filter 程序&#xff1a;Filter, FilterChain, FilterConfigFi…...

做一个wiki页面是体验HTML语义的好方法

HTML语义&#xff1a;如何运用语义类标签来呈现Wiki网页 在上一篇文章中&#xff0c;我花了大量的篇幅和你解释了正确使用语义类标签的好处和一些场景。那么&#xff0c;哪些场景适合用到语义类标签呢&#xff0c;又如何运用语义类标签呢&#xff1f; 不知道你还记不记得在大…...

金融CRM有用吗?金融行业CRM有哪些功能

市场形式波诡云谲&#xff0c;金融行业也面临着资源体系分散、竞争力后继不足、未知风险无法规避等问题。金融企业该如何解决这些问题&#xff0c;或许可以了解一下CRM管理系统&#xff0c;和其提供的金融行业CRM解决方案。 金融行业是银行业、保险业、信托业、证券业和租赁业…...

@XmlAccessorType+@XmlElement完美解决Java类到XML映射问题

前言&#xff1a; 最近项目在做静态代码扫描的时候&#xff0c;出现Java类中成员变量命名的问题&#xff0c;开头字母必须小写&#xff0c;但是这个类成员是对接其他公司的字段&#xff0c;对方提供的请求格式是XML&#xff0c;必须将Java类转化为XML的格式&#xff0c;而且这…...

软件渗透测试有哪些测试流程?权威安全测试报告的重要性

软件渗透测试也是安全测试的一种&#xff0c;是通过模拟恶意黑客的攻击方法&#xff0c;来评估计算机网络系统安全的一种评估方法。作为网络安全防范的一种新技术&#xff0c;对于网络安全组织具有实际应用价值。 一、软件渗透测试的过程   软件渗透测试的过程通常包括四个主…...

安防视频融合云平台/智慧监控平台EasyCVR如何添加验证码调用接口?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...

从零到一:小智AI嵌入式merge.bin固件制作实战解析

1. 为什么需要merge.bin文件&#xff1f; 第一次接触小智AI机器人开发的朋友可能会疑惑&#xff1a;为什么官方提供的固件是一个单独的merge.bin文件&#xff0c;而自己编译出来的却是多个分散的bin文件&#xff1f;这个问题要从嵌入式系统的启动流程说起。 想象一下电脑开机过…...

Stateflow进阶:巧用‘历史节点’与‘内部转移’,实现带记忆功能的嵌入式状态机

Stateflow进阶&#xff1a;巧用‘历史节点’与‘内部转移’&#xff0c;实现带记忆功能的嵌入式状态机 在嵌入式系统开发中&#xff0c;状态机设计往往面临一个关键挑战&#xff1a;如何在系统重启或断电后恢复之前的工作状态&#xff1f;传统解决方案通常依赖外部存储或默认状…...

如何使用铜钟音乐打造纯净无广告的个人听歌空间

如何使用铜钟音乐打造纯净无广告的个人听歌空间 【免费下载链接】tonzhon-music 铜钟 (Tonzhon.com): 免费听歌; 没有直播, 社交, 广告, 干扰; 简洁纯粹, 资源丰富, 体验独特&#xff01;(密码重置功能已回归) 项目地址: https://gitcode.com/GitHub_Trending/to/tonzhon-mus…...

户用光伏爆火却被内耗拖垮?

当下户用光伏赛道卷疯了&#xff0c;订单接到手软&#xff0c;但不少光伏公司却陷入“越忙越乱”的内耗困境。从客户咨询、签单、设计安装&#xff0c;到并网运维&#xff0c;全流程环节繁杂、信息密集&#xff0c;亟需多部门高效协同&#xff0c;可很多企业还在靠人工记录、纸…...

Linux用户管理全攻略:从创建到权限配置

1. Linux用户管理基础入门 刚接触Linux系统的朋友&#xff0c;经常会遇到这样的困惑&#xff1a;为什么有些命令普通用户不能执行&#xff1f;为什么新建的用户连基本的命令补全都没有&#xff1f;其实这些都是用户管理的问题。作为一个用了10年Linux的老鸟&#xff0c;今天我就…...

数据仓库的设计与实现:从概念到落地

数据仓库的设计与实现&#xff1a;从概念到落地 前言 作为一个在数据深渊里捞了十几年 Bug 的女码农&#xff0c;我深知数据仓库在企业数据管理中的重要性。一个好的数据仓库不仅能帮助企业整合分散的数据&#xff0c;还能为业务决策提供有力支持。今天&#xff0c;我就来聊聊数…...

网易云音乐评论爬虫实战:破解加密接口抓取数据

一、接口分析&#xff1a;找准评论数据请求入口 在抓取网易云音乐歌曲评论时&#xff0c;我们不难发现&#xff0c;页面并不会随着翻页刷新跳转&#xff0c;评论的加载属于异步AJAX请求。这类接口有一个明显特点&#xff1a;接口地址固定不变&#xff0c;分页切换完全依靠请求载…...

COMSOL 钢制支架静态分析:从建模到结果解析

comsol支架-静态分析&#xff0c; COMSOL Multiphysics 和“结构力学模块”中对结构力学问题进行建模的基本原理及操作。 介绍线性静态分析&#xff0c;包括材料属性和边界条件的定义。 在计算出解之后&#xff0c;学习如何分析结果并检查反作用力。 模型是钢制支架。 这种支架…...

团队知识协作平台:构建高效智能的文档管理系统

团队知识协作平台&#xff1a;构建高效智能的文档管理系统 【免费下载链接】outline Outline 是一个基于 React 和 Node.js 打造的快速、协作式团队知识库。它可以让团队方便地存储和管理知识信息。你可以直接使用其托管版本&#xff0c;也可以自己运行或参与开发。源项目地址&…...

【服务器】上传百度网盘数据至服务器

目录方法一&#xff1a;使用开源命令行工具 BaiduPCS-Go (最推荐)实例&#xff1a;下载网盘数据实例&#xff1a;上传服务器数据至百度网盘单个文件测试上传批量裁剪文件参考方法一&#xff1a;使用开源命令行工具 BaiduPCS-Go (最推荐) 这是目前在 Linux/Windows 服务器上最流…...