________________________________________ 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