diff mbox series

[7/8] media: imx: utils: Add more Bayer formats

Message ID 20220204121514.2762676-8-alexander.stein@ew.tq-group.com
State Superseded
Headers show
Series imx7/imx8mm media / csi patches | expand

Commit Message

Alexander Stein Feb. 4, 2022, 12:15 p.m. UTC
Without this the ioctl VIDIOC_ENUM_FMT will not list the 10/12/14-Bit
Bayer formats. This in return results in
"v4l2-ctl --set-fmt-video pixelformat='RG10'" failing to set the
pixelformat as it is not enumerated as supported format.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
This adds the following formats to `v4l2-ctl --list-formats`
[...]
        [18]: 'BG10' (10-bit Bayer BGBG/GRGR)
        [19]: 'GB10' (10-bit Bayer GBGB/RGRG)
        [20]: 'BA10' (10-bit Bayer GRGR/BGBG)
        [21]: 'RG10' (10-bit Bayer RGRG/GBGB)
        [22]: 'BG12' (12-bit Bayer BGBG/GRGR)
        [23]: 'GB12' (12-bit Bayer GBGB/RGRG)
        [24]: 'BA12' (12-bit Bayer GRGR/BGBG)
        [25]: 'RG12' (12-bit Bayer RGRG/GBGB)
        [26]: 'BG14' (14-bit Bayer BGBG/GRGR)
        [27]: 'GB14' (14-bit Bayer GBGB/RGRG)
        [28]: 'GR14' (14-bit Bayer GRGR/BGBG)
        [29]: 'RG14' (14-bit Bayer RGRG/GBGB)
[...]

 drivers/staging/media/imx/imx-media-utils.c | 72 +++++++++++++++++++++
 1 file changed, 72 insertions(+)

Comments

Laurent Pinchart Feb. 5, 2022, 3:31 a.m. UTC | #1
Hi Alexander,

Thank you for the patch.

On Fri, Feb 04, 2022 at 01:15:13PM +0100, Alexander Stein wrote:
> Without this the ioctl VIDIOC_ENUM_FMT will not list the 10/12/14-Bit
> Bayer formats. This in return results in
> "v4l2-ctl --set-fmt-video pixelformat='RG10'" failing to set the
> pixelformat as it is not enumerated as supported format.
> 
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>

Do IPUv3-based SoCs support 10-, 12- and 14-bit formats ? If so,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> This adds the following formats to `v4l2-ctl --list-formats`
> [...]
>         [18]: 'BG10' (10-bit Bayer BGBG/GRGR)
>         [19]: 'GB10' (10-bit Bayer GBGB/RGRG)
>         [20]: 'BA10' (10-bit Bayer GRGR/BGBG)
>         [21]: 'RG10' (10-bit Bayer RGRG/GBGB)
>         [22]: 'BG12' (12-bit Bayer BGBG/GRGR)
>         [23]: 'GB12' (12-bit Bayer GBGB/RGRG)
>         [24]: 'BA12' (12-bit Bayer GRGR/BGBG)
>         [25]: 'RG12' (12-bit Bayer RGRG/GBGB)
>         [26]: 'BG14' (14-bit Bayer BGBG/GRGR)
>         [27]: 'GB14' (14-bit Bayer GBGB/RGRG)
>         [28]: 'GR14' (14-bit Bayer GRGR/BGBG)
>         [29]: 'RG14' (14-bit Bayer RGRG/GBGB)
> [...]
> 
>  drivers/staging/media/imx/imx-media-utils.c | 72 +++++++++++++++++++++
>  1 file changed, 72 insertions(+)
> 
> diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c
> index e0a256a08c3b..ea56c82d3b32 100644
> --- a/drivers/staging/media/imx/imx-media-utils.c
> +++ b/drivers/staging/media/imx/imx-media-utils.c
> @@ -130,6 +130,78 @@ static const struct imx_media_pixfmt pixel_formats[] = {
>  		.cs     = IPUV3_COLORSPACE_RGB,
>  		.bpp    = 8,
>  		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SBGGR10,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR10_1X10),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 10,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SGBRG10,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG10_1X10),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 10,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SGRBG10,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG10_1X10),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 10,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SRGGB10,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB10_1X10),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 10,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SBGGR12,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR12_1X12),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 12,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SGBRG12,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG12_1X12),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 12,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SGRBG12,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG12_1X12),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 12,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SRGGB12,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB12_1X12),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 12,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SBGGR14,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR14_1X14),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 14,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SGBRG14,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG14_1X14),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 14,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SGRBG14,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG14_1X14),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 14,
> +		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_SRGGB14,
> +		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB14_1X14),
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 14,
> +		.bayer  = true,
>  	}, {
>  		.fourcc = V4L2_PIX_FMT_SBGGR16,
>  		.codes  = IMX_BUS_FMTS(
diff mbox series

Patch

diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c
index e0a256a08c3b..ea56c82d3b32 100644
--- a/drivers/staging/media/imx/imx-media-utils.c
+++ b/drivers/staging/media/imx/imx-media-utils.c
@@ -130,6 +130,78 @@  static const struct imx_media_pixfmt pixel_formats[] = {
 		.cs     = IPUV3_COLORSPACE_RGB,
 		.bpp    = 8,
 		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SBGGR10,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR10_1X10),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 10,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SGBRG10,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG10_1X10),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 10,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SGRBG10,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG10_1X10),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 10,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SRGGB10,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB10_1X10),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 10,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SBGGR12,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR12_1X12),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 12,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SGBRG12,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG12_1X12),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 12,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SGRBG12,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG12_1X12),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 12,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SRGGB12,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB12_1X12),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 12,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SBGGR14,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR14_1X14),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 14,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SGBRG14,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG14_1X14),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 14,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SGRBG14,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG14_1X14),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 14,
+		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_SRGGB14,
+		.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB14_1X14),
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 14,
+		.bayer  = true,
 	}, {
 		.fourcc = V4L2_PIX_FMT_SBGGR16,
 		.codes  = IMX_BUS_FMTS(