diracdec: fix idwt_stride calculation in bytes

The transformation to bytes must happen after alignment to get the same
resulting pointers as before.

This fixes segmentation faults in the assembler code.

The regression was introduced in commit 9553689.

Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
pull/172/head
Andreas Cadhalpun 9 years ago
parent 07a11ebcab
commit d637a58750
  1. 2
      libavcodec/diracdec.c

@ -941,7 +941,7 @@ static void init_planes(DiracContext *s)
p->height = s->seq.height >> (i ? s->chroma_y_shift : 0);
p->idwt_width = w = CALC_PADDING(p->width , s->wavelet_depth);
p->idwt_height = h = CALC_PADDING(p->height, s->wavelet_depth);
p->idwt_stride = FFALIGN(p->idwt_width << (1 + s->pshift), 8);
p->idwt_stride = FFALIGN(p->idwt_width, 8) << (1 + s->pshift);
for (level = s->wavelet_depth-1; level >= 0; level--) {
w = w>>1;

Loading…
Cancel
Save