[FFmpeg-cvslog] avcodec/cuvid: make capability check optional

Timo Rothenpieler git at videolan.org
Thu Jun 1 17:09:33 EEST 2017


ffmpeg | branch: master | Timo Rothenpieler <timo at rothenpieler.org> | Thu Jun  1 12:29:35 2017 +0200| [ff3084606c09911cdd3b6d6b588c47b9e71acea3] | committer: Timo Rothenpieler

avcodec/cuvid: make capability check optional

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

 libavcodec/cuvid.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/libavcodec/cuvid.c b/libavcodec/cuvid.c
index 218be8495d..2ba8e00c6a 100644
--- a/libavcodec/cuvid.c
+++ b/libavcodec/cuvid.c
@@ -707,6 +707,21 @@ static int cuvid_test_capabilities(AVCodecContext *avctx,
     CUVIDDECODECAPS *caps;
     int res8 = 0, res10 = 0, res12 = 0;
 
+    if (!ctx->cvdl->cuvidGetDecoderCaps) {
+        av_log(avctx, AV_LOG_WARNING, "Used Nvidia driver is too old to perform a capability check.\n");
+        av_log(avctx, AV_LOG_WARNING, "The minimum required version is "
+#if defined(_WIN32) || defined(__CYGWIN__)
+            "378.66"
+#else
+            "378.13"
+#endif
+            ". Continuing blind.\n");
+        ctx->caps8.bIsSupported = ctx->caps10.bIsSupported = 1;
+        // 12 bit was not supported before the capability check was introduced, so disable it.
+        ctx->caps12.bIsSupported = 0;
+        return 0;
+    }
+
     ctx->caps8.eCodecType = ctx->caps10.eCodecType = ctx->caps12.eCodecType
         = cuparseinfo->CodecType;
     ctx->caps8.eChromaFormat = ctx->caps10.eChromaFormat = ctx->caps12.eChromaFormat



More information about the ffmpeg-cvslog mailing list