gstreamer: Support planar formats
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@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
This commit is contained in:
parent
a3b1539869
commit
f9ca897c7f
1 changed files with 13 additions and 0 deletions
|
@ -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 Planar */
|
||||
{ GST_VIDEO_FORMAT_I420, formats::YUV420 },
|
||||
{ GST_VIDEO_FORMAT_YV12, formats::YVU420 },
|
||||
{ GST_VIDEO_FORMAT_Y42B, formats::YUV422 },
|
||||
|
||||
/* 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 },
|
||||
|
||||
/* \todo NV42 is used in libcamera but is not mapped in GStreamer yet. */
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue