Merge "Cleaning up vp9_init_dsmotion_compensation()."

This commit is contained in:
Dmitry Kovalev 2014-03-03 17:27:51 -08:00 committed by Gerrit Code Review
commit 91e5e5a680

View File

@ -98,42 +98,23 @@ static int mvsad_err_cost(const MV *mv, const MV *ref,
}
void vp9_init_dsmotion_compensation(MACROBLOCK *x, int stride) {
int len;
int search_site_count = 0;
int len, ss_count = 1;
// Generate offsets for 4 search sites per step.
x->ss[search_site_count].mv.col = 0;
x->ss[search_site_count].mv.row = 0;
x->ss[search_site_count].offset = 0;
search_site_count++;
x->ss[0].mv.col = x->ss[0].mv.row = 0;
x->ss[0].offset = 0;
for (len = MAX_FIRST_STEP; len > 0; len /= 2) {
// Compute offsets for search sites.
x->ss[search_site_count].mv.col = 0;
x->ss[search_site_count].mv.row = -len;
x->ss[search_site_count].offset = -len * stride;
search_site_count++;
// Compute offsets for search sites.
x->ss[search_site_count].mv.col = 0;
x->ss[search_site_count].mv.row = len;
x->ss[search_site_count].offset = len * stride;
search_site_count++;
// Compute offsets for search sites.
x->ss[search_site_count].mv.col = -len;
x->ss[search_site_count].mv.row = 0;
x->ss[search_site_count].offset = -len;
search_site_count++;
// Compute offsets for search sites.
x->ss[search_site_count].mv.col = len;
x->ss[search_site_count].mv.row = 0;
x->ss[search_site_count].offset = len;
search_site_count++;
// Generate offsets for 4 search sites per step.
const MV ss_mvs[] = {{-len, 0}, {len, 0}, {0, -len}, {0, len}};
int i;
for (i = 0; i < 4; ++i) {
search_site *const ss = &x->ss[ss_count++];
ss->mv = ss_mvs[i];
ss->offset = ss->mv.row * stride + ss->mv.col;
}
}
x->ss_count = search_site_count;
x->ss_count = ss_count;
x->searches_per_step = 4;
}