Refactor gm/wm/obmc for cleaner warping interactions
This creates a central function which defines when a
block should be warped. It also refactors the
WARPED_MOTION code so that all calls to av1_warp_plane
happen in the same location.
No change in performance.
Change-Id: Icaf9ec7700d34523809258594bb9843bb2975f46
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 38892c4..e6e88b5 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -3701,9 +3701,9 @@
if (count[i]) {
#if CONFIG_MOTION_VAR && (CONFIG_WARPED_MOTION || CONFIG_GLOBAL_MOTION)
#if CONFIG_WARPED_MOTION
- if (i == EIGHTTAP_REGULAR || WARP_NEIGHBORS_WITH_OBMC)
+ if (i == EIGHTTAP_REGULAR || WARP_WM_NEIGHBORS_WITH_OBMC)
#else
- if (i == EIGHTTAP_REGULAR || WARP_NEIGHBORS_WITH_GM)
+ if (i == EIGHTTAP_REGULAR || WARP_GM_NEIGHBORS_WITH_OBMC)
#endif // CONFIG_WARPED_MOTION
#endif // CONFIG_MOTION_VAR && (CONFIG_WARPED_MOTION || CONFIG_GLOBAL_MOTION)
cm->interp_filter = i;
@@ -4662,7 +4662,7 @@
// unsafe, and we need to rely on the recode loop to do it
// instead. See av1_find_mv_refs for details.
if (!cpi->global_motion_used[frame]) {
- set_default_gmparams(&cm->global_motion[frame]);
+ set_default_warp_params(&cm->global_motion[frame]);
}
#endif
write_global_motion_params(