Rework motion vector precision limit
This commit enables 1/8 luma component motion vector precision for all motion vector cases. It improves the compression performance of lowres by 0.13% and hdres by 0.49%. Change-Id: Iccfc85e8ee1c0154dfbd18f060344f1e3db5dc18
This commit is contained in:
@@ -98,22 +98,12 @@ static int mv_err_cost(const MV *mv, const MV *ref, const int *mvjcost,
|
||||
|
||||
static int mvsad_err_cost(const MACROBLOCK *x, const MV *mv, const MV *ref,
|
||||
int sad_per_bit) {
|
||||
#if CONFIG_REF_MV
|
||||
const MV diff = { (mv->row - ref->row) * 8,
|
||||
(mv->col - ref->col) * 8 };
|
||||
return ROUND_POWER_OF_TWO(
|
||||
(unsigned)mv_cost(&diff, x->nmvjointsadcost, x->mvsadcost) *
|
||||
sad_per_bit,
|
||||
VP9_PROB_COST_SHIFT);
|
||||
#else
|
||||
const MV diff = { mv->row - ref->row,
|
||||
mv->col - ref->col };
|
||||
|
||||
return ROUND_POWER_OF_TWO(
|
||||
(unsigned)mv_cost(&diff, x->nmvjointsadcost, x->nmvsadcost) *
|
||||
sad_per_bit,
|
||||
VP9_PROB_COST_SHIFT);
|
||||
#endif
|
||||
}
|
||||
|
||||
void vp10_init_dsmotion_compensation(search_site_config *cfg, int stride) {
|
||||
|
||||
Reference in New Issue
Block a user