[FFmpeg-devel] [PATCH] diracdec: fix idwt_stride calculation in bytes

Kieran Kunhya kierank at obe.tv
Tue Jan 12 00:01:56 CET 2016


Ok

On Mon, 11 Jan 2016 at 22:27 Andreas Cadhalpun <
andreas.cadhalpun at googlemail.com> wrote:

> 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.
>
> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> ---
>  libavcodec/diracdec.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
> index 486c1b3..9d985351 100644
> --- a/libavcodec/diracdec.c
> +++ b/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;
> --
> 2.6.4
>


More information about the ffmpeg-devel mailing list