Only track mode_chosen_counts if CONFIG_INTERNAL_STATS.

Change-Id: Ia9252ad0caa4d2bda529a3fe93efcb31e7eb2da0
This commit is contained in:
Alex Converse 2014-02-14 14:46:29 -08:00
Родитель 33bb443550
Коммит 657519192e
3 изменённых файлов: 15 добавлений и 15 удалений

Просмотреть файл

@ -398,7 +398,6 @@ static void update_state(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx,
MB_MODE_INFO *const mbmi = &xd->mi_8x8[0]->mbmi; MB_MODE_INFO *const mbmi = &xd->mi_8x8[0]->mbmi;
MODE_INFO *mi_addr = xd->mi_8x8[0]; MODE_INFO *mi_addr = xd->mi_8x8[0];
const int mb_mode_index = ctx->best_mode_index;
const int mis = cm->mode_info_stride; const int mis = cm->mode_info_stride;
const int mi_width = num_8x8_blocks_wide_lookup[bsize]; const int mi_width = num_8x8_blocks_wide_lookup[bsize];
const int mi_height = num_8x8_blocks_high_lookup[bsize]; const int mi_height = num_8x8_blocks_high_lookup[bsize];
@ -470,8 +469,8 @@ static void update_state(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx,
cpi->rd_tx_select_diff[i] += ctx->tx_rd_diff[i]; cpi->rd_tx_select_diff[i] += ctx->tx_rd_diff[i];
} }
if (frame_is_intra_only(cm)) {
#if CONFIG_INTERNAL_STATS #if CONFIG_INTERNAL_STATS
if (frame_is_intra_only(cm)) {
static const int kf_mode_index[] = { static const int kf_mode_index[] = {
THR_DC /*DC_PRED*/, THR_DC /*DC_PRED*/,
THR_V_PRED /*V_PRED*/, THR_V_PRED /*V_PRED*/,
@ -484,12 +483,13 @@ static void update_state(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx,
THR_D63_PRED /*D63_PRED*/, THR_D63_PRED /*D63_PRED*/,
THR_TM /*TM_PRED*/, THR_TM /*TM_PRED*/,
}; };
cpi->mode_chosen_counts[kf_mode_index[mbmi->mode]]++; ++cpi->mode_chosen_counts[kf_mode_index[mbmi->mode]];
#endif
} else { } else {
// Note how often each mode chosen as best // Note how often each mode chosen as best
cpi->mode_chosen_counts[mb_mode_index]++; ++cpi->mode_chosen_counts[ctx->best_mode_index];
}
#endif
if (!frame_is_intra_only(cm)) {
if (is_inter_block(mbmi)) { if (is_inter_block(mbmi)) {
if (mbmi->sb_type < BLOCK_8X8 || mbmi->mode == NEWMV) { if (mbmi->sb_type < BLOCK_8X8 || mbmi->mode == NEWMV) {
int_mv best_mv[2]; int_mv best_mv[2];
@ -1049,11 +1049,10 @@ static void update_state_rt(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx,
MACROBLOCKD *const xd = &x->e_mbd; MACROBLOCKD *const xd = &x->e_mbd;
MB_MODE_INFO *const mbmi = &xd->mi_8x8[0]->mbmi; MB_MODE_INFO *const mbmi = &xd->mi_8x8[0]->mbmi;
const int mb_mode_index = ctx->best_mode_index;
x->skip = ctx->skip; x->skip = ctx->skip;
if (frame_is_intra_only(cm)) {
#if CONFIG_INTERNAL_STATS #if CONFIG_INTERNAL_STATS
if (frame_is_intra_only(cm)) {
static const int kf_mode_index[] = { static const int kf_mode_index[] = {
THR_DC /*DC_PRED*/, THR_DC /*DC_PRED*/,
THR_V_PRED /*V_PRED*/, THR_V_PRED /*V_PRED*/,
@ -1067,10 +1066,12 @@ static void update_state_rt(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx,
THR_TM /*TM_PRED*/, THR_TM /*TM_PRED*/,
}; };
++cpi->mode_chosen_counts[kf_mode_index[mbmi->mode]]; ++cpi->mode_chosen_counts[kf_mode_index[mbmi->mode]];
#endif
} else { } else {
// Note how often each mode chosen as best // Note how often each mode chosen as best
cpi->mode_chosen_counts[mb_mode_index]++; ++cpi->mode_chosen_counts[ctx->best_mode_index];
}
#endif
if (!frame_is_intra_only(cm)) {
if (is_inter_block(mbmi)) { if (is_inter_block(mbmi)) {
if (mbmi->sb_type < BLOCK_8X8 || mbmi->mode == NEWMV) { if (mbmi->sb_type < BLOCK_8X8 || mbmi->mode == NEWMV) {
int_mv best_mv[2]; int_mv best_mv[2];

Просмотреть файл

@ -875,8 +875,10 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
if (speed < 0) if (speed < 0)
speed = -speed; speed = -speed;
#if CONFIG_INTERNAL_STATS
for (i = 0; i < MAX_MODES; ++i) for (i = 0; i < MAX_MODES; ++i)
cpi->mode_chosen_counts[i] = 0; cpi->mode_chosen_counts[i] = 0;
#endif
// best quality defaults // best quality defaults
sf->frame_parameter_update = 1; sf->frame_parameter_update = 1;
@ -2782,8 +2784,6 @@ static void output_frame_level_debug_stats(VP9_COMP *cpi) {
for (i = 0; i < MAX_MODES; ++i) for (i = 0; i < MAX_MODES; ++i)
fprintf(fmodes, "%5d ", cpi->mode_chosen_counts[i]); fprintf(fmodes, "%5d ", cpi->mode_chosen_counts[i]);
for (i = 0; i < MAX_REFS; ++i)
fprintf(fmodes, "%5d ", cpi->sub8x8_mode_chosen_counts[i]);
fprintf(fmodes, "\n"); fprintf(fmodes, "\n");

Просмотреть файл

@ -486,9 +486,6 @@ typedef struct VP9_COMP {
// Ambient reconstruction err target for force key frames // Ambient reconstruction err target for force key frames
int ambient_err; int ambient_err;
unsigned int mode_chosen_counts[MAX_MODES];
unsigned int sub8x8_mode_chosen_counts[MAX_REFS];
int rd_threshes[MAX_SEGMENTS][BLOCK_SIZES][MAX_MODES]; int rd_threshes[MAX_SEGMENTS][BLOCK_SIZES][MAX_MODES];
int rd_thresh_freq_fact[BLOCK_SIZES][MAX_MODES]; int rd_thresh_freq_fact[BLOCK_SIZES][MAX_MODES];
int rd_thresh_sub8x8[MAX_SEGMENTS][BLOCK_SIZES][MAX_REFS]; int rd_thresh_sub8x8[MAX_SEGMENTS][BLOCK_SIZES][MAX_REFS];
@ -586,6 +583,8 @@ typedef struct VP9_COMP {
int fixed_divide[512]; int fixed_divide[512];
#if CONFIG_INTERNAL_STATS #if CONFIG_INTERNAL_STATS
unsigned int mode_chosen_counts[MAX_MODES];
int count; int count;
double total_y; double total_y;
double total_u; double total_u;