summaryrefslogtreecommitdiff
path: root/libavcodec/jpeglsdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2021-05-02 14:44:03 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2021-05-03 21:34:22 +0200
commit9fd06a363987aa56a79db2532266c6218b1ca343 (patch)
treeeafa1cb386f7e950c77a0184dd4230a2bdeb2a48 /libavcodec/jpeglsdec.c
parent4b1e1f706b15f1ed68e351c5924d28c15d2fc763 (diff)
downloadffmpeg-9fd06a363987aa56a79db2532266c6218b1ca343.tar.gz
Revert "avcodec/mjpegdec: postpone calling ff_get_buffer() until the SOS marker"
This also temporary disables fate-jpegls which is re-enabled in the next commit This reverts commit c8197f73e684b0edc450f3dc2b2b4b3fb9dedd0d.
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 bf51d63c3a..d79bbe1ee3 100644
--- a/libavcodec/jpeglsdec.c
+++ b/libavcodec/jpeglsdec.c
@@ -108,8 +108,9 @@ int ff_jpegls_decode_lse(MJpegDecodeContext *s)
if (s->palette_index > maxtab)
return AVERROR_INVALIDDATA;
- if (s->avctx->pix_fmt == AV_PIX_FMT_GRAY8 || s->avctx->pix_fmt == AV_PIX_FMT_PAL8) {
- uint32_t *pal = s->palette;
+ if ((s->avctx->pix_fmt == AV_PIX_FMT_GRAY8 || s->avctx->pix_fmt == AV_PIX_FMT_PAL8) &&
+ (s->picture_ptr->format == AV_PIX_FMT_GRAY8 || s->picture_ptr->format == AV_PIX_FMT_PAL8)) {
+ uint32_t *pal = (uint32_t *)s->picture_ptr->data[1];
int shift = 0;
if (s->avctx->bits_per_raw_sample > 0 && s->avctx->bits_per_raw_sample < 8) {
@@ -117,6 +118,7 @@ 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;
for (i=s->palette_index; i<=maxtab; i++) {
uint8_t k = i << shift;