免費企業(yè)推廣網(wǎng)站網(wǎng)站開發(fā)工程師
VTM介紹
VTM作為H266/VVC標(biāo)準(zhǔn)的官方參考軟件,一直用作H266/VVC標(biāo)準(zhǔn)的研究和迭代。關(guān)于H2666/VVC標(biāo)準(zhǔn)的介紹、代碼、提案、文檔等,可以參考H266/VVC編碼標(biāo)準(zhǔn)介紹。
官方代碼地址:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM(最新)
git 鏡像地址:
https://github.com/yanceyxin/VVCSoftware_VTM (非最新)
H266/VVC標(biāo)準(zhǔn)化歷程:
時間 | 事件 |
---|---|
2015年10月 | VCEG和MPEG再次組建聯(lián)合視頻探索小組JVET,開發(fā)JEM參考平臺 |
2015年10月-2017年7月 | 針對SDR,多個提案,JEM 7個版本不斷演進 |
2016年10月-2017年10月 | 支持AR和VR,研究了360度全景編碼技術(shù),簡歷360Lib參考軟件平臺 |
2017年10月 | 共同發(fā)布新一代視頻編碼標(biāo)準(zhǔn)的技術(shù)征求書,應(yīng)用到4K、16K,甚至HDR、360度全景視頻、屏幕內(nèi)容編碼 |
2018年4月 | 32家單位提交23份提案,最佳性能比H265的參考軟件HM提升40%以上的編碼效率,JVET將下一代標(biāo)準(zhǔn)命名VVC,建立第一版VV測試模型VTM-1.0 |
2018年-2020年7月 | JVET召開10次會議討論6000多份技術(shù)提案,VTM性能得到大幅度提升 |
2019年7月 | JVET發(fā)布委員會草案CD,確定VVC的主體編碼框架和編碼工具 |
2019年10月 | JVET發(fā)布了國際標(biāo)準(zhǔn)草案DIS,標(biāo)準(zhǔn)進入關(guān)鍵階段 |
2020年7月1日 | 19次JVET會議確定VVC第一版本,ITU-T命名為H266,ISO/IEC批準(zhǔn)VVC成為FDIS,H266/VVC標(biāo)準(zhǔn)正式形成 |
目前中國的公司參與制定標(biāo)準(zhǔn)越來越多,在國際視頻標(biāo)準(zhǔn)化的舞臺上扮演著越來越重要的角色。
編譯過程
源碼下載:
git clone git@github.com:yanceyxin/VVCSoftware_VTM.git
用VScode打開源碼:
打開README,里面有關(guān)于編譯相關(guān)的說明??梢钥炊幾g依賴cmake工具鏈。
cmake安裝:
安裝cmake有兩種方法,一種直接官方下載安裝,另外一種利用PowerShell命令行安裝。
官網(wǎng)下載:
PowerShell命令行:winget install cmake
。
安裝完cmake之后,在PowerShell里輸入cmake命令
,出現(xiàn)如下截圖,則表示安裝成功。
在VTM源碼目錄新建build文件:
安裝README中編譯說明,先新建build目錄,方便后期放置編譯生成文件。
mkdir build
camke生成sln文件:
通過cmake生成sln命令,即可在build目錄里生成sln文件。
命令:
cmake -G "Visual Studio 17 2022" -S ./ -B ./build
出現(xiàn)如下截圖,表示生成成功。
至此,在build目錄里已經(jīng)出現(xiàn)NextSoftware.sln文件,用Visual Studio 2022打開進行編譯。
Visual Studio 2022編譯VTM:
點擊“生成(B)” ---- “生成解決方案(B)”,之后等待一段時間。
輸出窗口出現(xiàn)生成:16 成功, 0 失敗, 0 最新, 1 已跳過
,則表示VTM編譯成功。
查看編譯生成文件:
可執(zhí)行程序和庫文件。
可執(zhí)行程序: 在\bin\vs17\msvc-19.38\x86_64\debug目錄下生成幾個可執(zhí)行程序和對應(yīng)的pdb。
庫文件: 在\lib\vs17\msvc-19.38\x86_64\debug目錄下生成幾個lib庫文件和對應(yīng)的pdb文件。
至此,VTM就完成了生成Visual Studio 工程,可以進行下一步的源碼學(xué)習(xí)和調(diào)試分析。
參考
- H266/VVC編碼標(biāo)準(zhǔn)介紹
- https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM