summaryrefslogtreecommitdiff
path: root/libavcodec/vdpau.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/vdpau.c')
-rw-r--r--libavcodec/vdpau.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c
index 33be4bed34..ea239bb311 100644
--- a/libavcodec/vdpau.c
+++ b/libavcodec/vdpau.c
@@ -138,6 +138,15 @@ int ff_vdpau_common_init(AVCodecContext *avctx, VdpDecoderProfile profile,
status = decoder_query_caps(vdctx->device, profile, &supported, &max_level,
&max_mb, &max_width, &max_height);
+#ifdef VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE
+ if (status != VDP_STATUS_OK && profile == VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE) {
+ /* Run-time backward compatibility for libvdpau 0.8 and earlier */
+ profile = VDP_DECODER_PROFILE_H264_MAIN;
+ status = decoder_query_caps(vdctx->device, profile, &supported,
+ &max_level, &max_mb,
+ &max_width, &max_height);
+ }
+#endif
if (status != VDP_STATUS_OK)
return vdpau_error(status);