diff options
author | Angie Chiang <angiebird@google.com> | 2019-08-22 17:55:19 -0700 |
---|---|---|
committer | Angie Chiang <angiebird@google.com> | 2019-08-28 13:39:33 -0700 |
commit | f6251cc7a8dbbd01d918d3d9fac04276905fab42 (patch) | |
tree | 81935dfe557d02dad4cfec8169ef75ee10b43d58 /vp9/encoder/vp9_non_greedy_mv.h | |
parent | f40c00b206ee6b405ce44a46f6e2adf6906bd41b (diff) | |
download | libvpx-f6251cc7a8dbbd01d918d3d9fac04276905fab42.tar.gz |
Move motion field from TplDepFrame to MotionField
Replace get_pyramid_mv by vp9_motion_field_mi_get_mv.
The goal is to modularize motion field related operations.
Change-Id: I33084e680567ab106659ba9389cc4b507b893c69
Diffstat (limited to 'vp9/encoder/vp9_non_greedy_mv.h')
-rw-r--r-- | vp9/encoder/vp9_non_greedy_mv.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_non_greedy_mv.h b/vp9/encoder/vp9_non_greedy_mv.h index f095ddf41..c2bd69722 100644 --- a/vp9/encoder/vp9_non_greedy_mv.h +++ b/vp9/encoder/vp9_non_greedy_mv.h @@ -31,8 +31,10 @@ typedef struct MotionField { BLOCK_SIZE bsize; int block_rows; int block_cols; + int block_num; // block_num == block_rows * block_cols int (*local_structure)[MF_LOCAL_STRUCTURE_SIZE]; - MV *mf; + int_mv *mf; + int *set_mv; int mv_log_scale; } MotionField; @@ -104,6 +106,23 @@ void vp9_get_local_structure(const YV12_BUFFER_CONFIG *cur_frame, const vp9_variance_fn_ptr_t *fn_ptr, int rows, int cols, BLOCK_SIZE bsize, int (*M)[MF_LOCAL_STRUCTURE_SIZE]); + +MotionField *vp9_motion_field_info_get_motion_field( + MotionFieldInfo *motion_field_info, int frame_idx, int rf_idx, + BLOCK_SIZE bsize); + +void vp9_motion_field_mi_set_mv(MotionField *motion_field, int mi_row, + int mi_col, int_mv mv); + +void vp9_motion_field_reset_mvs(MotionField *motion_field); + +int_mv vp9_motion_field_get_mv(const MotionField *motion_field, int brow, + int bcol); +int_mv vp9_motion_field_mi_get_mv(const MotionField *motion_field, int mi_row, + int mi_col); +int vp9_motion_field_is_mv_set(const MotionField *motion_field, int brow, + int bcol); + #ifdef __cplusplus } // extern "C" #endif |