Skip to content

VVC support, Target VMAF from Rav1e, SVT-AV1, VPX

Compare
Choose a tag to compare
@master-of-zen master-of-zen released this 24 Jul 09:54
· 1308 commits to master since this release

VVC support

NOTE: VVC is not yet finalized, and at the stage of test model so it can crash/don't work/behave strangely.

  • Added experimental VVC support
  • Temp YUV files created at the start of encoding for the segment, and removed after.
  • Concatenation to VVC bitstream is done by parcatStatic from VVC repository.


Usage

The encoding requires compiled encoder, bitstream concatenator, config_file from the VVC repository.

  • EncoderAppStatic and parcatStatic must be named vvc_encoder, vvc_concat, and placed in the directory from where they can be reachable, the same directory or somewhere in PATH. Place the chosen config file for the encoder in encoding folder.

  • Encoder set to VVC by -enc vvc

  • Config file passed to Av1an by --vvc_conf CONFIG_FILE

  • Required video encoding parameters:
    -wdt X - video width
    -hgt X - video height
    -fr X - framerate
    -q X - quantizer
    Example: -v " -wdt 640 -hgt 360 -fr 23.98 -q 30 "

  • After encode is done output file with extension .h266 will created
    It can be decoded to .yuv with VVC compliled decoder :
    DecoderAppStatic -d 8 -b encoded.h266 -o output.yuv
    Keep in mind that encoding time is excessive

Target VMAF for Rav1e, SVT-AV1, VPX

  • min_cq max_cq changed to min_q ,max_q
  • Default min_q max_q are set based on encoder.
  • Encoders must be in mode that requires setting quantizer. (--crf, --cq-level, --quantizer etc)

Examples:

Changed default passes for encoders

svt_av1: 1 
rav1e:   1
aom:    2
vpx:     2
x265:    1 
vvc:    1

Also, default encoding settings changed accordingly