Browse Source

avcodec/jpeglsdec: fix palette parsing code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.3
Michael Niedermayer 11 years ago
parent
commit
fd2bcfc4d6
1 changed files with 5 additions and 3 deletions
  1. +5
    -3
      libavcodec/jpeglsdec.c

+ 5
- 3
libavcodec/jpeglsdec.c View File

@@ -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