Http://blog.csdn.net/hevc_cjl/article/details/8169182
First, download the test model. The link address is listen 9.0, which can be selected based on your actual needs. Note that SVN is required for downloading, such as tortoisesvn in windows.
Secondly, it is best to download HM's reference software manual, that is, the reference software manual. The main content of this manual includes HM's and usage methods. More importantly, it contains a detailed explanation of the parameters in the configuration file, which can be said to be a required manual for using HM.
Finally, compile the HM project. In the running environment, you can use makefile in Linux to compile hm, or use ide such as Vs to compile HM in windows. I personally use vs2008 as the development environment. Therefore, we only use vs to compile HM here. For more information about how to proceed in Linux, see the software manual mentioned above.
Open the downloaded HM folder and store the project in the build directory. The project name is hm_vc9 (for vs2008 ). Right-click "solution 'hm _ vc9' (7 projects)"-> "build SOLUTION ". Normally, wait for a moment until all the projects are correctly compiled and the bin directory is generated in the HM folder. In the XXX \ bin \ vc9 \ Win32 \ DEBUG directory, two executable files are generated at the end, tappencoder.exeand tappdecoder.exe, ask the encoding and decoding executable files separately. This step indicates that your previous steps are correct. Next, you can use the decoder.
Encoder usage first: Right-click "tappencoder"-> "set as startup project", and then, right-click "tappencoder"-> "properties"-> "configuration properties"-> "debugging". In the pop-up right window, there are two lines that need attention: "Command arguments" and "working directory ". The former is used to input command parameters during running, and the latter is used to specify the working directory of the project. First, set the working directory to XXX \ bin \ vc9 \ Win32 \ debug, which is the absolute path of the executable file compiled in the previous step. Next, for convenience, we can copy the configuration file and YUV test sequence to this directory. Different from JM, we need to use at least two configuration files, that is, a configuration file in the cfg directory of the HM folder, such as encoder_intra_main.cfg, and a configuration file under the per-sequence directory, such as basketballdrill. cfg. The former is mainly used to configure the encoding parameters of the encoder, and the latter is mainly used to specify the input YUV test file, resolution, number of frames to be encoded, and so on. After completing the preceding steps, enter-C encoder_intra_main.cfg-C basketballdrill in the "command arguments" column. CFG indicates that the encoder uses the parameters specified by these two configuration files for encoding.
In addition, it is worth mentioning that using the configuration file is not necessary. We can also specify the parameters of the encoder using command line-only input, see the software manual. In some specific cases, such as modifying a few parameter values, this command line-only method is more convenient. However, in this way, it is easy to miss the setting of some parameter values (although they have default values), and it is much easier to modify the configuration file for multiple parameters. Therefore, we recommend that you use the previous method for setting.
After the preceding configuration, the encoder can encode your specified YUV test file as a binary code stream file.
Besides, the decoder is used. It is exactly the same as the encoder before "command arguments" is entered. The input command is-B XXX. bin-O deco. YUV,-B specifies the input binary code stream, that is, the encoding output code stream file, and-O specifies the output YUV file. After the configuration is complete, run the decoder to decode the Deco. YUV file.
At this point, the simple HM usage has been introduced. You are welcome to add and specify the things and errors in this article.
(For more information, see the source .)
Hevc Learning (1) -- Use of HM