video-format: Add Y412_LE format.

It can be used as HEVC YUV_4:4:4 12bits stream's decoder output, and
also can be used as the input format for encoding HEVC YUV_4:4:4 12bits
stream.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
This commit is contained in:
He Junyan 2020-07-30 23:13:10 +08:00 committed by Víctor Manuel Jáquez Leal
parent ed9a708397
commit 92b30ffa1a
3 changed files with 5 additions and 1 deletions

View file

@ -104,6 +104,9 @@ vaapi_image_is_linear (const VAImage * va_image)
case VA_FOURCC ('4', '4', '4', 'P'):
data_size = 3 * width * height;
break;
case VA_FOURCC ('Y', '4', '1', '2'):
data_size = 8 * width * height;
break;
default:
GST_ERROR ("FIXME: incomplete formats %" GST_FOURCC_FORMAT,
GST_FOURCC_ARGS (va_image->format.fourcc));

View 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, Y412_LE, Y412, ('Y', '4', '1', '2'), 32, 444_12BPP),
/* RGB formats */
DEF_RGB (VA_LSB_FIRST, ARGB, BGRA8888, ('A', 'R', 'G', 'B'), 32, 32, 0x0000ff00,

View 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, " \
"NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, P012_LE, VUYA, Y210, Y410, Y412_LE, " \
"ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE " \
"}"