From 009c2c72c9f14d77fbadbcf9999f7e6d3b4d91cf Mon Sep 17 00:00:00 2001 From: Sreerenj Balachandran Date: Mon, 7 Dec 2015 19:06:28 +0200 Subject: [PATCH] Add definitions for YUV420 with more than 8 bits per channel --- gst-libs/gst/vaapi/gstvaapisurface.h | 4 +++- gst-libs/gst/vaapi/gstvaapiutils.c | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/vaapi/gstvaapisurface.h b/gst-libs/gst/vaapi/gstvaapisurface.h index 50e6d04..b176a2c 100644 --- a/gst-libs/gst/vaapi/gstvaapisurface.h +++ b/gst-libs/gst/vaapi/gstvaapisurface.h @@ -65,6 +65,7 @@ G_BEGIN_DECLS * @GST_VAAPI_CHROMA_TYPE_YUV400: YUV 4:0:0 chroma format (grayscale) * @GST_VAAPI_CHROMA_TYPE_RGB32: 32-bit RGB chroma format * @GST_VAAPI_CHROMA_TYPE_RGB16: 16-bit RGB chroma format + * @GST_VAAPI_CHROMA_TYPE_YUV420_10BPP: YUV 4:2:0 chroma format, more than 8 bits per channel * * The set of all chroma types for #GstVaapiSurface. */ @@ -77,7 +78,8 @@ typedef enum GST_VAAPI_CHROMA_TYPE_YUV410, GST_VAAPI_CHROMA_TYPE_YUV400, GST_VAAPI_CHROMA_TYPE_RGB32, - GST_VAAPI_CHROMA_TYPE_RGB16 + GST_VAAPI_CHROMA_TYPE_RGB16, + GST_VAAPI_CHROMA_TYPE_YUV420_10BPP } GstVaapiChromaType; /** diff --git a/gst-libs/gst/vaapi/gstvaapiutils.c b/gst-libs/gst/vaapi/gstvaapiutils.c index 117fd4e..c1cca46 100644 --- a/gst-libs/gst/vaapi/gstvaapiutils.c +++ b/gst-libs/gst/vaapi/gstvaapiutils.c @@ -231,6 +231,9 @@ string_of_va_chroma_format (guint chroma_format) MAP (RGB32); MAP (RGBP); #endif +#if VA_CHECK_VERSION(0,38,1) + MAP (YUV420_10BPP); +#endif #undef MAP default: break; @@ -300,6 +303,11 @@ from_GstVaapiChromaType (guint chroma_type) format = VA_RT_FORMAT_RGB16; break; #endif +#if VA_CHECK_VERSION(0,38,1) + case GST_VAAPI_CHROMA_TYPE_YUV420_10BPP: + format = VA_RT_FORMAT_YUV420_10BPP; + break; +#endif default: format = 0; break; -- 2.7.4