Tutorial: Generate Microsoft Visual Studio Solution for VTM+360Lib— 360-Degree Video Using VVC Codec (Video Coding)
360-Degree Videos are supported in Versatile Video Coding (VVC), which is a newly developing codec by Joint Video Expert Team (JVET)
--
This tutorial involves the steps to generate the Microsoft Visual Studio Solution for the reference software of Versatile Video Coding (VVC) plus the support of 360-degree video library, i.e. VTM (VVC Test model) + 360 Library. In particular, the version right now is VTM-5.0 + 360Lib-9.1. Let’s get started. (Sik-Ho Tsang @ Medium)
Outline
- Download the VVC Codec
- Download the 360 Library
- Generate Visual Studio Solution Using CMake GUI
1. Download the VVC Codec
- Go to https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM
- Choose “Repository > Tags” at the left to find VTM-5.0 (or the latest version of VTM).
- Click “Download Zip” to download.
- Unzip it.
2. Download the 360 Library
- Go to https://jvet.hhi.fraunhofer.de/svn/svn_360Lib/tags/
- Click “360Lib-9.1” (or the latest version of 360Lib).
- Copy the path, e.g. “https://jvet.hhi.fraunhofer.de/svn/svn_360Lib/tags/360Lib-9.1/”.
- Install TortoiseSVN if you do not have it.
- Create a folder, e.g. “360Lib-9.1” to prepare downloading the source.
- Right click to explore the context menu. Choose “TortoiseSVN” > “Export..”
- Make sure the URL of repository is the one you have just copied. Click “OK” to download.
- After finished downloading, click “OK”.
- The source has been downloaded. You may zip it as a backup.
- Now, we got two sources, one is VVC. One is 360Lib. We need to combine them to form a 360-degree VVC codec.
3. Generate Visual Studio Solution Using CMake GUI
- There are two files in the 360Lib, “360Lib-9.1_README.txt” and “360Lib-CMakeReadme.txt” about the generation of solution.
- First, follows “360Lib-9.1_README.txt” to copy the files from 360Lib to VVC.
- There may be differences depending on the versions.
copy ./{360Lib}/source/Lib/Lib360 to ./{VTM}/source/Lib/
copy ./{360Lib}/source/Lib/AppEncHelper360 to ./{VTM}/source/Lib/
copy ./{360Lib}/source/App/utils/App360Convert to ./{VTM}/source/App/utils/
copy ./{360Lib}/cfg-360Lib to ./{VTM}/
- where {360Lib} and {VTM} are the paths of 360Lib and VTM respectively.
- Actually, in the above text files, there are tutorials teaching us using CMake to generate solution in MS Visual Studio, as well as CMake in Xcode and Linux. There is a way to generate the VS solution using command prompt. This time, we use CMake GUI.
- Download and Install CMake from https://cmake.org
- Create the folder “build” in the VTM root directory
- Open “CMake (cmake-gui)”, Enter the VTM root directory as source path, and the VTM build directory as build path, then click “Configure”, as below:
- A prompt asking about the Visual Studio version comes up:
- It depends on the Visual Studio version you have, as well as the version supported by the codec.
- In my case, I choose “Visual Studio 15 2017 Win64”, then click “Finish”.
- After that, it becomes:
- Depending on the settings you want to enable, like WPP, 360, the relevant boxes should be checked.
- This time, we check “EXTENSION_360_VIDEO”.
- Then, build a VVC without anything enabled. Click “Generate”.
- “Generating done” should be shown.
- There should be “NextSoftware360.sln” in “build” folder. We can use Visual Studio to open it.
My Previous Tutorials
Linux [Ubuntu Installation] [NVIDIA Driver Installation] [OpenSSH Installation] [Hard Drive Partitioning/Formatting/Mounting] [Add 1 More GPU] [TeamViewer Installation]
Docker [Docker Installation] [Pulling Image] [Running Image] [Exporting/Saving Image] [Nvidia-Docker 2.0 Installation]
Caffe [Image Classification] [Handwritten Digit Classification] [Style Recognition]
Video Coding [Generate VTM Solution] [Generate HM+360 Solution] [Generate VTM+360 Solution]