summaryrefslogtreecommitdiff
path: root/libavcodec/hevcdec.h
diff options
context:
space:
mode:
authorNuo Mi <nuomi2021@gmail.com>2020-11-29 23:30:10 +0800
committerAnton Khirnov <anton@khirnov.net>2020-12-10 09:44:11 +0100
commitd4751d8c630983e6343c3100debb5de80be50ac3 (patch)
treeae17bc14f0534cb1c2675951a863b38d98697e89 /libavcodec/hevcdec.h
parent6a94afbd5bf4aa3ccab12f038e8bbae7ef3973c0 (diff)
avcodec/hevcdec: dynamic allocate sList and HEVClcList
following comandline will crash the ffmpeg ffmpeg -threads 17 -thread_type slice -i WPP_A_ericsson_MAIN_2.bit out.yuv -y the HEVCContext->sList size is MAX_NB_THREADS(16), any > 16 thread number will crash the application Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec/hevcdec.h')
-rw-r--r--libavcodec/hevcdec.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/hevcdec.h b/libavcodec/hevcdec.h
index 39c5c7f89f..c0a138e97a 100644
--- a/libavcodec/hevcdec.h
+++ b/libavcodec/hevcdec.h
@@ -42,7 +42,6 @@
#include "thread.h"
#include "videodsp.h"
-#define MAX_NB_THREADS 16
#define SHIFT_CTB_WPP 2
//TODO: check if this is really the maximum
@@ -468,9 +467,9 @@ typedef struct HEVCContext {
const AVClass *c; // needed by private avoptions
AVCodecContext *avctx;
- struct HEVCContext *sList[MAX_NB_THREADS];
+ struct HEVCContext **sList;
- HEVCLocalContext *HEVClcList[MAX_NB_THREADS];
+ HEVCLocalContext **HEVClcList;
HEVCLocalContext *HEVClc;
uint8_t threads_type;