@@ -257,6 +257,8 @@ of the luma plane.
257257.. _V4L2-PIX-FMT-NV12-4L4 :
258258.. _V4L2-PIX-FMT-NV12-16L16 :
259259.. _V4L2-PIX-FMT-NV12-32L32 :
260+ .. _V4L2_PIX_FMT_NV12M_8L128 :
261+ .. _V4L2_PIX_FMT_NV12M_10BE_8L128 :
260262
261263Tiled NV12
262264----------
@@ -281,21 +283,41 @@ If the vertical resolution is an odd number of tiles, the last row of
281283tiles is stored in linear order. The layouts of the luma and chroma
282284planes are identical.
283285
284- ``V4L2_PIX_FMT_NV12_4L4 `` stores pixel in 4x4 tiles, and stores
286+ ``V4L2_PIX_FMT_NV12_4L4 `` stores pixels in 4x4 tiles, and stores
285287tiles linearly in memory. The line stride and image height must be
286288aligned to a multiple of 4. The layouts of the luma and chroma planes are
287289identical.
288290
289- ``V4L2_PIX_FMT_NV12_16L16 `` stores pixel in 16x16 tiles, and stores
291+ ``V4L2_PIX_FMT_NV12_16L16 `` stores pixels in 16x16 tiles, and stores
290292tiles linearly in memory. The line stride and image height must be
291293aligned to a multiple of 16. The layouts of the luma and chroma planes are
292294identical.
293295
294- ``V4L2_PIX_FMT_NV12_32L32 `` stores pixel in 32x32 tiles, and stores
296+ ``V4L2_PIX_FMT_NV12_32L32 `` stores pixels in 32x32 tiles, and stores
295297tiles linearly in memory. The line stride and image height must be
296298aligned to a multiple of 32. The layouts of the luma and chroma planes are
297299identical.
298300
301+ ``V4L2_PIX_FMT_NV12M_8L128 `` is similar to ``V4L2_PIX_FMT_NV12M `` but stores
302+ pixels in 2D 8x128 tiles, and stores tiles linearly in memory.
303+ The image height must be aligned to a multiple of 128.
304+ The layouts of the luma and chroma planes are identical.
305+
306+ ``V4L2_PIX_FMT_NV12M_10BE_8L128 `` is similar to ``V4L2_PIX_FMT_NV12M `` but stores
307+ 10 bits pixels in 2D 8x128 tiles, and stores tiles linearly in memory.
308+ the data is arranged in big endian order.
309+ The image height must be aligned to a multiple of 128.
310+ The layouts of the luma and chroma planes are identical.
311+ Note the tile size is 8bytes multiplied by 128 bytes,
312+ it means that the low bits and high bits of one pixel may be in different tiles.
313+ The 10 bit pixels are packed, so 5 bytes contain 4 10-bit pixels layout like
314+ this (for luma):
315+ byte 0: Y0(bits 9-2)
316+ byte 1: Y0(bits 1-0) Y1(bits 9-4)
317+ byte 2: Y1(bits 3-0) Y2(bits 9-6)
318+ byte 3: Y2(bits 5-0) Y3(bits 9-8)
319+ byte 4: Y3(bits 7-0)
320+
299321``V4L2_PIX_FMT_MM21 `` store luma pixel in 16x32 tiles, and chroma pixels
300322in 16x16 tiles. The line stride must be aligned to a multiple of 16 and the
301323image height must be aligned to a multiple of 32. The number of luma and chroma
0 commit comments