[FFmpeg-devel] [PATCH v7 1/2] lavc/svt_hevc: add libsvt hevc encoder wrapper.

Sun, Jing A jing.a.sun at intel.com
Wed Mar 13 05:40:44 EET 2019


Hi Giovara,

SVT HEVC has the interface to enable/disable sending a vui structure in the HEVC bitstream, but supports no interface for setting the color properties before encoding yet. I will be opening an issue in SVT HEVC github asking if they have plans to add such feature, and will keep you posted. In the meantime, I think it is not blocking the first version of this plugin’s merging , is it?

VideoUsabilityInfo

Enables or disables sending a vui
structure in the HEVC Elementary
bitstream. 0 = OFF, 1 = ON


Regards,
SUN, Jing

From: Vittorio Giovara [mailto:vittorio.giovara at gmail.com]
Sent: Monday, March 11, 2019 10:50 PM
To: Sun, Jing A <jing.a.sun at intel.com>
Cc: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>; Huang, Zhengxu <zhengxu.huang at intel.com>; Tmar, Hassene <hassene.tmar at intel.com>
Subject: Re: [FFmpeg-devel] [PATCH v7 1/2] lavc/svt_hevc: add libsvt hevc encoder wrapper.



On Mon, Mar 11, 2019 at 12:50 AM Sun, Jing A <jing.a.sun at intel.com<mailto:jing.a.sun at intel.com>> wrote:
I just searched my inbox again but failed to find that email of question you mentioned.

Yeah I often see my mail bounced with this message:

Address not found
Your message wasn't delivered to jun.zhao at intel.com<mailto:jun.zhao at intel.com> because the address couldn't be found, or is unable to receive mail.


For reference this was the message on the mailing list https://ffmpeg.org/pipermail/ffmpeg-devel/2019-March/240663.html

Could you please elaborate your request? What is the preservation for and how is it expected to work?

Yes of course, when you encode an HEVC stream you should be able to signal how the color properties of the video buffers should be rendered. This is usually conveyed with three parameters, the matrix coefficients, the color primaries and the transfer characteristics. Without such information, the data stored in the video may be interpreted differently and often incorrectly by modern video players, causing image degradation, wrong rendering and off colors.

For HEVC they are usually expressed in the stream itself, under the VUI, and it is kinda expected that modern encoder allow to set them to any of the applicable values.
In ffmpeg-land, they are represented by the colorspace, color_primaries and color_transfer options in AVCodecContext and carried over through the whole video processing.
--
Vittorio


More information about the ffmpeg-devel mailing list