summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst-libs/gst/vaapi/gstvaapidecoder_h264.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_h264.c b/gst-libs/gst/vaapi/gstvaapidecoder_h264.c
index c5c5fddc..c7885e4b 100644
--- a/gst-libs/gst/vaapi/gstvaapidecoder_h264.c
+++ b/gst-libs/gst/vaapi/gstvaapidecoder_h264.c
@@ -4050,10 +4050,9 @@ decode_picture (GstVaapiDecoderH264 * decoder, GstVaapiDecoderUnit * unit)
g_return_val_if_fail (sps != NULL, GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN);
/* Only decode base stream for MVC */
- switch (sps->profile_idc) {
- case GST_H264_PROFILE_MULTIVIEW_HIGH:
- case GST_H264_PROFILE_STEREO_HIGH:
- break;
+ if (priv->base_only && is_mvc_profile (sps->profile_idc)) {
+ GST_DEBUG ("multiview sequence but base-only is set: dropping frame");
+ return (GstVaapiDecoderStatus) GST_VAAPI_DECODER_STATUS_DROP_FRAME;
}
status = ensure_context (decoder, sps);