RE: [PATCH v2 2/2] i915: content-type property for HDMI connector

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



________________________________________
From: Hans Verkuil [hverkuil@xxxxxxxxx]
Sent: Wednesday, April 18, 2018 3:35 PM
To: Lisovskiy, Stanislav; dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 2/2] i915: content-type property for HDMI connector

>> Is the ITC bit set in the AVI InfoFrame? The content type bits are only valid if
>> the ITC bit is 1. And if there is no content type property, then ITC should be 0.
>
> That's a good question, as I understood it is not set, however the HDMI 1.4 spec
> says:
>
> ITC CN1, CN0     Content Type
>  0        0,  0          No Data
>
>  1        0,  0          IT content
>
>  X       0,  1          Photo
>  X       1,  0          Cinema
>  X       1,  1          Game
>
> "X denotes don't care"
>
> So I wonder, should I probably add additional property to control the itc bit?

> Yeah, that's wrong in the HDMI Spec. The correct standard to use is the CEA (now CTA)
> 861. There it clearly defines that the CN bits are only valid if ITC=1.

> I know, I'm in the CTA-861 working group :-)

> I don't think anyone ever noticed this bug in the HDMI spec before (I didn't). The
> 2.1 HDMI spec kind of corrects it in Appendix G.1 where it copies the CTA-861-G
text.

> Anyway, in V4L2 we implement this with an extra value "NO_ITC" which sets ITC to 0
> and sets CN0 and CN1 to 0 as well:

> https://hverkuil.home.xs4all.nl/spec/uapi/v4l/extended-controls.html#digital-video-control-ids

> The NO_ITC case is usually used for YCbCr video encoding. Note that most displays will
> just ignore the content type.

Wow, I wouldn't even assume that this spec is wrong. Probably then I need to add some way 
to manipulate an ITC bit also. I will have a look, however so far I didn't see any property responsible
for this. 

>
>>       /* TODO: handle pixel repetition for YCBCR420 outputs */
>>       intel_write_infoframe(encoder, crtc_state, &frame);
>>  }
>> @@ -2065,6 +2067,7 @@ intel_hdmi_add_properties(struct intel_hdmi *intel_hdmi, struct drm_connector *c
>>       intel_attach_force_audio_property(connector);
>>       intel_attach_broadcast_rgb_property(connector);
>>       intel_attach_aspect_ratio_property(connector);
>> +     drm_connector_attach_content_type_property(connector);
>>       connector->state->picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
>>  }
>>
>>
>
> Regards,
>
>         Hans
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux