Re: [PATCH] media: v4l2-tpg: Fix the memory layout of AYUV buffers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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;
> 




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux