mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-23 15:48:23 +00:00
v4l2: Directly map V4L2 formats to DRM formats
As in the long term not all V4L2 formats will have a libgstvideo implementation, add a dedicated DRM fourcc map. This will be used to enable memory:DMABuf caps features. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7633>
This commit is contained in:
parent
50bb74e0c1
commit
14b5df4850
1 changed files with 131 additions and 116 deletions
|
@ -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* */
|
||||
|
|
Loading…
Reference in a new issue