Hi Laurent, On 26/04/16 23:35, Laurent Pinchart wrote: > The number of bits per pixel is identical for all planes, don't store > multiple copies.
That's not true, as with NV12, Y has 8 bits per pixel and UV has 16 bits per pixel. But as the subsampling is precalculated into the stride_bpp (is it bytes or bits? bpp always confuses me =), the 'stride_bpp' ends up being same for both planes. To be honest, I'd rather go into more complex struct than simpler one. The current one is already confusing, I think, and your version is too. The main issue is that the sub_x is encoded into the stride_bpp. In kmsxx I used this format: { PixelFormat::NV12, { 2, { { 8, 1, 1, }, { 8, 2, 2 } }, } }, The first number is the number of planes, and for each plane, bitspp, xsub and ysub. It's more verbose, but (I think) easier to understand. Tomi -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20160502/7014849f/attachment.sig>