summaryrefslogtreecommitdiff
path: root/libavcodec/jpeglsdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2021-05-02 15:47:36 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2021-05-03 21:34:22 +0200
commit7f6ada4eea089bbcb3ac3ff5d7e8c55c98b47740 (patch)
treecd4bceda90ba7bbafaba38311b272e73fb14a272 /libavcodec/jpeglsdec.c
parent9fd06a363987aa56a79db2532266c6218b1ca343 (diff)
downloadffmpeg-7f6ada4eea089bbcb3ac3ff5d7e8c55c98b47740.tar.gz
avcodec/mjpegdec: Decode to PAL8 independant of the location of LSE
This simply performs a 2nd pass if a LSE is encountered with GRAY8 Fixes: tickets/3933/128.jls Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/jpeglsdec.c')
-rw-r--r--libavcodec/jpeglsdec.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/jpeglsdec.c b/libavcodec/jpeglsdec.c
index d79bbe1ee3..bd9224d97d 100644
--- a/libavcodec/jpeglsdec.c
+++ b/libavcodec/jpeglsdec.c
@@ -118,8 +118,10 @@ int ff_jpegls_decode_lse(MJpegDecodeContext *s)
shift = 8 - s->avctx->bits_per_raw_sample;
}
- s->picture_ptr->format =
- s->avctx->pix_fmt = AV_PIX_FMT_PAL8;
+ s->force_pal8 = 1;
+ if (!pal)
+ return 1;
+
for (i=s->palette_index; i<=maxtab; i++) {
uint8_t k = i << shift;
pal[k] = 0;