[FFmpeg-cvslog] avcodec/cuviddec: add capability check for maximum macroblock count

Ruta Gadkari git at videolan.org
Wed May 8 13:07:48 EEST 2019


ffmpeg | branch: master | Ruta Gadkari <rgadkari at nvidia.com> | Fri May  3 13:59:11 2019 +0530| [80155795bb433fe588a957be9fb96a0a2608a00f] | committer: BtbN

avcodec/cuviddec: add capability check for maximum macroblock count

Cuvid supports clips with a limit on maximum number of macroblocks.
This check was missing after cuvidGetDecoderCaps API call allowing
unsupported clips to proceed.
Added the missing check, same as the one in hwaccel nvdec implementation.

Signed-off-by: Timo Rothenpieler <timo at rothenpieler.org>

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

 libavcodec/cuviddec.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavcodec/cuviddec.c b/libavcodec/cuviddec.c
index d59d1faf9e..acee78cf2c 100644
--- a/libavcodec/cuviddec.c
+++ b/libavcodec/cuviddec.c
@@ -805,6 +805,12 @@ static int cuvid_test_capabilities(AVCodecContext *avctx,
         return AVERROR(EINVAL);
     }
 
+    if ((probed_width * probed_height) / 256 > caps->nMaxMBCount) {
+        av_log(avctx, AV_LOG_ERROR, "Video macroblock count %d exceeds maximum of %d\n",
+               (int)(probed_width * probed_height) / 256, caps->nMaxMBCount);
+        return AVERROR(EINVAL);
+    }
+
     return 0;
 }
 



More information about the ffmpeg-cvslog mailing list