avcodec/utils: use a minimum 32pixel width in avcodec_align_dimensions2() for H.264

Fixes Assertion failure
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/150/head
Michael Niedermayer 9 years ago committed by Michael Niedermayer
parent e71ca21f30
commit 7ef6656b1e
  1. 4
      libavcodec/utils.c

@ -428,10 +428,12 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
*width = FFALIGN(*width, w_align); *width = FFALIGN(*width, w_align);
*height = FFALIGN(*height, h_align); *height = FFALIGN(*height, h_align);
if (s->codec_id == AV_CODEC_ID_H264 || s->lowres) if (s->codec_id == AV_CODEC_ID_H264 || s->lowres) {
// some of the optimized chroma MC reads one line too much // some of the optimized chroma MC reads one line too much
// which is also done in mpeg decoders with lowres > 0 // which is also done in mpeg decoders with lowres > 0
*height += 2; *height += 2;
*width = FFMAX(*width, 32);
}
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++)
linesize_align[i] = STRIDE_ALIGN; linesize_align[i] = STRIDE_ALIGN;

Loading…
Cancel
Save