From 6dbde68cb5467302fe99c331ea9b14d824238016 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 24 Oct 2023 15:03:51 +0200 Subject: [PATCH] lavc/8bps: fix exporting palette after 63767b79a570404628b2521b83104108b7b6884c It would be left empty on each frame whose packet does not come with palette attached. --- libavcodec/8bps.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/8bps.c b/libavcodec/8bps.c index 0becaa9320..11b9f526b7 100644 --- a/libavcodec/8bps.c +++ b/libavcodec/8bps.c @@ -43,6 +43,8 @@ typedef struct EightBpsContext { uint8_t planes; uint8_t planemap[4]; + + uint32_t pal[256]; } EightBpsContext; static int decode_frame(AVCodecContext *avctx, AVFrame *frame, @@ -116,10 +118,12 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, FF_DISABLE_DEPRECATION_WARNINGS frame->palette_has_changed = #endif - ff_copy_palette(frame->data[1], avpkt, avctx); + ff_copy_palette(c->pal, avpkt, avctx); #if FF_API_PALETTE_HAS_CHANGED FF_ENABLE_DEPRECATION_WARNINGS #endif + + memcpy(frame->data[1], c->pal, AVPALETTE_SIZE); } *got_frame = 1;