Re: Re: [PATCH v5 08/44] drm/connector: hdmi: Add Broadcast RGB property

From: Sebastian Wick
Date: Fri Feb 09 2024 - 15:31:04 EST


On Fri, Feb 02, 2024 at 04:49:04PM +0100, Maxime Ripard wrote:
> Hi Sebastian,
>
> On Mon, Jan 15, 2024 at 03:33:08PM +0100, Sebastian Wick wrote:
> > > /**
> > > * DOC: HDMI connector properties
> > > *
> > > + * Broadcast RGB
> > > + * Indicates the RGB Quantization Range (Full vs Limited) used.
> > > + * Infoframes will be generated according to that value.
> > > + *
> > > + * The value of this property can be one of the following:
> > > + *
> > > + * Automatic:
> > > + * RGB Range is selected automatically based on the mode
> > > + * according to the HDMI specifications.
> > > + *
> > > + * Full:
> > > + * Full RGB Range is forced.
> > > + *
> > > + * Limited 16:235:
> > > + * Limited RGB Range is forced. Unlike the name suggests,
> > > + * this works for any number of bits-per-component.
> > > + *
> > > + * Drivers can set up this property by calling
> > > + * drm_connector_attach_broadcast_rgb_property().
> > > + *
> >
> > This is a good time to document this in more detail. There might be two
> > different things being affected:
> >
> > 1. The signalling (InfoFrame/SDP/...)
> > 2. The color pipeline processing
> >
> > All values of Broadcast RGB always affect the color pipeline processing
> > such that a full-range input to the CRTC is converted to either full- or
> > limited-range, depending on what the monitor is supposed to accept.
> >
> > When automatic is selected, does that mean that there is no signalling,
> > or that the signalling matches what the monitor is supposed to accept
> > according to the spec? Also, is this really HDMI specific?
> >
> > When full or limited is selected and the monitor doesn't support the
> > signalling, what happens?
>
> Leaving the YCbCr vs RGB discussion aside, would this be better ?

Yes, it is. Thanks.

We do have to resolve the YCbCr vs RGB issue though.

> * Broadcast RGB (HDMI specific)
> * Indicates the Quantization Range (Full vs Limited) used. The color
> * processing pipeline will be adjusted to match the value of the

Ah, another thing no note here is that the CRTC as configured by user
space must always produce full range pixels.

> * property, and the Infoframes will be generated and sent accordingly.
> *
> * The value of this property can be one of the following:
> *
> * Automatic:
> * The quantization range is selected automatically based on the
> * mode according to the HDMI specifications (HDMI 1.4b - Section
> * 6.6 - Video Quantization Ranges).
> *
> * Full:
> * Full quantization range is forced.
> *
> * Limited 16:235:
> * Limited quantization range is forced. Unlike the name suggests,
> * this works for any number of bits-per-component.
> *
> * Property values other than Automatic can result in colors being off (if
> * limited is selected but the display expects full), or a black screen
> * (if full is selected but the display expects limited).
> *
> * Drivers can set up this property by calling
> * drm_connector_attach_broadcast_rgb_property().
>
> Thanks!
> Maxime