diff options
author | Dan Zhu <zxdan@google.com> | 2019-08-20 09:16:17 -0700 |
---|---|---|
committer | Dan Zhu <zxdan@google.com> | 2019-08-22 14:51:29 -0700 |
commit | 0859579d4dfd24ce00e6520558f8e55155475d86 (patch) | |
tree | 83ef1bbefe34b0092ea1a83fd38bee1758161b36 /vp9/encoder/vp9_non_greedy_mv.h | |
parent | da7c5beded832b43231ebe961bcfa5afccd4d3cf (diff) | |
download | libvpx-0859579d4dfd24ce00e6520558f8e55155475d86.tar.gz |
modify smooth model(float type mv + normalization)
Change-Id: I7441e04190b8a797f3863166e95b3b6c9924ab50
Diffstat (limited to 'vp9/encoder/vp9_non_greedy_mv.h')
-rw-r--r-- | vp9/encoder/vp9_non_greedy_mv.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/vp9/encoder/vp9_non_greedy_mv.h b/vp9/encoder/vp9_non_greedy_mv.h index ed6438c11..71c4b7aab 100644 --- a/vp9/encoder/vp9_non_greedy_mv.h +++ b/vp9/encoder/vp9_non_greedy_mv.h @@ -39,6 +39,10 @@ typedef struct MotionFieldInfo { MotionField (*motion_field_array)[3][SQUARE_BLOCK_SIZES]; } MotionFieldInfo; +typedef struct { + float row, col; +} FloatMV; + static INLINE int get_square_block_idx(BLOCK_SIZE bsize) { if (bsize == BLOCK_4X4) { return 0; @@ -88,14 +92,15 @@ int64_t vp9_nb_mvs_inconsistency(const MV *mv, const int_mv *nb_full_mvs, void vp9_get_smooth_motion_field(const MV *search_mf, const int (*M)[MF_LOCAL_STRUCTURE_SIZE], - int rows, int cols, float alpha, int num_iters, - MV *smooth_mf); + int rows, int cols, BLOCK_SIZE bize, + float alpha, int num_iters, MV *smooth_mf); -void vp9_get_local_structure(const YV12_BUFFER_CONFIG *ref_frame, - const vp9_variance_fn_ptr_t *fn_ptr, int mi_rows, - int mi_cols, BLOCK_SIZE bsize, +void vp9_get_local_structure(const YV12_BUFFER_CONFIG *cur_frame, + const YV12_BUFFER_CONFIG *ref_frame, + const MV *search_mf, + const vp9_variance_fn_ptr_t *fn_ptr, int rows, + int cols, BLOCK_SIZE bsize, int (*M)[MF_LOCAL_STRUCTURE_SIZE]); - #ifdef __cplusplus } // extern "C" #endif |