Add a call to aom_clear_system_state()
Floating-point instructions in av1_apply_temporal_filter() led to
MT mismatch, with 32-bit build. Added aom_clear_system_state() in
av1_tf_do_filtering_row() before av1_apply_temporal_filter() to
ensure match.
BUG=aomedia:2883
Change-Id: I324068b2dac230c46c07c463cfa4b117fa22ba16
diff --git a/av1/encoder/temporal_filter.c b/av1/encoder/temporal_filter.c
index 9b3fc40..0b6f4d7 100644
--- a/av1/encoder/temporal_filter.c
+++ b/av1/encoder/temporal_filter.c
@@ -816,6 +816,10 @@
tf_build_predictor(frames[frame], mbd, block_size, mb_row, mb_col,
num_planes, scale, subblock_mvs, pred);
+ // All variants of av1_apply_temporal_filter() contain floating point
+ // operations. Hence, clear the system state.
+ aom_clear_system_state();
+
// TODO(any): avx2/sse2 version should be changed to align with C
// function before using. In particular, current avx2/sse2 function
// only supports 32x32 block size and 5x5 filtering window.