FS453/4 AND FS455/6
DATA SHEET: HARDWARE REFERENCE
4.2 Horizontal Scaling
While vertical scaling is linked to the VTOTAL ratio, horizontal scaling is arbitrary and not linked to
HTOTAL at all. The horizontal scaler is simply programmed with the ratio desired between TV_HACTIVE
and GCC_HACTIVE. (See Figure 6 below.) Like vertical scaling, TV_HACTIVE is the desired number of
pixels the image should occupy, not necessarily the number of active pixels for the selected TV standard.
A significant benefit of this architecture is that HTOTAL can be any arbitrary number that satisfies
graphics controller timing requirements and PLL programming requirements.
For downscaling, HDSC = (TV_HACTIVE / GCC_HACTIVE) * 256 and HUSC = 0
For upscaling, HUSC = ((TV_HACTIVE / GCC_HACTIVE - 1) * 256) and HDSC = 0
Figure 6: HSC Equations
Notes:
GCC_HACTIVE:
The number of active pixels in a line of computer graphics.
GCC_HTOTAL:
The total number of pixels in a computer graphics line, including active and blanking.
TV_HACTIVE:
The number of pixels in a line of TV video that will contain scaled graphics data.
TV_HTOTAL:
The total number of pixels in a TV line. PAL uses 864 pixels. NTSC uses 858 pixels.
HUSC and HDSC are programmed in register 08h (HSC).
For example, consider a case where the input graphics width is 800 pixels and the desired number of
pixels to show is 650. The image must be scaled down horizontally, so HDSC is 208 (D0h) and HSC =
00D0h. For a case where input VGA width is 640 and the desired TV pixel count is 720, the image must
be scaled up. HUSC is 32 (20h) and HSC = 2000h.
4.3 Vertical and Horizontal Position
The position of the graphics image on the television screen is controlled in two ways. The FS453
determines where input video data appears in time using the vertical and horizontal sync signals from the
GCC. This means that adjusting the sync timing in the GCC will change the position of the active video
area on the television. The FS453 also contains registers that control the offset from the sync transition.
These registers allow the active video position on the television to be adjusted independent of the GCC
sync timing.
The IHO (00h) register specifies the number of graphics pixels to skip before starting active video on the
television. To position the actual video area at the left edge of the theoretical active area in TV space,
program the IHO to the distance from the rising edge of HSYNC to the end of the line (HTOTAL). A
larger number will shift video to the left, and a smaller number will shift video to the right.
The IVO (02h) register specifies the number of graphics lines to skip before starting active video on the
television, counting from the rising edge of VSYNC. Programming the register is similar to programming
IHO, but in the vertical direction.
JANUARY, 2005, VERSION 3.0
13
COPYRIGHT
©
2003-4 FOCUS ENHANCEMENTS, INC.
FOCUS Enhancements Semiconductor