1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-24 13:56:33 +02:00

avcodec/mpegvideo: check that linesize is not too small

Note linesize is rounded up to at least a multiple of 8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-06-13 17:12:00 +02:00
parent 4a0ec85b85
commit dffb85a982

View File

@ -434,6 +434,11 @@ static int frame_size_alloc(MpegEncContext *s, int linesize)
{ {
int alloc_size = FFALIGN(FFABS(linesize) + 64, 32); int alloc_size = FFALIGN(FFABS(linesize) + 64, 32);
if (linesize < 24) {
av_log(s->avctx, AV_LOG_ERROR, "Image too small, temporary buffers cannot function\n");
return AVERROR_PATCHWELCOME;
}
// edge emu needs blocksize + filter length - 1 // edge emu needs blocksize + filter length - 1
// (= 17x17 for halfpel / 21x21 for h264) // (= 17x17 for halfpel / 21x21 for h264)
// VC1 computes luma and chroma simultaneously and needs 19X19 + 9x9 // VC1 computes luma and chroma simultaneously and needs 19X19 + 9x9