FPMT: Handle the release of previously used cur_frame Previously used frame buffer of frame_parallel_level 1 frame is released in av1_init_parallel_frame_context(), before launching the parallel frame encodes. Change-Id: I76261e630a1dba0256019f4d635fa7e95207c723
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index e2d6b3d..5a2d315 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c
@@ -4483,6 +4483,12 @@ assert(*ref_buffers_used_map == 0); + // Release the previously used frame-buffer by a frame_parallel_level 1 frame. + if (first_cpi->common.cur_frame != NULL) { + --first_cpi->common.cur_frame->ref_count; + first_cpi->common.cur_frame = NULL; + } + RefFrameMapPair ref_frame_map_pairs[REF_FRAMES]; RefFrameMapPair first_ref_frame_map_pairs[REF_FRAMES]; init_ref_map_pair(first_cpi, first_ref_frame_map_pairs);