Hi Vivek, On 1/29/19 3:32 AM, Vivek Kasireddy wrote: > From: "Kasireddy, Vivek" <vivek.kasireddy@xxxxxxxxx> > > The memory layout of AYUV buffers (V4L2_PIX_FMT_YUV32) should be similar > to V4L2_PIX_FMT_ABGR32 instead of V4L2_PIX_FMT_ARGB32. > > While displaying the packed AYUV buffers generated by the Vivid driver > using v4l2-tpg on Weston, it was observed that these AYUV images were not > getting displayed correctly. Changing the memory layout makes them display > as expected. Our YUV32 fourcc is defined as follows: https://hverkuil.home.xs4all.nl/spec/uapi/v4l/pixfmt-packed-yuv.html As far as I see the format that the TPG generates is according to the V4L2 spec. Philipp, can you check the YUV32 format that the imx-pxp driver uses? Is that according to our spec? At some point we probably want to add a VUY32 format which is what Weston expects, but we certainly cannot change what the TPG generates for YUV32 since that is correct. Regards, Hans > > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> > --- > drivers/media/common/v4l2-tpg/v4l2-tpg-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c b/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c > index d9a590ae7545..825667f67c92 100644 > --- a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c > +++ b/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c > @@ -1269,7 +1269,6 @@ static void gen_twopix(struct tpg_data *tpg, > case V4L2_PIX_FMT_HSV32: > alpha = 0; > /* fall through */ > - case V4L2_PIX_FMT_YUV32: > case V4L2_PIX_FMT_ARGB32: > buf[0][offset] = alpha; > buf[0][offset + 1] = r_y_h; > @@ -1280,6 +1279,7 @@ static void gen_twopix(struct tpg_data *tpg, > case V4L2_PIX_FMT_XBGR32: > alpha = 0; > /* fall through */ > + case V4L2_PIX_FMT_YUV32: > case V4L2_PIX_FMT_ABGR32: > buf[0][offset] = b_v; > buf[0][offset + 1] = g_u_s; >