History

media: add Mediatek's MM21 format

Add Mediatek's non-compressed 8 bit block video mode. This format is produced by the MT8183 codec and can be converted to a non-proprietary format by the MDP3 component.

Alexandre Courbot committed 5 years ago

Commit ffe53501 parent 741cc363 files · +9 −0Browse files

Unified · Split

3 files
  1. Documentation/userspace-api/media/v4l/pixfmt-reserved.rst +7 −0
  2. drivers/media/v4l2-core/v4l2-ioctl.c +1 −0
  3. include/uapi/linux/videodev2.h +1 −0
Documentation/userspace-api/media/v4l/pixfmt-reserved.rst+7−0
@@ -238,6 +238,13 @@ please make a proposal on the linux-media mailing list. · 237 unmodified lines
238 It is an opaque intermediate format and the MDP hardware must be238 It is an opaque intermediate format and the MDP hardware must be
239 used to convert ``V4L2_PIX_FMT_MT21C`` to ``V4L2_PIX_FMT_NV12M``,239 used to convert ``V4L2_PIX_FMT_MT21C`` to ``V4L2_PIX_FMT_NV12M``,
240 ``V4L2_PIX_FMT_YUV420M`` or ``V4L2_PIX_FMT_YVU420``.240 ``V4L2_PIX_FMT_YUV420M`` or ``V4L2_PIX_FMT_YVU420``.
241 * .. _V4L2-PIX-FMT-MM21:
242
243 - ``V4L2_PIX_FMT_MM21``
244 - 'MM21'
245 - Non-compressed, tiled two-planar format used by Mediatek MT8183.
246 This is an opaque intermediate format and the MDP3 hardware can be
247 used to convert it to other formats.
241 248
242.. raw:: latex249.. raw:: latex
243 250
drivers/media/v4l2-core/v4l2-ioctl.c+1−0
@@ -1348,6 +1348,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) · 1347 unmodified lines
1348 case V4L2_PIX_FMT_TM6000: descr = "A/V + VBI Mux Packet"; break;1348 case V4L2_PIX_FMT_TM6000: descr = "A/V + VBI Mux Packet"; break;
1349 case V4L2_PIX_FMT_CIT_YYVYUY: descr = "GSPCA CIT YYVYUY"; break;1349 case V4L2_PIX_FMT_CIT_YYVYUY: descr = "GSPCA CIT YYVYUY"; break;
1350 case V4L2_PIX_FMT_KONICA420: descr = "GSPCA KONICA420"; break;1350 case V4L2_PIX_FMT_KONICA420: descr = "GSPCA KONICA420"; break;
1351 case V4L2_PIX_FMT_MM21: descr = "Mediatek 8-bit Block Format"; break;
1351 case V4L2_PIX_FMT_HSV24: descr = "24-bit HSV 8-8-8"; break;1352 case V4L2_PIX_FMT_HSV24: descr = "24-bit HSV 8-8-8"; break;
1352 case V4L2_PIX_FMT_HSV32: descr = "32-bit XHSV 8-8-8-8"; break;1353 case V4L2_PIX_FMT_HSV32: descr = "32-bit XHSV 8-8-8-8"; break;
1353 case V4L2_SDR_FMT_CU8: descr = "Complex U8"; break;1354 case V4L2_SDR_FMT_CU8: descr = "Complex U8"; break;
include/uapi/linux/videodev2.h+1−0
@@ -739,6 +739,7 @@ struct v4l2_pix_format { · 738 unmodified lines
739#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */739#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
740#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */740#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
741#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */741#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
742#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
742#define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */743#define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */
743#define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit packed depth confidence information */744#define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit packed depth confidence information */
744#define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* BTTV 8-bit dithered RGB */745#define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* BTTV 8-bit dithered RGB */