- xin26x is a real time video encoder library, it supports vvc. The bitstream generated by xin26x is compatible with vtm 10: https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/releases/VTM-10.0
xin26x_test.exe -i input.yuv -w 1280 -h 720 -f 30 -a 2 -p 1 -r 1 -b 2000000 -o test.bin
xin26x_test.exe -i input.yuv -w 1280 -h 720 -f 30 -a 2 -p 1 -r 0 -q 32 -o test.bin
- Our Windows build use CMake and Visual Studio. The workable version is CMake3.5 or above and Visual Studio 2013.
- Run make-solutions.bat under build folder, building projects will be generated under this folder.
- In addition, we put a pre-built win64 exe under folder testbin, you can run it on win64 without build.
-i/--input
which specifies input YUV file name. Currently we accept YUV 420 video format.
-a/--algmode
which specifies algorithm mode. 0: H265 1: AV1 2: H266
-w/--width
which specifies input YUV luma width.
-h/--height
which specifies input YUV luma height.
-f/--framerate
which specifies the frame rate of the input video.
-t/--temporallayer
which specifies temporal layer number. It works under all P frame sequence.
-p/--preset
which specifies the encoding preset, trading off compression efficiency against encoding speed. 0: veryfast, 1: fast, 2: medium, 3: slow 4: veryslow.
-o/--output
which specifies output bitstream file name. The output file accord with HEVC annex B specification.
-R/--recon
which specifies reconstruction YUV file name. It is not a must input parameter.
-r/--ratecontrol
which specifies rate control mode. 0: rate control is off (fixed qp), 1: cbr.
-b/--bitrate
which specifies target bitrate. It works under rate control is on.
-q/--qp
which specifies quantization paramter. It works under rate control is off.
-n/--framenumber
which specifies how many frames to be encoded.
-B/--bframes
which specifies how many B frames in a gop. Currently, we support 1, 3 and 7.
-W/--wpp
which specifies whether wavefront parallel processing is enabled. 0: disable 1: enable.
-P/--fpp
which specifies whether frame parallel processing is enabled. 0: disable 1: enable.
-T/--thread
which specifies thread number in thread pool. It is decided by local system if this number is 0.
--refframes
which specifies how many frames is used for reference.
--signbithide
which specifies whether sign bit hidden coding tool is used in encoder. 0: off 1: on.
-d/--rdoq
which specifies whether rate distortion optimization quantization is enabled. 0: disable 1: enable.
Please refer to xin_app_enc.c.
- Intel x86 optionally with AVX2
- Some of subrouines only have AVX2 optimization version, so please run on AVX2 computer to have best performance.
- Max resolution we support is 3860x2160.
- Max temporal layer we support is 3.
The speed and compression efficiency of VVC encoder will increase dramatically in following months. Any question, please contact [email protected]