FFmpeg decoder

V-Nova LCEVC FFmpeg decoder commands

The V-Nova LCEVC decoder can be used similarly to other codecs in FFmpeg or FFplay, with one important difference. The enhancement layer is embedded as metadata in a fully compliant and backward compatible H.264/AVC or H.265/HEVC elementary stream. Therefore, the decoder must be instructed to extract and decode LCEVC data.

The command line to enable V-Nova LCEVC decoding of an LCEVC-enhanced transport stream or MP4 file, is as follows:

ffmpeg.exe -vcodec lcevc_h264 -i stream.ts -vcodec rawvideo output.yuv

ffmpeg.exe -vcodec lcevc_h264 -i stream.mp4 -vcodec rawvideo output.yuv

The equivalent command line for HEVC is:

ffmpeg.exe -vcodec lcevc_hevc -i stream.ts -vcodec rawvideo output.yuv

ffmpeg.exe -vcodec lcevc_hevc -i stream.mp4 -vcodec rawvideo output.yuv

And for FFplay, h.264 and HEVC respectively:

ffplay.exe -vcodec lcevc_h264 -i stream.mp4

ffplay.exe -vcodec lcevc_hevc -i stream.mp4

Decoding to perform Objective evaluation

To perform objective metric calculations when dithering is enabled in LCEVC encoding, dithering must be disabled as follows:

ffmpeg.exe -vcodec lcevc_h264 -disable_dithering 1 -i stream.mp4 -vcodec rawvideo output.yuv

To calculate metrics, the command line is similar to that of other codecs in FFmpeg, in line with guidelines included at the following link, and as shown in the following command line:

https://github.com/Netflix/vmaf/blob/master/resource/doc/libvmaf.md

ffmpeg.exe -vcodec lcevc_h264 –i input_stream.ts -vcodec rawvideo -s 1920x1080 -i reference_yuv.yuv -filter_complex " [0:v]scale=1920x1080:flags=bicubic[main];[main][1:v]libvmaf" -f null

Last updated

Was this helpful?