Shrink size of mode_map in struct TileDataEnc

To reduce the memcpy() cycles in vp9_rd_pick_inter_mode_sb().
The maximum value of mode_map is (MAX_MODES - 1) = 29.

Change-Id: I5704bd66838ea0b075f0afb001f5cbebfd3f1602
This commit is contained in:
Linfeng Zhang 2018-03-26 16:42:00 -07:00
parent 39de45d3cc
commit cd83802885
2 changed files with 5 additions and 5 deletions

View File

@ -282,7 +282,7 @@ static INLINE int is_lossless_requested(const VP9EncoderConfig *cfg) {
typedef struct TileDataEnc {
TileInfo tile_info;
int thresh_freq_fact[BLOCK_SIZES][MAX_MODES];
int mode_map[BLOCK_SIZES][MAX_MODES];
int8_t mode_map[BLOCK_SIZES][MAX_MODES];
FIRSTPASS_DATA fp_data;
VP9RowMTSync row_mt_sync;

View File

@ -3074,10 +3074,10 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, TileDataEnc *tile_data,
const int *const rd_threshes = rd_opt->threshes[segment_id][bsize];
const int *const rd_thresh_freq_fact = tile_data->thresh_freq_fact[bsize];
int64_t mode_threshold[MAX_MODES];
int *tile_mode_map = tile_data->mode_map[bsize];
int mode_map[MAX_MODES]; // Maintain mode_map information locally to avoid
// lock mechanism involved with reads from
// tile_mode_map
int8_t *tile_mode_map = tile_data->mode_map[bsize];
int8_t mode_map[MAX_MODES]; // Maintain mode_map information locally to avoid
// lock mechanism involved with reads from
// tile_mode_map
const int mode_search_skip_flags = sf->mode_search_skip_flags;
int64_t mask_filter = 0;
int64_t filter_cache[SWITCHABLE_FILTER_CONTEXTS];