From 217a723b4e0573129c4ec9c31ca3ee666a2a64f6 Mon Sep 17 00:00:00 2001 From: Jun Zhao <mypopydev@gmail.com> Date: Mon, 9 Oct 2017 15:50:19 +0800 Subject: [PATCH] lavc/vaapi_decode: fix profile search when profile mismatch is allowed When profile mismatch is allowed, use the highest supported profile for VAAPI decoding. Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net> --- libavcodec/vaapi_decode.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c index 5a555b2bd3e..27ef33837c1 100644 --- a/libavcodec/vaapi_decode.c +++ b/libavcodec/vaapi_decode.c @@ -281,7 +281,7 @@ static int vaapi_decode_make_config(AVCodecContext *avctx) VAStatus vas; int err, i, j; const AVCodecDescriptor *codec_desc; - VAProfile profile, *profile_list = NULL; + VAProfile profile, va_profile, *profile_list = NULL; int profile_count, exact_match, alt_profile; const AVPixFmtDescriptor *sw_desc, *desc; @@ -328,6 +328,7 @@ static int vaapi_decode_make_config(AVCodecContext *avctx) if (exact_match) break; alt_profile = vaapi_profile_map[i].codec_profile; + va_profile = vaapi_profile_map[i].va_profile; } } av_freep(&profile_list); @@ -347,6 +348,7 @@ static int vaapi_decode_make_config(AVCodecContext *avctx) av_log(avctx, AV_LOG_WARNING, "Using possibly-" "incompatible profile %d instead.\n", alt_profile); + profile = va_profile; } else { av_log(avctx, AV_LOG_VERBOSE, "Codec %s profile %d not " "supported for hardware decode.\n", -- GitLab