video-format: Add Y212_LE format.
authorHe Junyan <junyan.he@intel.com>
Fri, 31 Jul 2020 06:38:42 +0000 (14:38 +0800)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Fri, 27 Nov 2020 14:29:01 +0000 (14:29 +0000)
It can be used as HEVC YUV_4:2:2 12bits stream's decoder output, and
also can be used as the input format for encoding HEVC YUV_4:2:2 12bits
stream.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>

gst-libs/gst/vaapi/gstvaapiimage.c
gst-libs/gst/vaapi/video-format.c
gst-libs/gst/vaapi/video-format.h

index ef35a0b..18389ad 100644 (file)
@@ -94,6 +94,7 @@ vaapi_image_is_linear (const VAImage * va_image)
     case VA_FOURCC ('Y', '2', '1', '0'):
     case VA_FOURCC ('Y', '4', '1', '0'):
     case VA_FOURCC ('A', 'R', '3', '0'):
+    case VA_FOURCC ('Y', '2', '1', '2'):
       data_size = 4 * width * height;
       break;
     case VA_FOURCC ('P', '0', '1', '0'):
index fc81407..dc32d5f 100644 (file)
@@ -112,6 +112,7 @@ static const GstVideoFormatMap gst_vaapi_video_default_formats[] = {
 
   DEF_YUV (VA_BYTE_ORDER_NOT_CARE, Y210, Y210, ('Y', '2', '1', '0'), 32, 422_10BPP),
   DEF_YUV (VA_BYTE_ORDER_NOT_CARE, Y410, Y410, ('Y', '4', '1', '0'), 32, 444_10BPP),
+  DEF_YUV (VA_BYTE_ORDER_NOT_CARE, Y212_LE, Y212, ('Y', '2', '1', '2'), 32, 422_12BPP),
   DEF_YUV (VA_BYTE_ORDER_NOT_CARE, Y412_LE, Y412, ('Y', '4', '1', '2'), 32, 444_12BPP),
 
   /* RGB formats */
index 1882164..22e14fb 100644 (file)
@@ -30,7 +30,7 @@
 G_BEGIN_DECLS
 
 #define GST_VAAPI_FORMATS_ALL "{ ENCODED, " \
-  "NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, P012_LE, VUYA, Y210, Y410, Y412_LE, " \
+  "NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, P012_LE, VUYA, Y210, Y410, Y212_LE, Y412_LE, " \
   "ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE "  \
   "}"