User's Manual
IntelĀ® 815 Chipset: Graphics Controller PRM, Rev 1.0
R
271
15.3.1.2. Mathematical Gamma Correction For Overlay
Gamma correction is a function that corrects for non-linearity between display phosphor brightness as a
function of electron beam current. Depending on the actual phosphor used, and/or whether the event that
data streams have been pre-gamma corrected for different phosphor characteristics than the display
device being used, the digital display stream must be corrected to achieve equally spaced increase in
brightness on the display for equally spaced increases in color intensity values.
Gamma correction shall be chiefly implemented via a piecewise linear approximation of a curve. There
are 6 individual breakpoint values, logarithmically spaced in the Color Intensity domain. Only one set of
8 values is provided and shared for each of the Red, Green, and Blue intensity components. These values
shall be loadable via software control and are programmable. For each of Red, Green, and Blue, the
appropriate Gamma breakpoint pairs are looked up and smoothly interpolated between to arrive at the
final Red, Green, and Blue values that are output to the DAC.
Figure 41. Gamma Correction Unit Block Diagram
Priority Encoder /
Down Counter
1) Enables signals required to
select appropriate data for slope
calculation.
Xxrgb23:1
6
Muxsel
1:0
2
2
MUX(4:1)
0x00
latch8to15
latch16to31
latch32to63
latchlow
latchhigh
MUX(2:1)
latchN
latchlow
latchhigh
2
latchhigh
MUX(2:1)
latchN+1
latchhigh
latchlow
MUX(4:1)
latch8to15
latch16to31
latch32to63
latch64to128
1:0
latchhigh
1:0
1:0
1:0
2
2
Shifter
: shifts data to get 8 bits (Lower bits are padded by zeros).
remainder
remainder
7:0
Inverter invlatchN
Slope
8X7Multiplier
Slope
remainder
6:0
Adder
Adder to calculate
the slope.
Cin='1'
Adder
Adder to get
gamma
corrected value.
ipoint
ipoint
14:7
latchlow
Grgb23:
16
RedGAMMA BLOCK
DIAGRAM
Cin='0'
stage 1
stage 2 stage 3 stage 4
MUX(4:1)
latch64to127
latch128to91
latch192to25
5
latch192to25
5
MUX(4:1)
latch128to19
1
latch192to25
5
0x00
0x00
Box denotes
logic replicated
three times










