[FFmpeg-cvslog] avcodec/nvdec: Fix capability check with old drivers.

Jacob Trimble git at videolan.org
Fri Dec 8 19:09:42 EET 2017


ffmpeg | branch: master | Jacob Trimble <modmaker-at-google.com at ffmpeg.org> | Thu Nov 30 12:35:50 2017 -0800| [2fdc9f7c4939f83a6c9d1f9d85b6d37ce0bab714] | committer: Timo Rothenpieler

avcodec/nvdec: Fix capability check with old drivers.

Copied the check from cuviddec.c (*_cuvid decoders) to allow the
capability check to be optional for older drivers.

Signed-off-by: Jacob Trimble <modmaker at google.com>
Signed-off-by: Timo Rothenpieler <timo at rothenpieler.org>

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

 libavcodec/nvdec.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/libavcodec/nvdec.c b/libavcodec/nvdec.c
index c7a02ff40f..e9e6ea0f8b 100644
--- a/libavcodec/nvdec.c
+++ b/libavcodec/nvdec.c
@@ -91,6 +91,18 @@ static int nvdec_test_capabilities(NVDECDecoder *decoder,
     caps.eChromaFormat   = params->ChromaFormat;
     caps.nBitDepthMinus8 = params->bitDepthMinus8;
 
+    if (!decoder->cvdl->cuvidGetDecoderCaps) {
+        av_log(logctx, AV_LOG_WARNING, "Used Nvidia driver is too old to perform a capability check.\n");
+        av_log(logctx, AV_LOG_WARNING, "The minimum required version is "
+#if defined(_WIN32) || defined(__CYGWIN__)
+            "378.66"
+#else
+            "378.13"
+#endif
+            ". Continuing blind.\n");
+        return 0;
+    }
+
     err = decoder->cvdl->cuvidGetDecoderCaps(&caps);
     if (err != CUDA_SUCCESS) {
         av_log(logctx, AV_LOG_ERROR, "Failed querying decoder capabilities\n");



More information about the ffmpeg-cvslog mailing list