Video Processor Module

32579B

7.2.3.1YUV to RGB CSC in Video Data Path

If the video data is in the YUV color space and RGB mix- ing/blending is desired, this CSC must be enabled. The CSC_FOR_VIDEO bit, F4BAR0+Memory Offset 4Ch[10], controls this CSC.

YUV video data is passed through this CSC to obtain 24-bit RGB data using the following CCIR-601-1 recommended formula:

R = 1.1640625(Y – 16) + 1.59375(V – 128)

G = 1.1640625(Y – 16) – 0.8125(V – 128) – 0.390625(U – 128)

B = 1.1640625(Y – 16) + 2.015625(U – 128)

The CSC clamps inputs to prevent them from exceeding acceptable limits.

7.2.3.2Gamma Correction

Either the video or graphics data can be routed through an integrated palette RAM for Gamma correction. There are three 256-byte RAMs, one for each color component value. Gamma correction supported in the YUV or RGB color space for the video data and RGB color space for the graphics data. Gamma correction is accomplished by treat- ing each color component as an address into each RAM. The output of the RAM is the new color. A simple RGB Gamma correction example is to increase each color com- ponent by one. The address 00h in the RAMs would con- tain the data 01h. The address 01h would contain the data 02h and so on. This would have the effect of increasing each original Red, Green, and Blue value by one.

G_V_GAMMA, F4BAR0+Memory Offset 04h[21] selects which data path (video or graphics) to send to the Gamma correction block. GAMMA_EN, F4BAR0+Memory Offset 28h[0] enables the Gamma correction function. To load the Gamma correction palette RAM, use F4BAR0+Memory Offset 1Ch and 20h.

7.2.3.3RGB to YUV CSC

The RGB to YUV CSC serves two options: YUV blending (TV output mode only) and RGB blending (TV, CRT, and TFT output modes). Through several multiplexers, this CSC is used to convert the graphics data from RGB to YUV for YUV blending (CSC_FOR_GFX = 1, F4BAR0+Memory Offset 4Ch[11]). When RGB blending is enabled (CSC_FOR_GFX = 0), the CSC is used post blending to convert the mixed/blended data from RGB to YUV for the TVOUT block.

RGB graphics data or mixed/blended graphics/video data is passed through this CSC to obtain 24-bit YUV data using the following CCIR-601-1 recommended formula:

Y = 0.257R + 0.504G + 0.098B + 16

U = -0.148R – 0.291G + 0.439B + 128

V = 0.439R – 0.368G – 0.071B + 128

The CSC clamps inputs to prevent them from exceeding acceptable limits.

7.2.3.41/2 Y Flicker Filter

See Section 7.2.4.1 "Flicker Filter and Scan Rate Conver- sion" on page 329 for details regarding the flicker filter.

7.2.3.5Color/Chroma Key

A color/chroma key mechanism is used to support the Mixer/Blender logic. There are two keys: key1 is for the cur- sor and key2 is for graphics or video data. Key1, the cursor key, is always a color key. The cursor color key registers are located at, F4BAR0+Memory Offset 50h-5CF. How the cursor key mechanism works with the Mixer/Blender is explained in Section 7.2.3.6. COLOR_CHROMA_KEY (F4BAR0+Memory Offset 04h[20]) determines whether key2 is a color key or a chroma key. The Video Color Key Register (F4BAR0+Memory Offset 14h) stores the key. Color keying is used when video is overlaid on the graphics (GFX_INS_VIDEO, F4BAR0+Memory Offset 4Ch[8] = 0). Chroma keying is used when graphics is overlaid on the video (GFX_INS_VIDEO = 1). How the color/chroma key mechanism works with the Mixer/Blender is explained in Section 7.2.3.6.

7.2.3.6Color/Chroma Key and Mixer/Blender

The Mixer/Blender takes each pixel of the graphics and video data streams and mixes or blends them together. Mixing is simply choosing the graphics pixel or the video pixel. Blending takes a percentage of a graphics pixel (Alpha_value * Graphics_pixel_value) and percentage of the video pixel (1 - Alpha_Value * Video_pixel_value) and adds them together. The percentages of each add up to

100%. The actual formula is:

Blended Pixel = (Alpha_value * Graphics_pixel_value) / 256 + ((256 – Alpha_value) * Video_pixel_value) / 256

Where: Alpha_value = 0 to 255

Mixing and blending are supported simultaneously for every rendered frame, however, each pixel can only be mixed or blended. The mix or blend question is decided by the pixel position, whether video is overlaid on the graphics or visa versa (GFX_INS_VIDEO, F4BAR0+Memory Offset 4Ch[8]), and several programmed “windows”. Figure 7- 11illustrates and example frame.

AMD Geode™ SC1200/SC1201 Processor Data Book

325

Page 325
Image 325
AMD SC1201 YUV to RGB CSC in Video Data Path, Gamma Correction, RGB to YUV CSC, 3.4 1/2 Y Flicker Filter, Color/Chroma Key