avcodec/jpeglsdec: fix palette parsing code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/64/head
Michael Niedermayer 11 years ago
parent a025815373
commit fd2bcfc4d6
  1. 8
      libavcodec/jpeglsdec.c

@ -80,7 +80,9 @@ int ff_jpegls_decode_lse(MJpegDecodeContext *s)
return AVERROR_PATCHWELCOME;
}
if ((5 + wt*(s->maxval+1)) < 65535)
if (!s->maxval)
maxtab = 255;
else if ((5 + wt*(s->maxval+1)) < 65535)
maxtab = s->maxval;
else
maxtab = 65530/wt - 1;
@ -102,10 +104,10 @@ int ff_jpegls_decode_lse(MJpegDecodeContext *s)
uint32_t *pal = s->picture_ptr->data[1];
s->picture_ptr->format =
s->avctx->pix_fmt = AV_PIX_FMT_PAL8;
for (i=s->palette_index; i<maxtab; i++) {
for (i=s->palette_index; i<=maxtab; i++) {
pal[i] = 0;
for (j=0; j<wt; j++) {
pal[i] |= get_bits(&s->gb, 8) << (8*wt);
pal[i] |= get_bits(&s->gb, 8) << (8*(wt-j-1));
}
}
s->palette_index = i;

Loading…
Cancel
Save