]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
v4l: xilinx: vip: Add YUV444 12bit and 16bit formats
authorSatish Kumar Nagireddy <satish.nagireddy.nagireddy@xilinx.com>
Wed, 10 Apr 2019 22:04:57 +0000 (15:04 -0700)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 11 Apr 2019 09:10:37 +0000 (11:10 +0200)
This patch adds support for YUV444 12bit and 16bit formats.

Signed-off-by: Satish Kumar Nagireddy <satish.nagireddy.nagireddy@xilinx.com>
Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
drivers/media/platform/xilinx/xilinx-vip.c

index 20e466053776d875a5f6a2371a806e28ff2d2306..244d56f551a84fed7359ea352811da2bec6d5ffa 100644 (file)
@@ -69,6 +69,14 @@ static const struct xvip_video_format xvip_video_formats[] = {
          4, 32, V4L2_PIX_FMT_XVUY32, 1, 1, 1, 1, "X:4:4:4, packed, YUYV" },
        { XVIP_VF_YUVX, 10, NULL, MEDIA_BUS_FMT_VUY10_1X30,
          3, 32, V4L2_PIX_FMT_XVUY10, 1, 1, 1, 1, "2:10:10:10, packed, XVUY" },
+       { XVIP_VF_YUV_444, 12, NULL, MEDIA_BUS_FMT_VUY12_1X36,
+         1, 24, V4L2_PIX_FMT_X412, 1, 1, 1, 1, "4:4:4, 12-bit 2-plane cont" },
+       { XVIP_VF_YUV_444, 12, NULL, MEDIA_BUS_FMT_VUY12_1X36,
+         1, 24, V4L2_PIX_FMT_X412M, 1, 1, 1, 1, "4:4:4, 12-bit 2-plane non-cont" },
+       { XVIP_VF_YUV_444, 16, NULL, MEDIA_BUS_FMT_VUY16_1X48,
+         2, 24, V4L2_PIX_FMT_X416, 1, 1, 1, 1, "4:4:4, 16-bit 2-plane cont" },
+       { XVIP_VF_YUV_444, 16, NULL, MEDIA_BUS_FMT_VUY16_1X48,
+         2, 24, V4L2_PIX_FMT_X416M, 1, 1, 1, 1, "4:4:4, 16-bit 2-plane non-cont" },
        { XVIP_VF_RBG, 8, NULL, MEDIA_BUS_FMT_RBG888_1X24,
          3, 24, V4L2_PIX_FMT_BGR24, 1, 1, 1, 1, "24-bit RGB" },
        { XVIP_VF_RBG, 8, NULL, MEDIA_BUS_FMT_RBG888_1X24,
@@ -190,6 +198,8 @@ void xvip_bpl_scaling_factor(u32 fourcc, u32 *numerator, u32 *denominator)
        case V4L2_PIX_FMT_X012M:
        case V4L2_PIX_FMT_X212:
        case V4L2_PIX_FMT_X212M:
+       case V4L2_PIX_FMT_X412:
+       case V4L2_PIX_FMT_X412M:
                *numerator = 12;
                *denominator = 8;
                break;
@@ -229,6 +239,8 @@ void xvip_width_padding_factor(u32 fourcc, u32 *numerator, u32 *denominator)
        case V4L2_PIX_FMT_X012M:
        case V4L2_PIX_FMT_X212:
        case V4L2_PIX_FMT_X212M:
+       case V4L2_PIX_FMT_X412:
+       case V4L2_PIX_FMT_X412M:
                *numerator = 40;
                *denominator = 36;
                break;