diff options
author | Angie Chiang <angiebird@google.com> | 2018-12-22 16:42:28 -0800 |
---|---|---|
committer | Angie Chiang <angiebird@google.com> | 2019-01-03 17:53:14 -0800 |
commit | 23f8b831776824e2b95db70979addd1e4623b746 (patch) | |
tree | d90b9c53107245ffbb56f2d6cfb30bc1dbedc2da /vp9/encoder/vp9_encoder.c | |
parent | c4c5c1d7e49d8a63e1f5f102587ec1951b368f4f (diff) | |
download | libvpx-23f8b831776824e2b95db70979addd1e4623b746.tar libvpx-23f8b831776824e2b95db70979addd1e4623b746.tar.gz libvpx-23f8b831776824e2b95db70979addd1e4623b746.tar.bz2 libvpx-23f8b831776824e2b95db70979addd1e4623b746.zip |
Build pyramid motion field
Change-Id: I43fd61f7946a8a96d444dab5e94a9b01483ffab7
Diffstat (limited to 'vp9/encoder/vp9_encoder.c')
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index 88353e43a..339aa4eed 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -6188,6 +6188,17 @@ static void build_motion_field(VP9_COMP *cpi, MACROBLOCKD *xd, int frame_idx, qsort(cpi->feature_score_loc_sort, fs_loc_sort_size, sizeof(*cpi->feature_score_loc_sort), compare_feature_score); + for (mi_row = 0; mi_row < cm->mi_rows; mi_row += mi_height) { + for (mi_col = 0; mi_col < cm->mi_cols; mi_col += mi_width) { + int rf_idx; + for (rf_idx = 0; rf_idx < 3; ++rf_idx) { + TplDepStats *tpl_stats = + &tpl_frame->tpl_stats_ptr[mi_row * tpl_frame->stride + mi_col]; + tpl_stats->ready[rf_idx] = 0; + } + } + } + #if CHANGE_MV_SEARCH_ORDER #if !USE_PQSORT for (i = 0; i < fs_loc_sort_size; ++i) { @@ -6253,6 +6264,9 @@ static void mc_flow_dispenser(VP9_COMP *cpi, GF_PICTURE *gf_picture, const int mi_height = num_8x8_blocks_high_lookup[bsize]; const int mi_width = num_8x8_blocks_wide_lookup[bsize]; int64_t recon_error, sse; +#if CONFIG_NON_GREEDY_MV + int square_block_idx; +#endif // Setup scaling factor #if CONFIG_VP9_HIGHBITDEPTH @@ -6293,7 +6307,11 @@ static void mc_flow_dispenser(VP9_COMP *cpi, GF_PICTURE *gf_picture, vp9_frame_init_quantizer(cpi); #if CONFIG_NON_GREEDY_MV - build_motion_field(cpi, xd, frame_idx, ref_frame, bsize); + for (square_block_idx = 0; square_block_idx < SQUARE_BLOCK_SIZES; + ++square_block_idx) { + BLOCK_SIZE square_bsize = square_block_idx_to_bsize(square_block_idx); + build_motion_field(cpi, xd, frame_idx, ref_frame, square_bsize); + } #endif for (mi_row = 0; mi_row < cm->mi_rows; mi_row += mi_height) { |