Le 2015-09-26 16:17, wm4 a écrit :
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,

Seems fine.

--
Rémi Denis-Courmont
http://www.remlab.net/
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to