[FFmpeg-cvslog] avcodec/nvdec: warn about thread count if applicable

Timo Rothenpieler git at videolan.org
Mon Nov 13 21:49:13 EET 2017


ffmpeg | branch: master | Timo Rothenpieler <timo at rothenpieler.org> | Sun Nov 12 18:09:31 2017 +0100| [538de4354dcd6c57154c5a5dec0744dcaa06b874] | committer: Timo Rothenpieler

avcodec/nvdec: warn about thread count if applicable

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

 libavcodec/nvdec.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/libavcodec/nvdec.c b/libavcodec/nvdec.c
index 7d768b2327..5d65f1d3dd 100644
--- a/libavcodec/nvdec.c
+++ b/libavcodec/nvdec.c
@@ -292,8 +292,15 @@ int ff_nvdec_decode_init(AVCodecContext *avctx)
     params.ulNumOutputSurfaces = 1;
 
     ret = nvdec_decoder_create(&ctx->decoder_ref, frames_ctx->device_ref, &params, avctx);
-    if (ret < 0)
+    if (ret < 0) {
+        if (params.ulNumDecodeSurfaces > 32) {
+            av_log(avctx, AV_LOG_WARNING, "Using more than 32 (%d) decode surfaces might cause nvdec to fail.\n",
+                   (int)params.ulNumDecodeSurfaces);
+            av_log(avctx, AV_LOG_WARNING, "Try lowering the amount of threads. Using %d right now.\n",
+                   avctx->thread_count);
+        }
         return ret;
+    }
 
     pool = av_mallocz(sizeof(*pool));
     if (!pool) {



More information about the ffmpeg-cvslog mailing list