I am assuming a Linux based environment here.
If otherwise, please download Microsoft Visual Studio and follow the instructions available here.
Setting up HEVC HM on your computer-
- Download HEVC HM from the svn repository using this command:
- Build the project by traversing to this directory: /trunk/build/linux and executing the following command:
sudo make release
If everything builds successfully, you should have TAppEncoder and TAppDecoder executables available in the /trunk/bin directory.
- The HEVC encoder requires three inputs:
- Uncompressed (raw) YUV or Y4M input file: Download a raw YUV file from here to test the encoder.
- A codec configuration file: Available in cfg directory. This file can be tweaked according to compression level required.
- A sequence-specific configuration file: Sequence specific configuration files are available in folder /trunk/cfg/per-sequence. You should customise one of these files based on the input sequence.
- Final execution command to start the encoding process is(executed inside bin):
sudo ./TAppEncoderStatic -c ../cfg/encoder_randomaccess_main.cfg -c ../test/Beauty.cfg -i ../test/Beauty.yuv
- After the encoding process, you can play the final file using mplayer. Switch to the directory with the output yuv file and execute this command:
$ mplayer -demuxer rawvideo -rawvideo w=1920:h=1080:format=i420 Beauty.yuv
- The file can be decoded using the TAppDecoderStatic command
$ sudo ./TAppDecoderStatic -b str.bin -o Decompressed.yuv
Understanding the binary functionalities
TAppEncoderStatic- Encodes the given yuv file
TAppDecoderStatic- Decodes the bin file to produce the desired output yuv file
TAppDecoderAnalyzerStatic- Decodes the bin file, prints all analysis data to the prompt and produces desired output yuv file