Fix mismatch w/ dual_filter and global/warped Set all 4 interpolation filters in cases where global and warped motion is used and no interpolation filter is sent. Change-Id: I17ab74daabcd6a531b72826903a02f2de7caf7b2
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c index f5eb800..0f7d68d 100644 --- a/av1/decoder/decodemv.c +++ b/av1/decoder/decodemv.c
@@ -1341,10 +1341,11 @@ #if CONFIG_GLOBAL_MOTION if (is_nontrans_global_motion(xd)) { #if CONFIG_DUAL_FILTER - mbmi->interp_filter[0] = - cm->interp_filter == SWITCHABLE ? EIGHTTAP_REGULAR : cm->interp_filter; - mbmi->interp_filter[1] = - cm->interp_filter == SWITCHABLE ? EIGHTTAP_REGULAR : cm->interp_filter; + int dir; + for (dir = 0; dir < 4; ++dir) + mbmi->interp_filter[dir] = cm->interp_filter == SWITCHABLE + ? EIGHTTAP_REGULAR + : cm->interp_filter; #else mbmi->interp_filter = cm->interp_filter == SWITCHABLE ? EIGHTTAP_REGULAR : cm->interp_filter; @@ -2256,10 +2257,11 @@ #if CONFIG_WARPED_MOTION } else { #if CONFIG_DUAL_FILTER - mbmi->interp_filter[0] = - cm->interp_filter == SWITCHABLE ? EIGHTTAP_REGULAR : cm->interp_filter; - mbmi->interp_filter[1] = - cm->interp_filter == SWITCHABLE ? EIGHTTAP_REGULAR : cm->interp_filter; + int dir; + for (dir = 0; dir < 4; ++dir) + mbmi->interp_filter[dir] = cm->interp_filter == SWITCHABLE + ? EIGHTTAP_REGULAR + : cm->interp_filter; #else mbmi->interp_filter = cm->interp_filter == SWITCHABLE ? EIGHTTAP_REGULAR : cm->interp_filter;