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);