mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-21 15:56:42 +00:00
vaapih264enc: accept baseline as constrained baseline compatible
This commit is contained in:
parent
9f627ef234
commit
73159cdc5d
2 changed files with 10 additions and 0 deletions
|
@ -295,6 +295,12 @@ gst_vaapiencode_h264_set_config (GstVaapiEncode * base_encode)
|
||||||
if (profile == GST_VAAPI_PROFILE_UNKNOWN)
|
if (profile == GST_VAAPI_PROFILE_UNKNOWN)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
/* if allwed caps request baseline (which is deprecated), the
|
||||||
|
* encoder will try with constrained baseline which is
|
||||||
|
* compatible. */
|
||||||
|
if (profile == GST_VAAPI_PROFILE_H264_BASELINE)
|
||||||
|
profile = GST_VAAPI_PROFILE_H264_CONSTRAINED_BASELINE;
|
||||||
|
|
||||||
tmp_caps = gst_caps_from_string (GST_CODEC_CAPS);
|
tmp_caps = gst_caps_from_string (GST_CODEC_CAPS);
|
||||||
gst_caps_set_simple (tmp_caps, "profile", G_TYPE_STRING,
|
gst_caps_set_simple (tmp_caps, "profile", G_TYPE_STRING,
|
||||||
gst_vaapi_profile_get_name (profile), NULL);
|
gst_vaapi_profile_get_name (profile), NULL);
|
||||||
|
@ -381,6 +387,8 @@ retry:
|
||||||
if (!gst_caps_can_intersect (allowed_caps, tmp_caps)) {
|
if (!gst_caps_can_intersect (allowed_caps, tmp_caps)) {
|
||||||
if (profile == GST_VAAPI_PROFILE_H264_CONSTRAINED_BASELINE) {
|
if (profile == GST_VAAPI_PROFILE_H264_CONSTRAINED_BASELINE) {
|
||||||
profile = GST_VAAPI_PROFILE_H264_BASELINE;
|
profile = GST_VAAPI_PROFILE_H264_BASELINE;
|
||||||
|
GST_INFO ("user might requested baseline profile, "
|
||||||
|
"trying constrained-baseline instead");
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1043,6 +1043,8 @@ gst_vaapi_h26x_encoder_get_profiles_from_caps (GstCaps * caps,
|
||||||
const gchar *str = g_value_get_string (value);
|
const gchar *str = g_value_get_string (value);
|
||||||
if (str) {
|
if (str) {
|
||||||
profile = func (str);
|
profile = func (str);
|
||||||
|
if (profile == GST_VAAPI_PROFILE_H264_BASELINE)
|
||||||
|
profile = GST_VAAPI_PROFILE_H264_CONSTRAINED_BASELINE;
|
||||||
if (profile != GST_VAAPI_PROFILE_UNKNOWN)
|
if (profile != GST_VAAPI_PROFILE_UNKNOWN)
|
||||||
g_array_append_val (profiles, profile);
|
g_array_append_val (profiles, profile);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue