PNX1300/01/02/11 Data Book
Philips Semiconductors
7-14
PRELIMINARY SPECIFICATION
blending levels from 0 to 0x7F. The MSB is used to turn
on blending (MSB =
‘
0
’
) or to select the overlay plane as
the only output (MSB =
‘
1
’
), so all values between 0x80
and 0xFF select 100% overlay. Therefore, the total num-
ber of blending levels is 129: 128 variable blending val-
ues from 0 to 0x7F plus one
‘
blending
’
value from 0x80
to 0xFF for 100% overlay. An alpha value of 0 selects
100% image plane and 0% overlay. Similarly, a value of
0x40 selects 50% image and 50% overlay blending.
The equations for the blending are illustrated below.
7.15.2
Chroma Keying
If the EVO_ENABLE and KEY_ENABLE bits are set to
‘
1
’
in EVO_CTL the PNX1300 activates chroma keying.
The graphics overlay is taken from a pixel-packed YUV
4:2:2+
α
data structure in memory. The EVO_KEY regis-
ter provides the value which signifies full transparency
for the overlay. The overlay values (Y, U and V) are com-
pared to the values stored in bit-fields of the EVO_KEY
register. EVO_KEY has three 8-bit fields: KEY_Y,
KEY_U and KEY_V, which store the values to be com-
pared to the Y, U, and V components, respectively, of the
overlay for chroma keying. Bits that correspond to bits
set in MASK_Y and MASK_UV are ignored for the com-
parison. When there is an exact match between the pixel
value and the value in EVO_KEY (disregarding any bits
masked by MASK_Y and MASK_UV), then the overlay
value is not present in the output stream, resulting in full
transparency.
The mask bits in EVO_MASK provide for varying de-
grees of precision in the chroma-key matching process.
The EVO_MASK. MASK_Y field can mask from 0 to 4
LSBs of the overlay Y component during the chroma key
process. For example, setting MASK_Y = 1 eliminates
the influence of the LSB of KEY_Y in the keying process.
This can be used to widen the range of key matching to
account for irregularities in the chroma-key video signal.
Likewise, EVO_MASK. MASK_UV is used to mask from
zero to four LSBs of the overlay U and V components
during the chroma key process. For example, setting
MASK_UV = 1 eliminates the influence of the LSB of
KEY_U and KEY_V in the keying process.
7.15.3
Programmable Clipping
If EVO_CTL. CLIPPING_ENABLE = 1 the EVO performs
fully-compliant programmable clipping. Clipping is per-
formed as the last step of the video pipeline, after chroma
keying and alpha blending. It is applied only on the image
areas (Field 1 and Field 2) defined by IMAGE_WIDTH,
IMAGE_HEIGHT, IMAGE_VOFF and IMAGE_HOFF in-
side the Active Video Area. Blanking values are not
clipped.
The EVO_CLIP MMIO register stores four 8-bit fields
used to clip output components. The Y output compo-
nent is clipped between the values stored in
LOWER_CLIPY and HIGHER_CLIPY. A value less than
or equal to LOWER_CLIPY is forced to LOWER_CLIPY
and a value greater than or equal to HIGHER_CLIPY is
forced to HIGHER_CLIPY.
The same behavior is implemented for U and V with the
values
stored
in
the
HIGHER_CLIPUV fields.
This mode allows fully-compliant 16 to 235 Y clipping
and 16 to 240 Cb and Cr clipping to be programmed.
These are the default values of the EVO_CLIP register
after reset.
If CLIPPING_ENABLE = 0, the EVO clips Y, U and V be-
tween the default values 16 and 240, as it is implemented
in the TM-1000. When LOWER_CLIP{Y,UV} registers
are set to
‘
0
’
and HIGHER_CLIP{Y,UV} registers are set
to
‘
255
’
, no clipping is performed.
LOWER_CLIPUV
and
7.16
MMIO REGISTERS
The MMIO registers are in two groups:
VO registers
—
control basic VO functions (those
shared with the TM-1000 VO unit)
EVO registers
—
control new EVO unit functions
(those new in TM-1100/TM-1300/PNX1300)
VO MMIO registers are shown in
Figure 7-29
. VO MMIO
register names are prefixed with
“
VO_
”
. Generally, their
functionality is unchanged except where noted in the text
(see for instance,
Section 7.16.1
). The register fields are
described in
Table 7-6
,
Table 7-7
and
Table 7-8
. They
are discussed in section s
7.16.1
through
7.18.1
.
EVO MMIO registers are shown in
Figure 7-30
. EVO
MMIO register names are prefixed with
“
EVO_
”
. The
EVO_CTL register selectively enables new TM-
1100/TM-1300/PNX1300 functions. The register fields
are described in
Table 7-9
and
Table 7-10
. They are dis-
cussed in sections
7.16.4
and
7.16.5
.
To ensure compatibility with future devices, any unde-
fined MMIO bits should be ignored when read, and writ-
ten as
‘
0
’
s.
if alpha[7] = 1 then
output[7:0] = overlay[7:0]
else
output[7:0] = (alpha[6:0]
·
overlay[7:0] + (alpha[6:0] + 1)
·
image[7:0]) >> 7
(or)
output[7:0] = (alpha[6:0]
·
(overlay[7:0]
–
image[7:0]) >> 7) + image[7:0]