summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_rdopt.c
diff options
context:
space:
mode:
authorAngie Chiang <angiebird@google.com>2019-07-17 12:36:14 -0700
committerAngie Chiang <angiebird@google.com>2019-07-17 13:14:10 -0700
commit706f1f10e016f30f6f68afd938e25df9765ffb87 (patch)
tree00a41d51553ec0d499d8ff5756f33d5d9f009d26 /vp9/encoder/vp9_rdopt.c
parentee554c8cebcb0e3a7a549b98a8b3d398fc88fd07 (diff)
downloadlibvpx-706f1f10e016f30f6f68afd938e25df9765ffb87.tar
libvpx-706f1f10e016f30f6f68afd938e25df9765ffb87.tar.gz
libvpx-706f1f10e016f30f6f68afd938e25df9765ffb87.tar.bz2
libvpx-706f1f10e016f30f6f68afd938e25df9765ffb87.zip
Make vp9_prepare_nb_full_mvs only return valid mvs
In this case, vp9_nb_mvs_inconsistency doesn't need to check whether each neighbor mv is valid or not. non_greedy_mv encoding time is reduced by 1.5% Change-Id: I3216c98481e777d5e0b917ea20ee39b7ca9c9d23
Diffstat (limited to 'vp9/encoder/vp9_rdopt.c')
-rw-r--r--vp9/encoder/vp9_rdopt.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index 1df69c9af..65b94357d 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -2496,15 +2496,15 @@ static void single_motion_search(VP9_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bsize,
int bestsme = INT_MAX;
#if CONFIG_NON_GREEDY_MV
- int_mv nb_full_mvs[NB_MVS_NUM];
- const int nb_full_mv_num = NB_MVS_NUM;
int gf_group_idx = cpi->twopass.gf_group.index;
int gf_rf_idx = ref_frame_to_gf_rf_idx(ref);
BLOCK_SIZE square_bsize = get_square_block_size(bsize);
+ int_mv nb_full_mvs[NB_MVS_NUM];
+ const int nb_full_mv_num =
+ vp9_prepare_nb_full_mvs(&cpi->tpl_stats[gf_group_idx], mi_row, mi_col,
+ gf_rf_idx, square_bsize, nb_full_mvs);
const int lambda = (pw * ph) / 4;
assert(pw * ph == lambda << 2);
- vp9_prepare_nb_full_mvs(&cpi->tpl_stats[gf_group_idx], mi_row, mi_col,
- gf_rf_idx, square_bsize, nb_full_mvs);
#else // CONFIG_NON_GREEDY_MV
int sadpb = x->sadperbit16;
#endif // CONFIG_NON_GREEDY_MV