X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fmimic.c;h=652dd1bb5dff38ca94ff50927ee4ea9c1d4e50e0;hb=feb997577b66367a0c4269100888640699ee890d;hp=1deed0b87f1df006673240c1cb6ee3d8fcccae63;hpb=51bfaa21c85201ab31776a447599349a1ed6e96b;p=ffmpeg diff --git a/libavcodec/mimic.c b/libavcodec/mimic.c index 1deed0b87f1..652dd1bb5df 100644 --- a/libavcodec/mimic.c +++ b/libavcodec/mimic.c @@ -24,6 +24,7 @@ #include #include "avcodec.h" +#include "internal.h" #include "get_bits.h" #include "bytestream.h" #include "dsputil.h" @@ -351,7 +352,7 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data, return -1; } - ctx->buf_ptrs[ctx->cur_index].reference = 1; + ctx->buf_ptrs[ctx->cur_index].reference = 3; ctx->buf_ptrs[ctx->cur_index].pict_type = is_pframe ? AV_PICTURE_TYPE_P:AV_PICTURE_TYPE_I; if(ff_thread_get_buffer(avctx, &ctx->buf_ptrs[ctx->cur_index])) { av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); @@ -366,8 +367,7 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data, ff_thread_finish_setup(avctx); - av_fast_malloc(&ctx->swap_buf, &ctx->swap_buf_size, - swap_buf_size + FF_INPUT_BUFFER_PADDING_SIZE); + av_fast_padded_malloc(&ctx->swap_buf, &ctx->swap_buf_size, swap_buf_size); if(!ctx->swap_buf) return AVERROR(ENOMEM); @@ -405,7 +405,8 @@ static av_cold int mimic_decode_end(AVCodecContext *avctx) av_free(ctx->swap_buf); - if(avctx->is_copy) return 0; + if (avctx->internal->is_copy) + return 0; for(i = 0; i < 16; i++) if(ctx->buf_ptrs[i].data[0])