aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2017-03-27 20:46:11 +0100
committerMark Thompson <sw@jkqxz.net>2017-06-14 22:27:06 +0100
commit38820631746f86a2252c71ed4a588eb679dd9f40 (patch)
tree5fb87c1ad758372c6bfef7fab0feb058c5279069
parent49ae8a5e87f99b15514f5ef075d801e9ea8374e9 (diff)
downloadffmpeg-38820631746f86a2252c71ed4a588eb679dd9f40.tar.gz
vaapi: Add external control of allow-profile-mismatch
Uses the just-added ALLOW_PROFILE_MISMATCH flag. (cherry picked from commit 7acb90333a187b0e847b66f9d3511245423dc0ce)
-rw-r--r--libavcodec/vaapi_decode.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c
index b63fb94fc1..cf58aae4c6 100644
--- a/libavcodec/vaapi_decode.c
+++ b/libavcodec/vaapi_decode.c
@@ -286,14 +286,6 @@ static int vaapi_decode_make_config(AVCodecContext *avctx)
int profile_count, exact_match, alt_profile;
const AVPixFmtDescriptor *sw_desc, *desc;
- // Allowing a profile mismatch can be useful because streams may
- // over-declare their required capabilities - in particular, many
- // H.264 baseline profile streams (notably some of those in FATE)
- // only use the feature set of constrained baseline. This flag
- // would have to be be set by some external means in order to
- // actually be useful. (AV_HWACCEL_FLAG_IGNORE_PROFILE?)
- int allow_profile_mismatch = 0;
-
codec_desc = avcodec_descriptor_get(avctx->codec_id);
if (!codec_desc) {
err = AVERROR(EINVAL);
@@ -348,7 +340,8 @@ static int vaapi_decode_make_config(AVCodecContext *avctx)
goto fail;
}
if (!exact_match) {
- if (allow_profile_mismatch) {
+ if (avctx->hwaccel_flags &
+ AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH) {
av_log(avctx, AV_LOG_VERBOSE, "Codec %s profile %d not "
"supported for hardware decode.\n",
codec_desc->name, avctx->profile);