ref: 370618ffb4c623fa445088a7ea58547a942bdf18
parent: 6643b8868da0efc6ec8217cb16c8b3c9bb8ef62f
parent: 186bd4eb5234d22aa8e9f0a6a27d40743195b89c
author: Yaowu Xu <[email protected]>
date: Mon Jun 30 11:44:08 EDT 2014
Merge "change to not force interp_type as SWITCHABLE"
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -3257,7 +3257,6 @@
}
} else {
cm->reference_mode = SINGLE_REFERENCE;
- cm->interp_filter = SWITCHABLE;
encode_frame_internal(cpi);
}
}
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -333,10 +333,10 @@
const int *const rd_thresh_freq_fact = cpi->rd.thresh_freq_fact[bsize];
// Mode index conversion form THR_MODES to PREDICTION_MODE for a ref frame.
int mode_idx[MB_MODE_COUNT] = {0};
- INTERP_FILTER filter_ref = SWITCHABLE;
+ INTERP_FILTER filter_ref = cm->interp_filter;
int bsl = mi_width_log2_lookup[bsize];
- const int pred_filter_search = (((mi_row + mi_col) >> bsl) +
- get_chessboard_index(cm)) % 2;
+ const int pred_filter_search = cm->interp_filter == SWITCHABLE ?
+ (((mi_row + mi_col) >> bsl) + get_chessboard_index(cm)) % 2 : 0;
int const_motion[MAX_REF_FRAMES] = { 0 };
// For speed 6, the result of interp filter is reused later in actual encoding