mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-31 03:29:50 +00:00
vkh264dec: support h264 extended profile
Extended is identical to main but allows FMO/ASO features to be used, and prevent using CABAC. Using similar logic to "baseline", assume that if we support main, we can also do extended. This fixes the following fluster vectors, which otherwise would fail when trying to link the parsebin pad. BA3_SVA_C MR6_BT_B MR7_BT_B MR8_BT_B Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>
This commit is contained in:
parent
36c01d0579
commit
538747907d
2 changed files with 5 additions and 2 deletions
|
@ -252567,7 +252567,7 @@
|
|||
"klass": "Codec/Decoder/Video/Hardware",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-h264:\n profile: { (string)high, (string)main, (string)constrained-baseline, (string)baseline }\n stream-format: { (string)avc, (string)byte-stream }\n alignment: au\n",
|
||||
"caps": "video/x-h264:\n profile: { (string)high, (string)main, (string)constrained-baseline, (string)baseline, (string)extended }\n stream-format: { (string)avc, (string)byte-stream }\n alignment: au\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
|
|
|
@ -97,7 +97,7 @@ struct _GstVulkanH264Decoder
|
|||
static GstStaticPadTemplate gst_vulkan_h264dec_sink_template =
|
||||
GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
|
||||
GST_STATIC_CAPS ("video/x-h264, "
|
||||
"profile = { (string) high, (string) main, (string) constrained-baseline, (string) baseline } ,"
|
||||
"profile = { (string) high, (string) main, (string) constrained-baseline, (string) baseline, (string) extended } ,"
|
||||
"stream-format = { (string) avc, (string) byte-stream }, "
|
||||
"alignment = (string) au"));
|
||||
|
||||
|
@ -452,6 +452,9 @@ _get_h264_profile (GstH264Profile profile_idc)
|
|||
case GST_H264_PROFILE_BASELINE:
|
||||
return STD_VIDEO_H264_PROFILE_IDC_BASELINE;
|
||||
case GST_H264_PROFILE_MAIN:
|
||||
/* Similar to baseline and constrained-baseline, extended is the same as
|
||||
* main if we ignore ASO/FMO features. */
|
||||
case GST_H264_PROFILE_EXTENDED:
|
||||
return STD_VIDEO_H264_PROFILE_IDC_MAIN;
|
||||
case GST_H264_PROFILE_HIGH:
|
||||
return STD_VIDEO_H264_PROFILE_IDC_HIGH;
|
||||
|
|
Loading…
Reference in a new issue