Getting and Compilation (in Windows)
Running MPEG-5 EVC encoder (xeveb_app.exe)
Getting and Compilation of MPEG-5 Decoder (in Windows)
Encoder
MPEG-5 EVC is tailored for 8K encoding.
Getting and Compilation (in Windows)
Sources of MPEG-5 EVC encoder are free. It’s worth noticing that MPEG-5 EVC consists of two profiles: Baseline and Main. The Baseline profile contains technologies that are older than 20 years and consequently are patent-royalty free.
To get sources of MPEG-5 EVC are copied in created folder mpeg5-xeve
git clone https://github.com/mpeg5/xeve.git mpeg5-xeve
Upon getting MPEG-5 EVC you should perform the following steps:
1) go to mpeg5-xeve
2) mkdir build – create the folder ‘build’
3) go to the folder ‘build’ (‘cd build’)
4) use cmake to get Visual Studio solution (x64, Baseline Profile), i use Visual Studio 2019:
cmake .. -G “Visual Studio 16 2019” -DCMAKE_GENERATOR_PLATFORM=x64 -DSET_PROF=BASE
As result Visual Studio solution ‘XEVE.sln‘ is created in the folder ‘build’, open this solution, set Release mode (by default Debug mode is set) and build the whole solution.
5) The exe-file xeveb_app.exe is created in the folder mpeg5-xeve\build\bin\Release
Running MPEG-5 EVC encoder (xeveb_app.exe)
Selected command-line parameters (to get the full list of parameters run xeveb_app.exe without arguments):
-v verbose level (default 2)
– 0: no message
– 1: only error message
– 2: simple messages
– 3: frame-level messages
-i file name of input video (raw YUV or Y4M)
-o file name of output bitstream
-w pixel width of input video
-h pixel height of input video
-q QP value (0~51), default 32
-z frame rate
-I I-picture period, default 0, i.e. no I-pictures
-b maximum number of B frames (1,3,7,15), default 15.
-m force to use a specific number of threads, default 1.
--preset
encoder presets [fast, medium, slow, placebo], default medium
--tune
encoder tuning [psnr, zerolatency, none], default none
--aq-mode
use adaptive quantization block qp adaptation, default off
– 0: off
– 1: adaptive quantization
--frames
maximum number of frames to be encoded, if 0 then all frames in the input file are encoded, default 0
Example: [yuv420p@60fps, frame-level verbose, GOP size = 60 frames ]
xeveb_app.exe -i battlefield_384x320.yuv -w 384 -h 320 -v 3 -z 60 -I 60 -b 1 --preset fast --tune zerolatency --aq-mode 1 -o battlefield.evc
=== Stat =======================================================================
POC Tid Ftype QP PSNR-Y PSNR-U PSNR-V Bits EncT(ms)
================================================================================
0 0 (I) 31 35.6325 41.7040 43.3383 84472 125
1 0 (P) 39 32.3590 42.2876 44.7300 9048 63
2 0 (P) 39 32.1167 43.0716 45.2677 2560 47
3 0 (P) 39 31.7594 43.3307 45.5910 3040 32
4 0 (P) 39 33.3986 43.4300 45.9359 4984 46
5 0 (P) 39 34.8044 43.7491 45.9404 2608 31
6 0 (P) 39 35.4834 43.9695 46.5258 1400 47
7 0 (P) 39 35.3382 44.0734 46.4045 2088 31
8 0 (P) 39 35.4707 44.1781 46.5278 1096 32
….
Decoder
Getting and Compilation of MPEG-5 Decoder (in Windows)
To get sources of MPEG-5 EVC decoder
git clone https://github.com/mpeg5/xeve.git mpeg5-decoder
Upon getting MPEG-5 EVC you should perform the following steps:
1) go to mpeg5-decoder
2) mkdir build – create the folder ‘build’
3) go to the folder ‘build’ (‘cd build’)
4) use cmake to get Visual Studio solution (x64, Baseline Profile), i use Visual Studio 2019:
cmake .. -G “Visual Studio 16 2019” -DCMAKE_GENERATOR_PLATFORM=x64 -DSET_PROF=BASE
As result Visual Studio solution ‘XEVD.sln‘ is created in the folder ‘build’, open this solution, set Release mode (by default Debug mode is set) and build the whole solution.
5) The exe-file xevdb_app.exe is created in the folder mpeg5-decoder\build\bin\Release\
Running Decoder
you can get output files in two formats raw yuv420p and y4m:
xevdb_app.exe -i battlefield.evc -o battlefield_384x320.yuv
xevdb_app.exe -i battlefield.evc -o battlefield.y4m
play yuv-file with ffplay:
ffplay -framerate 60 -s 384×320 battlefield_384x320.yuv
to play y4m there is no sense to specify the resolution and the frame rate, these parameters already hidden in y4m headers.
ffplay battlefield.y4m
23+ years’ programming and theoretical experience in the computer science fields such as video compression, media streaming and artificial intelligence (co-author of several papers and patents).
the author is looking for new job, my resume