Browse Source

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>
(cherry picked from commit 7ef6656b1e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n2.4.11
Michael Niedermayer Michael Niedermayer 10 years ago
parent
commit
cbc5d2bf30
1 changed files with 3 additions and 1 deletions
  1. +3
    -1
      libavcodec/utils.c

+ 3
- 1
libavcodec/utils.c View File

@@ -424,10 +424,12 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,

*width = FFALIGN(*width, w_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
// which is also done in mpeg decoders with lowres > 0
*height += 2;
*width = FFMAX(*width, 32);
}

for (i = 0; i < 4; i++)
linesize_align[i] = STRIDE_ALIGN;


Loading…
Cancel
Save