- int size;
- const uint8_t *palette = av_packet_get_side_data(avpkt,
- AV_PKT_DATA_PALETTE,
- &size);
- if (palette && size == AVPALETTE_SIZE) {
- frame->palette_has_changed = 1;
- memcpy(ctx->palette, palette, AVPALETTE_SIZE);
- } else if (palette) {
- av_log(avctx, AV_LOG_ERROR, "Palette size %d is wrong\n", size);
- }
- memcpy (frame->data[1], ctx->palette, AVPALETTE_SIZE);
+ frame->palette_has_changed = ff_copy_palette(ctx->palette, avpkt, avctx);
+ memcpy(frame->data[1], ctx->palette, AVPALETTE_SIZE);