diff --git a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c index 9b64f42f43..2274249b36 100644 --- a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c +++ b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c @@ -35,6 +35,7 @@ #endif #include "ext/videodev2.h" +#include "ext/drm_fourcc.h" #include "gstv4l2object.h" #include "gstv4l2tuner.h" #include "gstv4l2colorbalance.h" @@ -81,146 +82,160 @@ typedef struct { guint32 v4l2_format; GstVideoFormat gst_format; + guint32 drm_fourcc; + guint64 drm_modifier; GstV4L2FormatFlags flags; } GstV4L2FormatDesc; + +#define MAP_FMT(v4l2_format, gst_fmt) \ + V4L2_PIX_FMT_##v4l2_format, GST_VIDEO_FORMAT_##gst_fmt + +#define MAP_DRM(drm_fmt, drm_mod) \ + DRM_FORMAT_##drm_fmt, DRM_FORMAT_MOD_##drm_mod + +#define MAP_DRM_BE(drm_fmt, drm_mod) \ + DRM_FORMAT_##drm_fmt | DRM_FORMAT_BIG_ENDIAN, DRM_FORMAT_MOD_##drm_mod + +#define MAP_ENC_FMT(v4l2_format, gst_fmt) \ + V4L2_PIX_FMT_##v4l2_format, GST_VIDEO_FORMAT_##gst_fmt, DRM_FORMAT_INVALID, DRM_FORMAT_MOD_INVALID + /* *INDENT-OFF* */ -#define MAP_FMT(v4l2_format, gst_fmt) V4L2_PIX_FMT_##v4l2_format, GST_VIDEO_FORMAT_##gst_fmt static const GstV4L2FormatDesc gst_v4l2_formats[] = { /* RGB formats */ - {MAP_FMT (RGB332, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (ARGB555, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (XRGB555, RGB15), GST_V4L2_RAW}, - {MAP_FMT (XRGB555X, RGB15), GST_V4L2_RAW}, - {MAP_FMT (ARGB555X, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (RGB565, RGB16), GST_V4L2_RAW}, - {MAP_FMT (RGB565X, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (BGR666, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (BGR24, BGR), GST_V4L2_RAW}, - {MAP_FMT (RGB24, RGB), GST_V4L2_RAW}, - {MAP_FMT (ABGR32, BGRA), GST_V4L2_RAW}, - {MAP_FMT (XBGR32, BGRx), GST_V4L2_RAW}, - {MAP_FMT (BGRA32, ABGR), GST_V4L2_RAW}, - {MAP_FMT (BGRX32, xBGR), GST_V4L2_RAW}, - {MAP_FMT (RGBA32, RGBA), GST_V4L2_RAW}, - {MAP_FMT (RGBX32, RGBx), GST_V4L2_RAW}, - {MAP_FMT (ARGB32, ARGB), GST_V4L2_RAW}, - {MAP_FMT (XRGB32, xRGB), GST_V4L2_RAW}, + {MAP_FMT (RGB332, UNKNOWN), MAP_DRM (RGB332, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (ARGB555, UNKNOWN), MAP_DRM (ARGB1555, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (XRGB555, RGB15), MAP_DRM (XRGB1555, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (XRGB555X,UNKNOWN), MAP_DRM_BE (XRGB1555, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (ARGB555X, UNKNOWN), MAP_DRM_BE (ARGB1555, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (RGB565, RGB16), MAP_DRM (RGB565, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (RGB565X,UNKNOWN), MAP_DRM_BE (RGB565, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (BGR666, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (BGR24, BGR), MAP_DRM (RGB888, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (RGB24, RGB), MAP_DRM (BGR888, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (ABGR32, BGRA), MAP_DRM (ARGB8888, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (XBGR32, BGRx), MAP_DRM (XRGB8888, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (BGRA32, ABGR), MAP_DRM (RGBA8888, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (BGRX32, xBGR), MAP_DRM (RGBX8888, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (RGBA32, RGBA), MAP_DRM (ABGR8888, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (RGBX32, RGBx), MAP_DRM (XBGR8888, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (ARGB32, ARGB), MAP_DRM (BGRA8888, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (XRGB32, xRGB), MAP_DRM (BGRX8888, LINEAR), GST_V4L2_RAW}, /* Deprecated Packed RGB Image Formats (alpha ambiguity) */ - {MAP_FMT (RGB444, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (RGB555, RGB15), GST_V4L2_RAW}, - {MAP_FMT (RGB555X, BGR15), GST_V4L2_RAW}, - {MAP_FMT (BGR32, BGRx), GST_V4L2_RAW}, - {MAP_FMT (BGR32, BGRA), GST_V4L2_RAW}, - {MAP_FMT (RGB32, xRGB), GST_V4L2_RAW}, - {MAP_FMT (RGB32, ARGB), GST_V4L2_RAW}, + {MAP_FMT (RGB444, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (RGB555, RGB15), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (RGB555X, BGR15), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (BGR32, BGRx), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (BGR32, BGRA), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (RGB32, xRGB), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (RGB32, ARGB), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, /* Grey formats */ - {MAP_FMT (GREY, GRAY8), GST_V4L2_RAW}, - {MAP_FMT (Y4, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (Y6, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (Y10, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (Y12, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (Y16, GRAY16_LE), GST_V4L2_RAW}, - {MAP_FMT (Y16_BE, GRAY16_BE), GST_V4L2_RAW}, - {MAP_FMT (Y10BPACK, UNKNOWN), GST_V4L2_RAW}, + {MAP_FMT (GREY, GRAY8), MAP_DRM (R8, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (Y4, UNKNOWN), MAP_DRM (R4, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (Y6, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (Y10, UNKNOWN), MAP_DRM (R10, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (Y12, UNKNOWN), MAP_DRM (R12, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (Y16, GRAY16_LE), MAP_DRM (R16, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (Y16_BE, GRAY16_BE), MAP_DRM_BE (R16, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (Y10BPACK, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, /* Palette formats */ - {MAP_FMT (PAL8, UNKNOWN), GST_V4L2_RAW}, + {MAP_FMT (PAL8, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, /* Chrominance formats */ - {MAP_FMT (UV8, UNKNOWN), GST_V4L2_RAW}, + {MAP_FMT (UV8, UNKNOWN), MAP_DRM (GR88, LINEAR), GST_V4L2_RAW}, /* Luminance+Chrominance formats */ - {MAP_FMT (YVU410, YVU9), GST_V4L2_RAW}, - {MAP_FMT (YVU420M, YV12), GST_V4L2_RAW}, - {MAP_FMT (YVU420, YV12), GST_V4L2_RAW}, - {MAP_FMT (YUYV, YUY2), GST_V4L2_RAW}, - {MAP_FMT (YYUV, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (YVYU, YVYU), GST_V4L2_RAW}, - {MAP_FMT (UYVY, UYVY), GST_V4L2_RAW}, - {MAP_FMT (VYUY, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (YUV422M, Y42B), GST_V4L2_RAW}, - {MAP_FMT (YUV422P, Y42B), GST_V4L2_RAW}, - {MAP_FMT (YUV411P, Y41B), GST_V4L2_RAW}, - {MAP_FMT (Y41P, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (YUV444, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (YUV555, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (YUV565, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (YUV32, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (YUV410, YUV9), GST_V4L2_RAW}, - {MAP_FMT (YUV420M, I420), GST_V4L2_RAW}, - {MAP_FMT (YUV420, I420), GST_V4L2_RAW}, - {MAP_FMT (HI240, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (M420, UNKNOWN), GST_V4L2_RAW}, + {MAP_FMT (YUV410, YUV9), MAP_DRM (YUV410, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YVU410, YVU9), MAP_DRM (YVU410, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YUV420M, I420), MAP_DRM (YUV420, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YUV420, I420), MAP_DRM (YUV420, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YVU420M, YV12), MAP_DRM (YVU420, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YVU420, YV12), MAP_DRM (YVU420, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YUYV, YUY2), MAP_DRM (YUYV, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YYUV, UNKNOWN), MAP_DRM (YVYU, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YVYU, YVYU), MAP_DRM (YVYU, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (UYVY, UYVY), MAP_DRM (UYVY, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (VYUY, UNKNOWN), MAP_DRM (VYUY, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YUV422M, Y42B), MAP_DRM (YUV422, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YUV422P, Y42B), MAP_DRM (YUV422, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (YUV411P, Y41B), MAP_DRM (YUV411, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (Y41P, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (YUV444, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (YUV555, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (YUV565, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (YUV32, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (HI240, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (M420, UNKNOWN), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, /* two planes -- one Y, one Cr + Cb interleaved */ - {MAP_FMT (NV12M, NV12), GST_V4L2_RAW}, - {MAP_FMT (NV12, NV12), GST_V4L2_RAW}, - {MAP_FMT (NV12MT, NV12_64Z32), GST_V4L2_RAW}, - {MAP_FMT (NV12MT_16X16, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (NV12_16L16, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (NV12M_8L128, NV12_8L128), GST_V4L2_RAW}, - {MAP_FMT (NV12M_10BE_8L128, NV12_10BE_8L128), GST_V4L2_RAW}, - {MAP_FMT (NV21M, NV21), GST_V4L2_RAW}, - {MAP_FMT (NV21, NV21), GST_V4L2_RAW}, - {MAP_FMT (NV16M, NV16), GST_V4L2_RAW}, - {MAP_FMT (NV16, NV16), GST_V4L2_RAW}, - {MAP_FMT (NV61M, NV61), GST_V4L2_RAW}, - {MAP_FMT (NV61, NV61), GST_V4L2_RAW}, - {MAP_FMT (NV24, NV24), GST_V4L2_RAW}, - {MAP_FMT (NV42, UNKNOWN), GST_V4L2_RAW}, - {MAP_FMT (MM21, NV12_16L32S), GST_V4L2_RAW}, + {MAP_FMT (NV12M, NV12), MAP_DRM (NV12, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (NV12, NV12), MAP_DRM (NV12, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (NV12MT, NV12_64Z32), MAP_DRM (NV12, SAMSUNG_64_32_TILE), GST_V4L2_RAW}, + {MAP_FMT (NV12MT_16X16, UNKNOWN), MAP_DRM (NV12, SAMSUNG_16_16_TILE), GST_V4L2_RAW}, + {MAP_FMT (NV12_16L16, UNKNOWN), MAP_DRM (NV12, SAMSUNG_16_16_TILE), GST_V4L2_RAW}, + {MAP_FMT (NV12M_8L128, NV12_8L128), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (NV12M_10BE_8L128, NV12_10BE_8L128), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, + {MAP_FMT (NV21M, NV21), MAP_DRM (NV21, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (NV21, NV21), MAP_DRM (NV21, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (NV16M, NV16), MAP_DRM (NV16, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (NV16, NV16), MAP_DRM (NV16, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (NV61M, NV61), MAP_DRM (NV61, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (NV61, NV61), MAP_DRM (NV61, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (NV24, NV24), MAP_DRM (NV24, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (NV42, UNKNOWN), MAP_DRM (NV42, LINEAR), GST_V4L2_RAW}, + {MAP_FMT (MM21, NV12_16L32S), MAP_DRM (INVALID, INVALID), GST_V4L2_RAW}, /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */ - {MAP_FMT (SBGGR8, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SGBRG8, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SGRBG8, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SRGGB8, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SBGGR10, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SGBRG10, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SGRBG10, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SRGGB10, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SBGGR12, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SGBRG12, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SGRBG12, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SRGGB12, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SBGGR14, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SGBRG14, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SGRBG14, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SRGGB14, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SBGGR16, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SGBRG16, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SGRBG16, ENCODED), GST_V4L2_BAYER}, - {MAP_FMT (SRGGB16, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SBGGR8, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SGBRG8, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SGRBG8, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SRGGB8, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SBGGR10, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SGBRG10, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SGRBG10, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SRGGB10, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SBGGR12, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SGBRG12, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SGRBG12, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SRGGB12, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SBGGR14, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SGBRG14, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SGRBG14, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SRGGB14, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SBGGR16, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SGBRG16, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SGRBG16, ENCODED), GST_V4L2_BAYER}, + {MAP_ENC_FMT (SRGGB16, ENCODED), GST_V4L2_BAYER}, /* compressed formats */ - {MAP_FMT (MJPEG, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (JPEG, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (PJPG, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (DV, ENCODED), GST_V4L2_TRANSPORT}, - {MAP_FMT (MPEG, ENCODED), GST_V4L2_TRANSPORT}, - {MAP_FMT (FWHT, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (H264, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (H264_NO_SC, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (H264_MVC, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (HEVC, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (H263, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (MPEG1, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (MPEG2, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (MPEG4, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (XVID, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (VC1_ANNEX_G, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (VC1_ANNEX_L, ENCODED), GST_V4L2_CODEC}, - {MAP_FMT (VP8, ENCODED), GST_V4L2_CODEC | GST_V4L2_NO_PARSE}, - {MAP_FMT (VP9, ENCODED), GST_V4L2_CODEC | GST_V4L2_NO_PARSE}, + {MAP_ENC_FMT (MJPEG, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (JPEG, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (PJPG, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (DV, ENCODED), GST_V4L2_TRANSPORT}, + {MAP_ENC_FMT (MPEG, ENCODED), GST_V4L2_TRANSPORT}, + {MAP_ENC_FMT (FWHT, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (H264, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (H264_NO_SC, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (H264_MVC, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (HEVC, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (H263, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (MPEG1, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (MPEG2, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (MPEG4, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (XVID, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (VC1_ANNEX_G, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (VC1_ANNEX_L, ENCODED), GST_V4L2_CODEC}, + {MAP_ENC_FMT (VP8, ENCODED), GST_V4L2_CODEC | GST_V4L2_NO_PARSE}, + {MAP_ENC_FMT (VP9, ENCODED), GST_V4L2_CODEC | GST_V4L2_NO_PARSE}, /* Vendor-specific formats */ - {MAP_FMT (WNVA, ENCODED), GST_V4L2_CODEC | GST_V4L2_RESOLUTION_AND_RATE}, - {MAP_FMT (SN9C10X, ENCODED), GST_V4L2_CODEC | GST_V4L2_RESOLUTION_AND_RATE}, - {MAP_FMT (PWC1, ENCODED), GST_V4L2_CODEC | GST_V4L2_RESOLUTION_AND_RATE}, - {MAP_FMT (PWC2, ENCODED), GST_V4L2_CODEC | GST_V4L2_RESOLUTION_AND_RATE}, + {MAP_ENC_FMT (WNVA, ENCODED), GST_V4L2_CODEC | GST_V4L2_RESOLUTION_AND_RATE}, + {MAP_ENC_FMT (SN9C10X, ENCODED), GST_V4L2_CODEC | GST_V4L2_RESOLUTION_AND_RATE}, + {MAP_ENC_FMT (PWC1, ENCODED), GST_V4L2_CODEC | GST_V4L2_RESOLUTION_AND_RATE}, + {MAP_ENC_FMT (PWC2, ENCODED), GST_V4L2_CODEC | GST_V4L2_RESOLUTION_AND_RATE}, }; #undef MAP_FMT /* *INDENT-ON* */