User's Manual

Intel® 815 Chipset: Graphics Controller PRM, Rev 1.0
R
210
13.3. GFXBLOCK
The GFXBLOCK instruction is used with Motion Compensation. It is a variable length instruction,
which contains intra-coded/correction data at the end of the instruction. The DWORD_LENGTH must
correspond to the Block Pattern Bits that identify which quadrants of the block have associated
correction data. When the horizontal or vertical block pattern are disabled the block pattern bits are
assumed to be set. All of the block pattern bits must also be set when the Prediction Type is “intra-
coded”. Having no correction data is also valid to enable support for skipped blocks.
When the Block Pattern Format is disabled, bits [29:28]=0 and any Y, Cr, or Cb pattern bits, bits
[27:22], are set, the error data must be set to 0. The alternative is to ensure that the Y, Cr, or Cb pattern
bits, bits [27:22], are set to 0.
DWord Bits Description
0 31:29 Client : 03h – Rendering Engine
28:24 Rendering Block : 1Eh
23:16 Opcode: 00h
15:0 DWORD_LENGTH : 5 + Intra-coded/Correction Data DWords
1 31:30 Block Type:
00 = Reserved (Macroblock – The Luminance and Chromanance blocks are all
predicted from this instruction. The Height, Width and Motion Vectors are
shifted right 1-bit when processing the chromanance blocks.)
01 = Luminance (Y) Block
10 = Chromanance Red (Cr) Block
11 = Chromanance Blue (Cb) Block
29:28 Block Pattern Format:
00 = Disable Block Pattern Usage and Intra-coded/Correction data. The Height and
Width are not constrained and need only be less than 1024. Intra-
coded/Correction data is not allowed in this state.
01 = Single Block - Uses bit 27 for a Luminance block and bits 23,22 for the
chromanance blocks respectively. If intra-coded/ correction data is present the
order of the data is row-major for the entire width of the block.
10 = Halves: Left and Right - Uses bits 27, 26 for the two halves of the Luminance
block respective. Intra-coded/ correction data is delivered in row-major order
for the left half of the block, followed by the data for the right half of the block.
Chromanance blocks are always considered to be Single blocks, using bits 23
and 22 for the Cr and Cb blocks, respectively.
11 = Quadrants: Upper-left, Upper-right, Lower-left, Lower-right - Uses bits 27:24 for
the four quadrants of the Luminance block respective. Intra-coded/correction
data is delivered in row-major order for the four quadrants of the block
beginning with the upper-left quadrant and proceeding to the upper-right, lower-
left and lower-right quadrants. Chromanance blocks are always considered to
be Single blocks, using bits 23 and 22 for the Cr and Cb blocks respectively.
27:24 Y Block Pattern: Enable/disable correction data for the Y block(s)
1 23 Cr Block Pattern: Enable/disable intra-coded/correction data for the Cr block