DIGITAL-LOGIC AG
PCCP5 Manual V2.3
73
4.11.1 HiQVideo Series Programming Examples
4.11.1.1 Introduction
This application note shows how the CHIPS HiQVideo??Series controllers can be used for video capture and playback.
This document includes a description of the hardware configuration, a discussion of the functions, and actual program-
ming examples.
4.11.1.2 Video Playback through PCI/VL Bus
The new generation of Chips and Technologies, Inc. Multimedia Accelerators (6555x) supports Color Space Conversion
and Stretching (Zooming) in the back end with the chroma color key. The color space conversion functionality of the
6555x can be made available to video codecs by implementing the off-screen surface support in the DCI Provider (Win-
dows 3.1 drivers). Only the playback feature of 6555x multimedia module is used to implement extended DCI functional-
ity. This means the video input to the 6555x is kept in the frozen state (not grabbing) when DCI is running. For video
playback, the CPU can write YUV, RGB15, and RGB16 data into the off-screen memory and fill the destination rectangle
(where video need to be displayed on the visible screen) with the color key. Video can be zoomed up if the destination
rectangle is bigger than the source rectangle in the off-screen buffer.
4.11.1.3 Video Capture and Playback Through Video Port
The new generation of CHIPS Multimedia Accelerators (6555x) can also capture live video from the video port into the
off-screen memory and play it back with color space conversion onto a color keyed destination rectangle on the visible
screen. Playback video can be zoomed up to fill the bigger destination rectangle while incoming video can be scaled
down to fit into a smaller off-screen memory buffer or smaller destination rectangle. Zoomed video can be smoothed out
with horizontal and vertical interpolation. Scaled down video can also be filtered out at input before capturing into the
frame buffer. Input video can be cropped for the extra data which is usually associated with the NTSC or PAL video. The
6555x hardware can accommodate fast or slow capture applications through the CPU Bus by capturing the video frames
in one of three methods: continuously, one frame at a time, or one every nth (n = 1-15) frame. Following diagram dem-
onstrates the video capture.
VideoRect
comes from the input video stream fed through the Video Port (VAFC / ZV Port) and comprises of one of the
following sizes based on the input source.
NSTC:
640x480 60 fields / second (interlaced), Square Aspect Ratio (4:3).
720x486 60 fields / second (interlaced), Non-square Aspect Ratio.
PAL:
768x576 50 fields / second (interlaced), Square Aspect Ratio (4:3).
720x576 50 fields / second (interlaced), Non-square Aspect Ratio.
MPEG1:
320x240 30 frames / sec (non-interlaced), Square Aspect Ratio (4:3).
352x288 30 frames / sec (non-interlaced), Non-square Aspect Ratio.
Top-left of VideoRect is always at (0,0).
CropRect
is defined relative to the
VideoRect
.
CropRect
is used to crop off some pixels from the top, left, right, or bot-
tom to fit the image into a square pixel ratio or to drop some unwanted pixels.
CropRec
t is programmed using the acqui-
sition window registers After cropping, the video is scaled down to fit into a smaller memory buffer or in a smaller display
window. The scaled video is captured into off-screen video memory buffer or buffers (as in double buffer mode). There is
a horizontal filter to reduce the sampling artifacts caused by input video scaling. Video in the capture buffer is displayed
on top of the pixels which matches the color key and/or with a specified rectangular window.
4.11.1.4 ZoomUp
If client area of a window (
DispRect
) is larger than the capture buffer rectangle (
CaptRect
), the video can be zoomed up
to fit into the DispRect.
4.11.1.5 Video Capture Using the Video Port
We need some additional functions to manage video capture through video port. Some of the initialization and exit code
can be merged together with the playback code. Capture code should also include the previously described playback
code.