diff options
author | Jingning Han <jingning@google.com> | 2014-07-30 10:05:03 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2014-07-30 10:05:03 -0700 |
commit | 22cf82a14cec941e979d256cc6f15a542e70a71b (patch) | |
tree | 40b5c5b8db05a46efeac8fc0393df0b1e1e1edb7 | |
parent | e71adcd8341b3a2cbcb24054065ad8c2f6b81a2e (diff) | |
parent | c36f78b054db7633b2e3963d414fd205d7fea3c5 (diff) | |
download | libvpx-22cf82a14cec941e979d256cc6f15a542e70a71b.tar libvpx-22cf82a14cec941e979d256cc6f15a542e70a71b.tar.gz libvpx-22cf82a14cec941e979d256cc6f15a542e70a71b.tar.bz2 libvpx-22cf82a14cec941e979d256cc6f15a542e70a71b.zip |
Merge "Use frame index directly in get_chessboard_index"
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 2 | ||||
-rw-r--r-- | vp9/encoder/vp9_encoder.h | 4 | ||||
-rw-r--r-- | vp9/encoder/vp9_pickmode.c | 3 | ||||
-rw-r--r-- | vp9/encoder/vp9_rdopt.c | 3 |
4 files changed, 7 insertions, 5 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 584bcb8f5..b89e1b733 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -1836,7 +1836,7 @@ static void auto_partition_range(VP9_COMP *cpi, const TileInfo *const tile, BLOCK_SIZE max_size = BLOCK_8X8; int bsl = mi_width_log2(BLOCK_64X64); const int search_range_ctrl = (((mi_row + mi_col) >> bsl) + - get_chessboard_index(cm)) % 2; + get_chessboard_index(cm->current_video_frame)) & 0x1; // Trap case where we do not have a prediction. if (search_range_ctrl && (left_in_image || above_in_image || cm->frame_type != KEY_FRAME)) { diff --git a/vp9/encoder/vp9_encoder.h b/vp9/encoder/vp9_encoder.h index 4b3f2ad56..2a6c4b362 100644 --- a/vp9/encoder/vp9_encoder.h +++ b/vp9/encoder/vp9_encoder.h @@ -551,8 +551,8 @@ static INLINE void set_ref_ptrs(VP9_COMMON *cm, MACROBLOCKD *xd, : 0]; } -static INLINE int get_chessboard_index(const VP9_COMMON *cm) { - return cm->current_video_frame % 2; +static INLINE int get_chessboard_index(const int frame_index) { + return frame_index & 0x1; } #ifdef __cplusplus diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index 7671664a4..7a1600155 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -394,7 +394,8 @@ int64_t vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, INTERP_FILTER filter_ref = cm->interp_filter; int bsl = mi_width_log2(bsize); const int pred_filter_search = cm->interp_filter == SWITCHABLE ? - (((mi_row + mi_col) >> bsl) + get_chessboard_index(cm)) % 2 : 0; + (((mi_row + mi_col) >> bsl) + + get_chessboard_index(cm->current_video_frame)) & 0x1 : 0; int const_motion[MAX_REF_FRAMES] = { 0 }; int bh = num_4x4_blocks_high_lookup[bsize] << 2; int bw = num_4x4_blocks_wide_lookup[bsize] << 2; diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index f65ac7b2b..c6580eed7 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -2025,7 +2025,8 @@ static int64_t handle_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, int bsl = mi_width_log2_lookup[bsize]; int pred_filter_search = cpi->sf.cb_pred_filter_search ? - (((mi_row + mi_col) >> bsl)) & 0x01 : 0; + (((mi_row + mi_col) >> bsl) + + get_chessboard_index(cm->current_video_frame)) & 0x1 : 0; if (pred_filter_search) { INTERP_FILTER af = SWITCHABLE, lf = SWITCHABLE; |