Le mardi 09 avril 2024 à 14:44 +0800, Yunfei Dong a écrit : > Adding the definition of MM21 format to calculate bytesperline > and sizeimage of plane[0] and plane[1]. > > Signed-off-by: Yunfei Dong <yunfei.dong@xxxxxxxxxxxx> > --- > drivers/media/v4l2-core/v4l2-common.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c > index cef1492dba22..0d5de132e07f 100644 > --- a/drivers/media/v4l2-core/v4l2-common.c > +++ b/drivers/media/v4l2-core/v4l2-common.c > @@ -269,6 +269,8 @@ const struct v4l2_format_info *v4l2_format_info(u32 format) > .block_w = { 64, 64, 0, 0 }, .block_h = { 64, 64, 0, 0 }}, > { .format = V4L2_PIX_FMT_MT2110R, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 2, .comp_planes = 2, .bpp = { 5, 5, 0, 0 }, .bpp_div = { 4, 4, 1, 1 }, .hdiv = 1, .vdiv = 2, > .block_w = { 64, 64, 0, 0 }, .block_h = { 64, 64, 0, 0 }}, > + { .format = V4L2_PIX_FMT_MM21, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 2, .comp_planes = 2, .bpp = { 1, 1, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 1, .vdiv = 2, > + .block_w = { 64, 64, 0, 0 }, .block_h = { 64, 64, 0, 0 }}, MM21 has the same subsampling as NV12M, so hdiv should be 2 for correctness. The 64x64 block is incorrect. The only difference between this and NV12M should be with block. > > /* YUV planar formats */ > { .format = V4L2_PIX_FMT_NV12, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 2 },