X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fflashsv.c;h=9481f80f0b277c65901f5240d2ecfb06de3478c2;hb=dc8e15ef15d060a9ca118905c770710ce43a0723;hp=1dc3c710dcbe88dab34530d8a92eef5049001cc6;hpb=2ac399d7faa5ac80088715780769522d1141b549;p=ffmpeg diff --git a/libavcodec/flashsv.c b/libavcodec/flashsv.c index 1dc3c710dcb..9481f80f0b2 100644 --- a/libavcodec/flashsv.c +++ b/libavcodec/flashsv.c @@ -132,7 +132,6 @@ static av_cold int flashsv_decode_init(AVCodecContext *avctx) s->frame = av_frame_alloc(); if (!s->frame) { - flashsv_decode_end(avctx); return AVERROR(ENOMEM); } @@ -180,7 +179,7 @@ static int flashsv2_prime(FlashSVContext *s, uint8_t *src, int size) return 0; } -static int flashsv_decode_block(AVCodecContext *avctx, AVPacket *avpkt, +static int flashsv_decode_block(AVCodecContext *avctx, const AVPacket *avpkt, GetBitContext *gb, int block_size, int width, int height, int x_pos, int y_pos, int blk_idx) @@ -369,7 +368,7 @@ static int flashsv_decode_frame(AVCodecContext *avctx, void *data, s->image_width, s->image_height, s->block_width, s->block_height, h_blocks, v_blocks, h_part, v_part); - if ((ret = ff_reget_buffer(avctx, s->frame)) < 0) + if ((ret = ff_reget_buffer(avctx, s->frame, 0)) < 0) return ret; /* loop over all block columns */ @@ -518,6 +517,7 @@ AVCodec ff_flashsv_decoder = { .close = flashsv_decode_end, .decode = flashsv_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE }, }; #endif /* CONFIG_FLASHSV_DECODER */ @@ -585,6 +585,7 @@ AVCodec ff_flashsv2_decoder = { .close = flashsv2_decode_end, .decode = flashsv_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE }, }; #endif /* CONFIG_FLASHSV2_DECODER */