tree c2a64cf7a885331bc2a3da3921196120f89df501
parent 8d4e971c49da86ef0998d9711431685554bd2a4a
author David Turner <david.turner@argondesign.com> 1549903354 +0000
committer David Turner <david.turner@argondesign.com> 1550230717 +0000

Move ref updates to strategy, refresh from flags

Previously, encoder.c:update_reference_frames() in the low-level encoder
handled reference buffer assignment as well as refreshing reference
frames.  This patch separates these two, moving reference buffer
refreshing to encoder.c:refresh_reference_frames() called from the
low-level and update_reference_frames() called from the high-level
strategy.

refresh_reference_frames() now refreshes just based on
refresh_frame_flags, which ensures our reference buffer refreshing is in
sync with the decoder.  Previously get_refresh_frame_flags() and
update_reference_frames() effectively duplicated the decision of which
reference frames to refresh.

In the case of frame_refs_short_signaling=1, av1_set_frame_refs modifies
the reference buffer assignment.  I move calls to av1_set_frame_refs()
to update_reference_frames() so that all reference buffer assignment is
done in one place.  I also modify av1_set_frame_refs() to modify a
specific array so that check_frame_refs_short_signaling can write to a
temporary array instead of having to make a backup copy of
remapped_ref_idx.

I also add remapped_ref_idx to EncodeFrameParams to provide a clear
point where it could be modified to use an alternative reference buffer
assignment strategy.

get_refresh_frame_flags is modified to ensure refresh_frame_flags=0 when
we send show_existing_frame=1.  This keeps things consistent, since the
decoder won't refresh any buffers for a show_existing_frame.

Change-Id: Id98c73ed06b9e79c2bc424d600e4aa7801c6ff39
