diff mbox series

[4/9] media: add Mediatek's MM21 format

Message ID 20200630062711.4169601-5-acourbot@chromium.org
State New
Headers show
Series media: mtk-vcodec: vdec: support for MT8183 | expand

Commit Message

Alexandre Courbot June 30, 2020, 6:27 a.m. UTC
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.

Signed-off-by: Alexandre Courbot <acourbot@chromium.org>
---
 drivers/media/v4l2-core/v4l2-ioctl.c | 1 +
 include/uapi/linux/videodev2.h       | 1 +
 2 files changed, 2 insertions(+)

Comments

Hans Verkuil July 3, 2020, 8:38 a.m. UTC | #1
On 30/06/2020 08:27, Alexandre Courbot wrote:
> 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.

> 

> Signed-off-by: Alexandre Courbot <acourbot@chromium.org>

> ---

>  drivers/media/v4l2-core/v4l2-ioctl.c | 1 +

>  include/uapi/linux/videodev2.h       | 1 +

>  2 files changed, 2 insertions(+)

> 

> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c

> index 02bfef0da76d..612be602bf76 100644

> --- a/drivers/media/v4l2-core/v4l2-ioctl.c

> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c

> @@ -1398,6 +1398,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)

>  	case V4L2_META_FMT_UVC:		descr = "UVC Payload Header Metadata"; break;

>  	case V4L2_META_FMT_D4XX:	descr = "Intel D4xx UVC Metadata"; break;

>  	case V4L2_META_FMT_VIVID:       descr = "Vivid Metadata"; break;

> +	case V4L2_PIX_FMT_MM21:		descr = "Mediatek 8-bit block format"; break;


Can you move this up so it comes after V4L2_PIX_FMT_KONICA420?

This format should also be added to Documentation/userspace-api/media/v4l/pixfmt-reserved.rst.

Regards,

	Hans

>  

>  	default:

>  		/* Compressed formats */

> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h

> index 303805438814..a35f65115bca 100644

> --- a/include/uapi/linux/videodev2.h

> +++ b/include/uapi/linux/videodev2.h

> @@ -738,6 +738,7 @@ struct v4l2_pix_format {

>  #define V4L2_PIX_FMT_Y12I     v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */

>  #define V4L2_PIX_FMT_Z16      v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */

>  #define V4L2_PIX_FMT_MT21C    v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode  */

> +#define V4L2_PIX_FMT_MM21     v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */

>  #define V4L2_PIX_FMT_INZI     v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */

>  #define V4L2_PIX_FMT_SUNXI_TILED_NV12 v4l2_fourcc('S', 'T', '1', '2') /* Sunxi Tiled NV12 Format */

>  #define V4L2_PIX_FMT_CNF4     v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit packed depth confidence information */

>
Alexandre Courbot July 4, 2020, 12:36 p.m. UTC | #2
On Fri, Jul 3, 2020 at 5:39 PM Hans Verkuil <hverkuil@xs4all.nl> wrote:
>

> On 30/06/2020 08:27, Alexandre Courbot wrote:

> > 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.

> >

> > Signed-off-by: Alexandre Courbot <acourbot@chromium.org>

> > ---

> >  drivers/media/v4l2-core/v4l2-ioctl.c | 1 +

> >  include/uapi/linux/videodev2.h       | 1 +

> >  2 files changed, 2 insertions(+)

> >

> > diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c

> > index 02bfef0da76d..612be602bf76 100644

> > --- a/drivers/media/v4l2-core/v4l2-ioctl.c

> > +++ b/drivers/media/v4l2-core/v4l2-ioctl.c

> > @@ -1398,6 +1398,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)

> >       case V4L2_META_FMT_UVC:         descr = "UVC Payload Header Metadata"; break;

> >       case V4L2_META_FMT_D4XX:        descr = "Intel D4xx UVC Metadata"; break;

> >       case V4L2_META_FMT_VIVID:       descr = "Vivid Metadata"; break;

> > +     case V4L2_PIX_FMT_MM21:         descr = "Mediatek 8-bit block format"; break;

>

> Can you move this up so it comes after V4L2_PIX_FMT_KONICA420?


Sure.

>

> This format should also be added to Documentation/userspace-api/media/v4l/pixfmt-reserved.rst.


Added a description right next to the related MT21C format.

Thanks for the review!
Alex.
diff mbox series

Patch

diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index 02bfef0da76d..612be602bf76 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1398,6 +1398,7 @@  static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
 	case V4L2_META_FMT_UVC:		descr = "UVC Payload Header Metadata"; break;
 	case V4L2_META_FMT_D4XX:	descr = "Intel D4xx UVC Metadata"; break;
 	case V4L2_META_FMT_VIVID:       descr = "Vivid Metadata"; break;
+	case V4L2_PIX_FMT_MM21:		descr = "Mediatek 8-bit block format"; break;
 
 	default:
 		/* Compressed formats */
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 303805438814..a35f65115bca 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -738,6 +738,7 @@  struct v4l2_pix_format {
 #define V4L2_PIX_FMT_Y12I     v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
 #define V4L2_PIX_FMT_Z16      v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
 #define V4L2_PIX_FMT_MT21C    v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode  */
+#define V4L2_PIX_FMT_MM21     v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
 #define V4L2_PIX_FMT_INZI     v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */
 #define V4L2_PIX_FMT_SUNXI_TILED_NV12 v4l2_fourcc('S', 'T', '1', '2') /* Sunxi Tiled NV12 Format */
 #define V4L2_PIX_FMT_CNF4     v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit packed depth confidence information */