avcodec/snow: Move freeing encoder-only buffers to snowenc.c

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-10-09 07:03:10 +02:00
parent 433925ac4d
commit 7d112c638a
2 changed files with 11 additions and 7 deletions

View File

@ -560,18 +560,11 @@ av_cold void ff_snow_common_end(SnowContext *s)
av_freep(&s->temp_idwt_buffer);
av_freep(&s->run_buffer);
s->m.me.temp= NULL;
av_freep(&s->m.me.scratchpad);
av_freep(&s->m.me.map);
av_freep(&s->m.sc.obmc_scratchpad);
av_freep(&s->block);
av_freep(&s->scratchbuf);
av_freep(&s->emu_edge_buffer);
for(i=0; i<MAX_REF_FRAMES; i++){
av_freep(&s->ref_mvs[i]);
av_freep(&s->ref_scores[i]);
if(s->last_picture[i] && s->last_picture[i]->data[0]) {
av_assert0(s->last_picture[i]->data[0] != s->current_picture->data[0]);
}

View File

@ -2022,6 +2022,17 @@ static av_cold int encode_end(AVCodecContext *avctx)
ff_snow_common_end(s);
ff_rate_control_uninit(&s->m);
av_frame_free(&s->input_picture);
for (int i = 0; i < MAX_REF_FRAMES; i++) {
av_freep(&s->ref_mvs[i]);
av_freep(&s->ref_scores[i]);
}
s->m.me.temp = NULL;
av_freep(&s->m.me.scratchpad);
av_freep(&s->m.me.map);
av_freep(&s->m.sc.obmc_scratchpad);
av_freep(&avctx->stats_out);
return 0;