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
238238 It is an opaque intermediate format and the MDP hardware must be
239239 used to convert ``V4L2_PIX_FMT_MT21C`` to ``V4L2_PIX_FMT_NV12M``,
240240 ``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.
241248
242249 .. raw:: latex
243250
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
13481348 case V4L2_PIX_FMT_TM6000: descr = "A/V + VBI Mux Packet"; break;
13491349 case V4L2_PIX_FMT_CIT_YYVYUY: descr = "GSPCA CIT YYVYUY"; break;
13501350 case V4L2_PIX_FMT_KONICA420: descr = "GSPCA KONICA420"; break;
1351+ case V4L2_PIX_FMT_MM21: descr = "Mediatek 8-bit Block Format"; break;
13511352 case V4L2_PIX_FMT_HSV24: descr = "24-bit HSV 8-8-8"; break;
13521353 case V4L2_PIX_FMT_HSV32: descr = "32-bit XHSV 8-8-8-8"; break;
13531354 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
739739 #define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
740740 #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
741741 #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 */
742743 #define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */
743744 #define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit packed depth confidence information */
744745 #define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* BTTV 8-bit dithered RGB */