[FFmpeg-cvslog] vaapi: Add external control of allow-profile-mismatch

Mark Thompson git at videolan.org
Mon Oct 30 22:04:03 EET 2017


ffmpeg | branch: master | Mark Thompson <sw at jkqxz.net> | Mon Mar 27 20:46:11 2017 +0100| [7acb90333a187b0e847b66f9d3511245423dc0ce] | committer: Mark Thompson

vaapi: Add external control of allow-profile-mismatch

Uses the just-added ALLOW_PROFILE_MISMATCH flag.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7acb90333a187b0e847b66f9d3511245423dc0ce
---

 libavcodec/vaapi_decode.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c
index 0db79d401d..a63c4c62ec 100644
--- a/libavcodec/vaapi_decode.c
+++ b/libavcodec/vaapi_decode.c
@@ -283,14 +283,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);
@@ -346,7 +338,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);



More information about the ffmpeg-cvslog mailing list