int svc_mv_row = 0;
int no_scaling = 0;
unsigned int thresh_svc_skip_golden = 500;
+ unsigned int thresh_skip_golden = (bsize >= BLOCK_32X32) ? 5000 : 1000;
int scene_change_detected =
cpi->rc.high_source_sad ||
(cpi->use_svc && cpi->svc.high_source_sad_superframe);
if (segfeature_active(seg, mi->segment_id, SEG_LVL_REF_FRAME)) continue;
}
- // For SVC, skip the golden (spatial) reference search if sse of zeromv_last
- // is below threshold.
- if (cpi->use_svc && ref_frame == GOLDEN_FRAME &&
- sse_zeromv_normalized < thresh_svc_skip_golden)
+ // For CBR mode: skip the golden reference search if sse of zeromv_last is
+ // below threshold.
+ if (ref_frame == GOLDEN_FRAME && cpi->oxcf.rc_mode == VPX_CBR &&
+ ((cpi->use_svc && sse_zeromv_normalized < thresh_svc_skip_golden) ||
+ (!cpi->use_svc && sse_zeromv_normalized < thresh_skip_golden)))
continue;
if (!(cpi->ref_frame_flags & flag_list[ref_frame])) continue;
&var_y, &sse_y);
}
// Save normalized sse (between current and last frame) for (0, 0) motion.
- if (cpi->use_svc && ref_frame == LAST_FRAME &&
+ if (ref_frame == LAST_FRAME &&
frame_mv[this_mode][ref_frame].as_int == 0) {
sse_zeromv_normalized =
sse_y >> (b_width_log2_lookup[bsize] + b_height_log2_lookup[bsize]);