mirror of https://gitee.com/openkylin/linux.git
media: imx-pxp: Start using the format VUYA32 instead of YUV32 (v2)
Buffers generated with YUV32 format seems to be incorrect, hence use VUYA32 instead. Changes from v1: Add both formats VUYA32 and VUYX32 but associate only VUYX32 to the output queue as the alpha channel of buffers is ignored on this queue. Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
6377bb7d18
commit
98617b4567
|
@ -90,7 +90,11 @@ static struct pxp_fmt formats[] = {
|
||||||
.depth = 16,
|
.depth = 16,
|
||||||
.types = MEM2MEM_CAPTURE | MEM2MEM_OUTPUT,
|
.types = MEM2MEM_CAPTURE | MEM2MEM_OUTPUT,
|
||||||
}, {
|
}, {
|
||||||
.fourcc = V4L2_PIX_FMT_YUV32,
|
.fourcc = V4L2_PIX_FMT_VUYA32,
|
||||||
|
.depth = 32,
|
||||||
|
.types = MEM2MEM_CAPTURE,
|
||||||
|
}, {
|
||||||
|
.fourcc = V4L2_PIX_FMT_VUYX32,
|
||||||
.depth = 32,
|
.depth = 32,
|
||||||
.types = MEM2MEM_CAPTURE | MEM2MEM_OUTPUT,
|
.types = MEM2MEM_CAPTURE | MEM2MEM_OUTPUT,
|
||||||
}, {
|
}, {
|
||||||
|
@ -236,7 +240,7 @@ static u32 pxp_v4l2_pix_fmt_to_ps_format(u32 v4l2_pix_fmt)
|
||||||
case V4L2_PIX_FMT_RGB555: return BV_PXP_PS_CTRL_FORMAT__RGB555;
|
case V4L2_PIX_FMT_RGB555: return BV_PXP_PS_CTRL_FORMAT__RGB555;
|
||||||
case V4L2_PIX_FMT_RGB444: return BV_PXP_PS_CTRL_FORMAT__RGB444;
|
case V4L2_PIX_FMT_RGB444: return BV_PXP_PS_CTRL_FORMAT__RGB444;
|
||||||
case V4L2_PIX_FMT_RGB565: return BV_PXP_PS_CTRL_FORMAT__RGB565;
|
case V4L2_PIX_FMT_RGB565: return BV_PXP_PS_CTRL_FORMAT__RGB565;
|
||||||
case V4L2_PIX_FMT_YUV32: return BV_PXP_PS_CTRL_FORMAT__YUV1P444;
|
case V4L2_PIX_FMT_VUYX32: return BV_PXP_PS_CTRL_FORMAT__YUV1P444;
|
||||||
case V4L2_PIX_FMT_UYVY: return BV_PXP_PS_CTRL_FORMAT__UYVY1P422;
|
case V4L2_PIX_FMT_UYVY: return BV_PXP_PS_CTRL_FORMAT__UYVY1P422;
|
||||||
case V4L2_PIX_FMT_YUYV: return BM_PXP_PS_CTRL_WB_SWAP |
|
case V4L2_PIX_FMT_YUYV: return BM_PXP_PS_CTRL_WB_SWAP |
|
||||||
BV_PXP_PS_CTRL_FORMAT__UYVY1P422;
|
BV_PXP_PS_CTRL_FORMAT__UYVY1P422;
|
||||||
|
@ -265,7 +269,8 @@ static u32 pxp_v4l2_pix_fmt_to_out_format(u32 v4l2_pix_fmt)
|
||||||
case V4L2_PIX_FMT_RGB555: return BV_PXP_OUT_CTRL_FORMAT__RGB555;
|
case V4L2_PIX_FMT_RGB555: return BV_PXP_OUT_CTRL_FORMAT__RGB555;
|
||||||
case V4L2_PIX_FMT_RGB444: return BV_PXP_OUT_CTRL_FORMAT__RGB444;
|
case V4L2_PIX_FMT_RGB444: return BV_PXP_OUT_CTRL_FORMAT__RGB444;
|
||||||
case V4L2_PIX_FMT_RGB565: return BV_PXP_OUT_CTRL_FORMAT__RGB565;
|
case V4L2_PIX_FMT_RGB565: return BV_PXP_OUT_CTRL_FORMAT__RGB565;
|
||||||
case V4L2_PIX_FMT_YUV32: return BV_PXP_OUT_CTRL_FORMAT__YUV1P444;
|
case V4L2_PIX_FMT_VUYA32:
|
||||||
|
case V4L2_PIX_FMT_VUYX32: return BV_PXP_OUT_CTRL_FORMAT__YUV1P444;
|
||||||
case V4L2_PIX_FMT_UYVY: return BV_PXP_OUT_CTRL_FORMAT__UYVY1P422;
|
case V4L2_PIX_FMT_UYVY: return BV_PXP_OUT_CTRL_FORMAT__UYVY1P422;
|
||||||
case V4L2_PIX_FMT_VYUY: return BV_PXP_OUT_CTRL_FORMAT__VYUY1P422;
|
case V4L2_PIX_FMT_VYUY: return BV_PXP_OUT_CTRL_FORMAT__VYUY1P422;
|
||||||
case V4L2_PIX_FMT_GREY: return BV_PXP_OUT_CTRL_FORMAT__Y8;
|
case V4L2_PIX_FMT_GREY: return BV_PXP_OUT_CTRL_FORMAT__Y8;
|
||||||
|
@ -281,7 +286,8 @@ static u32 pxp_v4l2_pix_fmt_to_out_format(u32 v4l2_pix_fmt)
|
||||||
static bool pxp_v4l2_pix_fmt_is_yuv(u32 v4l2_pix_fmt)
|
static bool pxp_v4l2_pix_fmt_is_yuv(u32 v4l2_pix_fmt)
|
||||||
{
|
{
|
||||||
switch (v4l2_pix_fmt) {
|
switch (v4l2_pix_fmt) {
|
||||||
case V4L2_PIX_FMT_YUV32:
|
case V4L2_PIX_FMT_VUYA32:
|
||||||
|
case V4L2_PIX_FMT_VUYX32:
|
||||||
case V4L2_PIX_FMT_UYVY:
|
case V4L2_PIX_FMT_UYVY:
|
||||||
case V4L2_PIX_FMT_YUYV:
|
case V4L2_PIX_FMT_YUYV:
|
||||||
case V4L2_PIX_FMT_VYUY:
|
case V4L2_PIX_FMT_VYUY:
|
||||||
|
|
Loading…
Reference in New Issue