mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
decoder: vc1: fails only on advanced profile
In commit 2eb4394
the frame coding mode was verified for progressive
regardless the profile. But the FCM is only valid in the advanced
profile. This patch checks for the advanced profile before verifying FCM for
progressive.
https://bugzilla.gnome.org/show_bug.cgi?id=769250
This commit is contained in:
parent
59821a21e9
commit
7ebef58093
1 changed files with 4 additions and 1 deletions
|
@ -957,7 +957,9 @@ decode_frame (GstVaapiDecoderVC1 * decoder, GstVC1BDU * rbdu, GstVC1BDU * ebdu)
|
||||||
return get_status (result);
|
return get_status (result);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frame_hdr->pic.advanced.fcm != GST_VC1_FRAME_PROGRESSIVE) {
|
/* @FIXME: intel-driver cannot handle interlaced frames */
|
||||||
|
if (priv->profile == GST_VAAPI_PROFILE_VC1_ADVANCED
|
||||||
|
&& frame_hdr->pic.advanced.fcm != GST_VC1_FRAME_PROGRESSIVE) {
|
||||||
GST_ERROR ("interlaced video not supported");
|
GST_ERROR ("interlaced video not supported");
|
||||||
return GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE;
|
return GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE;
|
||||||
}
|
}
|
||||||
|
@ -1304,6 +1306,7 @@ gst_vaapi_decoder_vc1_parse (GstVaapiDecoder * base_decoder,
|
||||||
flags |= GST_VAAPI_DECODER_UNIT_FLAG_SLICE;
|
flags |= GST_VAAPI_DECODER_UNIT_FLAG_SLICE;
|
||||||
break;
|
break;
|
||||||
case GST_VC1_FIELD:
|
case GST_VC1_FIELD:
|
||||||
|
/* @FIXME: intel-driver cannot handle interlaced frames */
|
||||||
GST_ERROR ("interlaced video not supported");
|
GST_ERROR ("interlaced video not supported");
|
||||||
return GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE;
|
return GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue