From: "Kasireddy, Vivek" <vivek.kasire...@intel.com>

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.

Signed-off-by: Vivek Kasireddy <vivek.kasire...@intel.com>
---
 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;
-- 
2.14.5

Reply via email to