[Intel-gfx] AVI infoframes: default aspect ratio/VIC for CEA modes

Gohad, Tushar tushar.gohad at intel.com
Thu Nov 21 00:45:03 CET 2013


> > On Wed, Nov 20, 2013 at 09:48:26PM +0000, Gohad, Tushar wrote:
> > > Folks,
> > >
> > > When filling in an HDMI AVI infoframe, how does
> > > one correctly determine the "default" picture aspect ratio (and VIC)
> > > for CEA modes that support multiple (4:3 and 16:9) aspect ratios.
> > > 720x576p for example, corresponds to VIC 17 or 18:
> > >
> > >         /* 17 - 720x576 at 50Hz */
> > >         { DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 27000, 720,
> 732,
> > >                    796, 864, 0, 576, 581, 586, 625, 0,
> > >                    DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
> > >           .vrefresh = 50, },
> > >         /* 18 - 720x576 at 50Hz */
> > >         { DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 27000, 720,
> 732,
> > >                    796, 864, 0, 576, 581, 586, 625, 0,
> > >                    DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
> > >           .vrefresh = 50, },
> > >
> > > Should the "picture aspect ratio" information be derived from sink
> > > EDID (from detailed/cvt/standard timings)? .. possibly in
> > > drm_add_edid_modes() and store the picture aspect ratio in
> > > drm_display_mode perhaps, for later use?  Trying to get a better
> > > understanding of how this usually works.
> >
> > Oh no! someone finally discovered it! Yes, we are totally missing the
> > picture aspect ratio information from the CEA modes. It's been on my
> > TODO list for a couple of month but not exactly high priority. If we
> > want to get a stab a it, we'll review the patches :)

Thanks Damien.  Sure, I can come up with something quick.  Is the idea then to store aspect ratio information in drm_display_mode, possibly as a separate member or as a hint that's part of mode->flags?

> 
> I realized that I did not actually answer the question. The CEA modes come
> with their defined aspect ratio, it's part of the CEA 861 standard.
> In this case VIC 17 is 4:3, VIC 18 is 16:9.
> 

I understand the VIC/aspect ratio correlation, however in order to set the VIC correctly, don't we need to first determine the picture aspect ratio?  My question really is, how do we "select" the aspect ratio for the ambiguous cases, such as 720x576 which neither truly 4:3 nor 16:9?  

Section 7.2.2 of CEA-861-D spec reads -

"7.2.2 Order of Dual-Aspect Ratio Detailed Timing Descriptors 
Source devices that do not support the AVI InfoFrame (e.g., DVI sources) shall consider the first EDID 
descriptor of any dual-aspect ratio timing to be the display-assumed aspect ratio for that timing ..."

How do we figure out the "display-assumed aspect ratio"?


I see that "drm_add_edid_modes()" enumerates detailed, CVT, standard, established, CEA modes.  Should picture aspect ratio determination be a part of that process, based on the EDID info?


Cheers,
Tushar



More information about the Intel-gfx mailing list