Tuesday, July 10, 2012

NVidia Custom Video Timing, Modeline, and EDID

NVidia Custom Video Timing

With NVIDIA Control Panel, users can specify custom resolutions which allow end users to the ultimate flexibility to add virtually any resolution and refresh for their display. The following screen capture image shows the setting UI.

When timing standard is set to manual, a custom video timing can be specified.

According to the wikipedia, the front porch is a brief (about 1.5 microsecond) period inserted between the end of each transmitted line of picture and the leading edge of the next line sync pulse. Its purpose was to allow voltage levels to stabilise in older televisions, preventing interference between picture lines. The front porch is the first component of the horizontal blanking interval which also contains the horizontal sync pulse and the back porch.

The back porch is the portion of each scan line between the end (rising edge) of the horizontal sync pulse and the start of active video. It is used to restore the black level (300 mV.) reference in analog video. In signal processing terms, it compensates for the fall time and settling time following the sync pulse.

Therefore the horizontal blanking width is the summation of front porch, sync width and back porch. If want to find the back porch from Nvidia custom resolution setting in the above figure, the back porch = Total pixels - Active pixels - Front porch - Sync width. 


A modeline is a configuration line in xorg.conf or the XFree86 configuration file (XF86Config) that provides information to the X server about a connected computer monitor or television and how to drive it at a specified display resolution. 

Modeline "String Description" 


  • Horizontal resolution  H1=Horizontal Front Active
  • Horizontal sync start  H2=H1+Horizontal Front Porch
  • Horizontal sync end   H3=H2+Horizontal Sync Width
  • Horizontal total         H4=H3+Horizontal Back Porch 
  • Vertical  resolution    V1=Vertical Front Active 
  • Vertical sync start     V2=V1+Vertical Front Porch  
  • Vertical sync end      V3=V2+Vertical Sync Width  
  • Vertical total            V4=V3+Vertical Back Porch                                 
  • HP=Horizontal Sync Polarity [-hsync/+hsync]                                 
  • VP=Vertical Sync Polarity [-vsync/+vsync]

So a modeline settings can be calculated from a Nvidia custom resolution setting.


(Extended display identification data) is a data structure provided by a digital display to describe its capabilities to a video source (e.g. graphics card or set-top box).

The detail description of EDID can be obtained from a modeline. For example, a modeline,

Modeline "1024x768" 54.500 1024 1048 1184 1344 768 771 777 806 -hsync -vsync

Resulted EDID settings are

Validating Mode "1280x768":
  1024 x 768 @ 50 Hz
  Mode Source: EDID
    Pixel Clock      : 54.50 MHz
    HRes, HBlankSize : 1024, 320
    HSyncOffset, HSyncSize : 24, 136
    VRes, VBlankSize : 768, 38
    VSyncOffset, VSyncSize : 3, 6
    H/V Polarity     : -/-
  Mode is valid.

No comments:


Blog Archive

About Me

My photo
HD Multimedia Technology player