It appears vdpau drivers can return constrained baseline as unsupported,
even if libvdpau knows about the symbol, and the main profile is
supported.
---
Reenables hw decoding of CBP video with some drivers.
---
libavcodec/vdpau.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c
index 8606624..77b649b 100644
--- a/libavcodec/vdpau.c
+++ b/libavcodec/vdpau.c
@@ -173,8 +173,7 @@ 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 */
+ if ((status != VDP_STATUS_OK || supported != VDP_TRUE) && profile ==
VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE) {
profile = VDP_DECODER_PROFILE_H264_MAIN;
status = decoder_query_caps(vdctx->device, profile, &supported,
&max_level, &max_mb,
--
2.5.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel