The decoded frame contains the decoded pixels. It contains two buffers: luminance pixels (Luma) and chrominance pixels (Chroma). Luma pixels are stored in pixel raster scan order. Chroma pixels are stored in U/V-interleaved pixel raster scan order; hence the Chroma part is half the size of the Luma part when using a 4:2:0 format and the same size as the Luma part when using a 4:2:2 format. For 4:4:4 formats U and V are stored in separate buffers.
For tiled formats, the pitch is the address offset between two consecutive rows of tiles and must be a multiple of 32 (the control software always uses 64).
The tiles are either 32x4 or 64x4. 64x4 tiles provide slightly better memory bandwidth savings than 32x4 tiles, or slightly better quality in lossy compression mode. Tiles can be either compressed or uncompressed, but the start address of a tile is the same in each case. Each tile would be compressed independently. An additional map buffer is used holding metadata for each tile.
Pixel components in tiles are fully packed resulting in:
- 128 bytes for an 8-bit 32x4 tile and 256 bytes for 64x4
- 160 bytes for a 10-bit 32x4 tile and 320 bytes for 64x4
- 192 bytes for a 12-bit 32x4 tile and 384 bytes for 64x4
See Source Frame Format in encoder description detailing the formats.