diff --git a/libavcodec/dxva2_mpeg2.c b/libavcodec/dxva2_mpeg2.c index 049fa48be7..e0b2efa927 100644 --- a/libavcodec/dxva2_mpeg2.c +++ b/libavcodec/dxva2_mpeg2.c @@ -20,9 +20,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/log.h" #include "dxva2_internal.h" -#define MAX_SLICES (SLICE_MAX_START_CODE - SLICE_MIN_START_CODE + 1) +#define MAX_SLICES 1024 struct dxva2_picture_context { DXVA_PictureParameters pp; DXVA_QmatrixData qm; @@ -233,9 +234,11 @@ static int dxva2_mpeg2_decode_slice(AVCodecContext *avctx, s->current_picture_ptr->hwaccel_picture_private; unsigned position; - if (ctx_pic->slice_count >= MAX_SLICES) + if (ctx_pic->slice_count >= MAX_SLICES) { + avpriv_request_sample(avctx, "%d slices in dxva2", + ctx_pic->slice_count); return -1; - + } if (!ctx_pic->bitstream) ctx_pic->bitstream = buffer; ctx_pic->bitstream_size += size;