[FFmpeg-cvslog] lavc/8bps: fix exporting palette after 63767b79a570404628b2521b83104108b7b6884c

Anton Khirnov git at videolan.org
Tue Nov 14 19:19:52 EET 2023


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue Oct 24 15:03:51 2023 +0200| [6dbde68cb5467302fe99c331ea9b14d824238016] | committer: Anton Khirnov

lavc/8bps: fix exporting palette after 63767b79a570404628b2521b83104108b7b6884c

It would be left empty on each frame whose packet does not come with
palette attached.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6dbde68cb5467302fe99c331ea9b14d824238016
---

 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;



More information about the ffmpeg-cvslog mailing list