[libcamera-devel] [PATCH] gstreamer: Support planar formats

Thorsten von Eicken tve at voneicken.com
Tue Sep 21 21:47:44 CEST 2021


Thanks!!

On 9/21/21 08:35, Kieran Bingham wrote:
> Existing pipeline handlers already support planar YUV formats.
> Extend the gstreamer format map to incorporate them.
>
> While here, split the formats into distinct groups.
>
> Signed-off-by: Kieran Bingham<kieran.bingham at ideasonboard.com>
> ---
>   src/gstreamer/gstlibcamera-utils.cpp | 13 +++++++++++++
>   1 file changed, 13 insertions(+)
>
> diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp
> index 0af91c1acb67..5636f3e7e1a6 100644
> --- a/src/gstreamer/gstlibcamera-utils.cpp
> +++ b/src/gstreamer/gstlibcamera-utils.cpp
> @@ -16,19 +16,32 @@ static struct {
>   	GstVideoFormat gst_format;
>   	PixelFormat format;
>   } format_map[] = {
> +	/* Compressed */
>   	{ GST_VIDEO_FORMAT_ENCODED, formats::MJPEG },
> +
> +	/* RGB */
>   	{ GST_VIDEO_FORMAT_RGB, formats::BGR888 },
>   	{ GST_VIDEO_FORMAT_BGR, formats::RGB888 },
>   	{ GST_VIDEO_FORMAT_ARGB, formats::BGRA8888 },
> +
> +	/* YUV Semiplanar */
>   	{ GST_VIDEO_FORMAT_NV12, formats::NV12 },
>   	{ GST_VIDEO_FORMAT_NV21, formats::NV21 },
>   	{ GST_VIDEO_FORMAT_NV16, formats::NV16 },
>   	{ GST_VIDEO_FORMAT_NV61, formats::NV61 },
>   	{ GST_VIDEO_FORMAT_NV24, formats::NV24 },
> +
> +	/* YUV Packed */
>   	{ GST_VIDEO_FORMAT_UYVY, formats::UYVY },
>   	{ GST_VIDEO_FORMAT_VYUY, formats::VYUY },
>   	{ GST_VIDEO_FORMAT_YUY2, formats::YUYV },
>   	{ GST_VIDEO_FORMAT_YVYU, formats::YVYU },
> +
> +	/* Planar Formats */
> +	{ GST_VIDEO_FORMAT_I420, formats::YUV420 },
> +	{ GST_VIDEO_FORMAT_YV12, formats::YVU420 },
> +	{ GST_VIDEO_FORMAT_Y42B, formats::YUV422 },
> +
>   	/* \todo NV42 is used in libcamera but is not mapped in GStreamer yet. */
>   };
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20210921/d2dd8cae/attachment.htm>


More information about the libcamera-devel mailing list