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]