diff --git a/libavcodec/proresdec.c b/libavcodec/proresdec.c index 814074f9d7..40c15a0c85 100644 --- a/libavcodec/proresdec.c +++ b/libavcodec/proresdec.c @@ -788,8 +788,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, if ((ret = ff_thread_get_buffer(avctx, frame, 0)) < 0) return ret; - av_refstruct_unref(&ctx->hwaccel_last_picture_private); - FFSWAP(void *, ctx->hwaccel_picture_private, ctx->hwaccel_last_picture_private); + av_refstruct_unref(&ctx->hwaccel_picture_private); if ((ret = ff_hwaccel_frame_priv_alloc(avctx, &ctx->hwaccel_picture_private)) < 0) return ret; @@ -832,7 +831,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, goto decode_picture; } - av_refstruct_unref(&ctx->hwaccel_last_picture_private); + av_refstruct_unref(&ctx->hwaccel_picture_private); *got_frame = 1; @@ -845,7 +844,6 @@ static av_cold int decode_close(AVCodecContext *avctx) av_freep(&ctx->slices); av_refstruct_unref(&ctx->hwaccel_picture_private); - av_refstruct_unref(&ctx->hwaccel_last_picture_private); return 0; } diff --git a/libavcodec/proresdec.h b/libavcodec/proresdec.h index d33eab149b..965fc85b7a 100644 --- a/libavcodec/proresdec.h +++ b/libavcodec/proresdec.h @@ -44,7 +44,7 @@ typedef struct { BlockDSPContext bdsp; ProresDSPContext prodsp; AVFrame *frame; - void *hwaccel_picture_private, *hwaccel_last_picture_private; + void *hwaccel_picture_private; int frame_type; ///< 0 = progressive, 1 = tff, 2 = bff uint8_t qmat_luma[64]; uint8_t qmat_chroma[64];