X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fqtrle.c;h=4ad224e37d3aac191dd087b28c7fb1f9228a7de7;hb=83b6471dcb762859f20b2c414decc755fcceb5e8;hp=f565e0e358b8ea48c3295b2c496cd54dcf801642;hpb=b319feb05f40d23ec17c8346c819becc4c13210f;p=ffmpeg diff --git a/libavcodec/qtrle.c b/libavcodec/qtrle.c index f565e0e358b..4ad224e37d3 100644 --- a/libavcodec/qtrle.c +++ b/libavcodec/qtrle.c @@ -36,6 +36,7 @@ #include #include "avcodec.h" +#include "decode.h" #include "bytestream.h" #include "internal.h" @@ -490,7 +491,7 @@ static int qtrle_decode_frame(AVCodecContext *avctx, start_line = 0; height = s->avctx->height; } - if ((ret = ff_reget_buffer(avctx, s->frame)) < 0) + if ((ret = ff_reget_buffer(avctx, s->frame, 0)) < 0) return ret; row_ptr = s->frame->linesize[0] * start_line; @@ -539,15 +540,7 @@ static int qtrle_decode_frame(AVCodecContext *avctx, } if(has_palette) { - int size; - const uint8_t *pal = av_packet_get_side_data(avpkt, AV_PKT_DATA_PALETTE, &size); - - if (pal && size == AVPALETTE_SIZE) { - s->frame->palette_has_changed = 1; - memcpy(s->pal, pal, AVPALETTE_SIZE); - } else if (pal) { - av_log(avctx, AV_LOG_ERROR, "Palette size %d is wrong\n", size); - } + s->frame->palette_has_changed = ff_copy_palette(s->pal, avpkt, avctx); /* make the palette available on the way out */ memcpy(s->frame->data[1], s->pal, AVPALETTE_SIZE); @@ -588,7 +581,7 @@ static av_cold int qtrle_decode_end(AVCodecContext *avctx) return 0; } -AVCodec ff_qtrle_decoder = { +const AVCodec ff_qtrle_decoder = { .name = "qtrle", .long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"), .type = AVMEDIA_TYPE_VIDEO,