The decoded picture buffer contains the decoded pixels. It contains two parts: luminance pixels (Luma) followed by 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. The decoded picture buffer must be one contiguous memory region.
Two packing formats are supported in external memory: eight bits per component or 10 bits per component, shown in the following tables, respectively. The 8-bit format can only be used for an 8-bit component depth and the 10-bit format can only be used for a 10-bit component depth. The following tables show the raster scan format supported by the decoder block for 8-bit and 10-bit color depth.
255 | 248 | ... | 31 | 24 | 23 | 16 | 15 | 8 | 7 | 0 | ||
Yx+31,y | ... | Yx+3,y | Yx+2,y | Yx+1,y | Yx,y | |||||||
...(all Luma in pixel raster scan order)... | ||||||||||||
255 | 248 | 247 | 240 | ... | 31 | 24 | 23 | 16 | 15 | 8 | 7 | 0 |
Vx+15,y | Ux+15,y | ... | Vx+1,y | Ux+1,y | Vx,y | Ux,y | ||||||
...(all interleaved Chroma in pixel raster scan order)... |
255 | 254 | 253 | 244 | 31 | 30 | 29 | 20 | 19 | 10 | 9 | 0 | |||||||||
0 | 0 | Vx+23,y | 0 | 0 | Yx+2,y | Yx+1,y | Yx,y | |||||||||||||
...(all Luma in pixel raster scan order)... | ||||||||||||||||||||
255 | 254 | 253 | 244 | ... | 63 | 62 | 61 | 52 | 51 | 42 | 41 | 32 | 31 | 30 | 29 | 20 | 19 | 10 | 9 | 0 |
0 | 0 | Vx+11,y | ... | 0 | 0 | Vx+2,y | Ux+2,y | Vx+1,y | 0 | 0 | Ux+1,y | Vx,y | Ux,y | |||||||
...(all interleaved Chroma in pixel raster scan order)... |
The frame buffer width (pitch) can be larger than the frame width so that there are (pitch - width) ignored values between consecutive pixel lines.