summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-03-22 02:14:35 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-03-25 00:32:47 +0100
commitfb6a8847ad60cd5d6f50d459743b46c23900d542 (patch)
treea6d8915064f418d2e9e30af04d8eebc0c2bcacf1
parentea70c39deecb64f94fe7ae0ea419cbef1c7f9372 (diff)
avcodec/kmvc: Prefer in-band palette
Fixes decoding of https://samples.ffmpeg.org/V-codecs/KMVC/LOGO2.AVI Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r--libavcodec/kmvc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/kmvc.c b/libavcodec/kmvc.c
index cd9e32f443..8d9f0a9693 100644
--- a/libavcodec/kmvc.c
+++ b/libavcodec/kmvc.c
@@ -275,6 +275,8 @@ static int decode_frame(AVCodecContext * avctx, void *data, int *got_frame,
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
+ frame->palette_has_changed = ff_copy_palette(ctx->pal, avpkt, avctx);
+
header = bytestream2_get_byte(&ctx->g);
/* blocksize 127 is really palette change event */
@@ -303,9 +305,6 @@ static int decode_frame(AVCodecContext * avctx, void *data, int *got_frame,
}
}
- if (ff_copy_palette(ctx->pal, avpkt, avctx))
- frame->palette_has_changed = 1;
-
if (ctx->setpal) {
ctx->setpal = 0;
frame->palette_has_changed = 1;