Merge remote branch 'internal/upstream' into HEAD

This commit is contained in:
John Koleszar 2011-06-03 00:05:17 -04:00
commit 90e84704ae
5 changed files with 27 additions and 17 deletions

View File

@ -449,7 +449,9 @@ static void first_pass_motion_search(VP8_COMP *cpi, MACROBLOCK *x,
// Initial step/diamond search centred on best mv
tmp_mv.as_int = 0;
tmp_err = cpi->diamond_search_sad(x, b, d, ref_mv, &tmp_mv, step_param, x->errorperbit, &num00, &v_fn_ptr, x->mvcost, ref_mv);
tmp_err = cpi->diamond_search_sad(x, b, d, ref_mv, &tmp_mv, step_param,
x->sadperbit16, &num00, &v_fn_ptr,
x->mvcost, ref_mv);
if ( tmp_err < INT_MAX-new_mv_mode_penalty )
tmp_err += new_mv_mode_penalty;
@ -472,7 +474,10 @@ static void first_pass_motion_search(VP8_COMP *cpi, MACROBLOCK *x,
num00--;
else
{
tmp_err = cpi->diamond_search_sad(x, b, d, ref_mv, &tmp_mv, step_param + n, x->errorperbit, &num00, &v_fn_ptr, x->mvcost, ref_mv);
tmp_err = cpi->diamond_search_sad(x, b, d, ref_mv, &tmp_mv,
step_param + n, x->sadperbit16,
&num00, &v_fn_ptr, x->mvcost,
ref_mv);
if ( tmp_err < INT_MAX-new_mv_mode_penalty )
tmp_err += new_mv_mode_penalty;

View File

@ -1000,7 +1000,8 @@ cal_neighbors:
this_mv.as_mv.col = bc<<3;
this_offset = (unsigned char *)(*(d->base_pre) + d->pre + (br * (in_what_stride)) + bc);
return vfp->vf(what, what_stride, this_offset, in_what_stride, &bestsad) + mv_err_cost(&this_mv, center_mv, mvcost, x->errorperbit) ;
return vfp->vf(what, what_stride, this_offset, in_what_stride, &bestsad)
+ mv_err_cost(&this_mv, center_mv, mvcost, x->errorperbit) ;
}
#undef CHECK_BOUNDS
#undef CHECK_POINT

View File

@ -713,7 +713,7 @@ void vp8_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset,
int step_param;
int further_steps;
int n = 0;
int sadpb = x->sadperbit16/2;
int sadpb = x->sadperbit16;
int col_min;
int col_max;
@ -817,7 +817,11 @@ void vp8_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset,
}
if (bestsme < INT_MAX)
cpi->find_fractional_mv_step(x, b, d, &d->bmi.mv, &best_ref_mv, x->errorperbit, &cpi->fn_ptr[BLOCK_16X16], cpi->mb.mvcost, &distortion2, &sse);
cpi->find_fractional_mv_step(x, b, d, &d->bmi.mv, &best_ref_mv,
x->errorperbit,
&cpi->fn_ptr[BLOCK_16X16],
cpi->mb.mvcost,
&distortion2,&sse);
mode_mv[NEWMV].as_int = d->bmi.mv.as_int;

View File

@ -240,8 +240,8 @@ static int sad_per_bit4lut[QINDEX_RANGE] =
void vp8cx_initialize_me_consts(VP8_COMP *cpi, int QIndex)
{
cpi->mb.sadperbit16 = sad_per_bit16lut[QIndex];
cpi->mb.sadperbit4 = sad_per_bit4lut[QIndex];
cpi->mb.sadperbit16 = sad_per_bit16lut[QIndex]/2;
cpi->mb.sadperbit4 = sad_per_bit4lut[QIndex]/2;
}
@ -1196,7 +1196,7 @@ static void rd_check_segment(VP8_COMP *cpi, MACROBLOCK *x,
further_steps = (MAX_MVSEARCH_STEPS - 1) - step_param;
{
int sadpb = x->sadperbit4/2;
int sadpb = x->sadperbit4;
// find first label
n = vp8_mbsplit_offset[segmentation][i];
@ -1267,13 +1267,10 @@ static void rd_check_segment(VP8_COMP *cpi, MACROBLOCK *x,
{
int distortion;
unsigned int sse;
cpi->find_fractional_mv_step(x, c, e, &mode_mv[NEW4X4],
bsi->ref_mv, x->errorperbit, v_fn_ptr, x->mvcost,
&distortion, &sse);
if (!cpi->common.full_pixel)
cpi->find_fractional_mv_step(x, c, e, &mode_mv[NEW4X4],
bsi->ref_mv, x->errorperbit / 2, v_fn_ptr, x->mvcost, &distortion, &sse);
else
vp8_skip_fractional_mv_step(x, c, e, &mode_mv[NEW4X4],
bsi->ref_mv, x->errorperbit, v_fn_ptr, x->mvcost, &distortion, &sse);
}
} /* NEW4X4 */
@ -2103,7 +2100,7 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int
int do_refine=1; /* If last step (1-away) of n-step search doesn't pick the center point as the best match,
we will do a final 1-away diamond refining search */
int sadpb = x->sadperbit16/2;
int sadpb = x->sadperbit16;
int col_min = (best_ref_mv.as_mv.col - MAX_FULL_PEL_VAL) >>3;
int col_max = (best_ref_mv.as_mv.col + MAX_FULL_PEL_VAL) >>3;
@ -2212,7 +2209,10 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int
{
int dis; /* TODO: use dis in distortion calculation later. */
unsigned int sse;
cpi->find_fractional_mv_step(x, b, d, &d->bmi.mv, &best_ref_mv, x->errorperbit / 4, &cpi->fn_ptr[BLOCK_16X16], x->mvcost, &dis, &sse);
cpi->find_fractional_mv_step(x, b, d, &d->bmi.mv, &best_ref_mv,
x->errorperbit,
&cpi->fn_ptr[BLOCK_16X16],
x->mvcost, &dis, &sse);
}
mode_mv[NEWMV].as_int = d->bmi.mv.as_int;

View File

@ -200,7 +200,7 @@ static int vp8_temporal_filter_find_matching_mb_c
bestsme = vp8_hex_search(x, b, d,
&best_ref_mv1, &d->bmi.mv,
step_param,
sadpb/*x->errorperbit*/,
sadpb,
&num00, &cpi->fn_ptr[BLOCK_16X16],
mvsadcost, mvcost, &best_ref_mv1);