Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
|| profile == GST_VAAPI_PROFILE_H265_MAIN_444
|| profile == GST_VAAPI_PROFILE_H265_MAIN_444_10
|| profile == GST_VAAPI_PROFILE_H265_MAIN12
- || profile == GST_VAAPI_PROFILE_H265_MAIN_444_12)
+ || profile == GST_VAAPI_PROFILE_H265_MAIN_444_12
+ || profile == GST_VAAPI_PROFILE_H265_MAIN_422_12)
return TRUE;
return FALSE;
}
"video/x-h265", "main-12"},
{GST_VAAPI_PROFILE_H265_MAIN_444_12, VAProfileHEVCMain444_12,
"video/x-h265", "main-444-12"},
+ {GST_VAAPI_PROFILE_H265_MAIN_422_12, VAProfileHEVCMain422_12,
+ "video/x-h265", "main-422-12"},
{GST_VAAPI_PROFILE_H265_SCREEN_EXTENDED_MAIN, VAProfileHEVCSccMain,
"video/x-h265", "screen-extended-main"},
{GST_VAAPI_PROFILE_H265_SCREEN_EXTENDED_MAIN_10, VAProfileHEVCSccMain10,
GST_VAAPI_MAKE_PROFILE(H265,10),
GST_VAAPI_PROFILE_H265_MAIN12 = GST_VAAPI_MAKE_PROFILE(H265,11),
GST_VAAPI_PROFILE_H265_MAIN_444_12 = GST_VAAPI_MAKE_PROFILE(H265,12),
+ GST_VAAPI_PROFILE_H265_MAIN_422_12 = GST_VAAPI_MAKE_PROFILE(H265,13),
GST_VAAPI_PROFILE_VP9_0 = GST_VAAPI_MAKE_PROFILE(VP9,1),
GST_VAAPI_PROFILE_VP9_1 = GST_VAAPI_MAKE_PROFILE(VP9,2),
GST_VAAPI_PROFILE_VP9_2 = GST_VAAPI_MAKE_PROFILE(VP9,3),
case GST_H265_PROFILE_MAIN_422_10_INTRA:
vaapi_profile = GST_VAAPI_PROFILE_H265_MAIN_422_10;
break;
+ case GST_H265_PROFILE_MAIN_422_12:
+ /* Main 422_12 Intra, recognize it as MAIN_422_12 */
+ case GST_H265_PROFILE_MAIN_422_12_INTRA:
+ vaapi_profile = GST_VAAPI_PROFILE_H265_MAIN_422_12;
+ break;
case GST_H265_PROFILE_MAIN_444:
/* Main 444 Intra, recognize it as MAIN_444 */
case GST_H265_PROFILE_MAIN_444_INTRA:
chroma_type = GST_VAAPI_CHROMA_TYPE_YUV422;
else if (depth > 8 && depth <= 10)
chroma_type = GST_VAAPI_CHROMA_TYPE_YUV422_10BPP;
+ else if (depth > 10 && depth <= 12)
+ chroma_type = GST_VAAPI_CHROMA_TYPE_YUV422_12BPP;
break;
case 3:
if (depth == 8)
break;
case GST_VAAPI_CHROMA_TYPE_YUV422:
case GST_VAAPI_CHROMA_TYPE_YUV422_10BPP:
+ case GST_VAAPI_CHROMA_TYPE_YUV422_12BPP:
chroma_format_idc = 2;
break;
case GST_VAAPI_CHROMA_TYPE_YUV444:
return GST_VIDEO_FORMAT_Y410;
case GST_VAAPI_CHROMA_TYPE_YUV444_12BPP:
return GST_VIDEO_FORMAT_Y412_LE;
+ case GST_VAAPI_CHROMA_TYPE_YUV422_12BPP:
+ return GST_VIDEO_FORMAT_Y212_LE;
default:
return GST_VIDEO_FORMAT_UNKNOWN;
}
|| profile == GST_VAAPI_PROFILE_H265_MAIN_444
|| profile == GST_VAAPI_PROFILE_H265_MAIN_444_10
|| profile == GST_VAAPI_PROFILE_H265_MAIN12
- || profile == GST_VAAPI_PROFILE_H265_MAIN_444_12) {
+ || profile == GST_VAAPI_PROFILE_H265_MAIN_444_12
+ || profile == GST_VAAPI_PROFILE_H265_MAIN_422_12) {
gchar *profiles[3], *intra_name;
intra_name = g_strdup_printf ("%s-intra", profile_name);