322 AMD Geode™ SC3200 Processor Data Book
Video Processor Module
32581C
7.2.3.4 Color/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-11
illustrates and example frame.
Graphics Window
The graphics window is defined in the GX1 module’s dis-
play controller and is always the full screen resolution.
Video Window
The video window tells the Mixer/Blender where the video
window is and its size. If Direct Video mode is enabled (see
Section 7.2.1.1 "Direct Video Mode" on page 313), the
video window must be defined as the resolution of the
video port data resolution (720x480 for NTSC, 720x576 for
PAL). Vertical scaling is not allowed. Horizontal scaling is
allowed. If the video source is from the GX1 module’s video
frame buffer (which includes Capture Video mode, see
Section 7.2.1.2 "Capture Video Mode" on page 314) then
the video data can be scaled both horizontally and verti-
cally. The video data size, scaled or unscaled, must equal
the video window size. The Video X Position (horizontal)
and Video Y Position (vertical) registers (F4BAR0+Memory
Offset 08h and 0Ch) define the video window.
Cursor Window
The cursor window can be managed two ways: with the
GX1 module’s hardware cursor or a software cursor. When
using the hardware cursor, the displayed colors of the hard-
ware cursor must be the cursor color keys (see Section
5.5.3 “Hardware Cursor” in the AMD Geode™ GX1 Pro-
cessor Data Book). When the software cursor is used, the
cursor size and position are not defined using registers.
The cursor size, position, and image are determined
through the use of the cursor color key colors in the graph-
ics frame buffer. When the cursor is described in this man-
ner, the cursor can be of any size and shape.
Alpha Windows
Up to three alpha windows can be defined. They are used
only for blending. They can be of any size up to the graph-
ics window size and they may overlap. To support overlap-
ping of the alpha windows they can be prioritized as to
which one is on top (F4BAR0+Memory Offset 4Ch[20:16]).
The alpha windows are programmed at F4BAR0+Memory
Offset 60h-88h.
Figure 7-11. Graphics/Video Frame with Alpha Windows
Graphics Window (GFX_INS_VIDEO = 0)
Video Window
Alpha Window #3
Cursor
Window
ALPHA1_WIN_PRIORITY = 10
ALPHA2_WIN_PRIORITY = 01
ALPHA3_WIN_PRIORITY = 00
Video X
Video Y
Position
Register
Alpha Window 3
X Position
Alpha
Window 3
Y Position
Register
Register
Alpha Window #2
Alpha Window #1
Position Register