[XviD-devel] Motion estimation and SAD
Christoph Lampert
chl at math.uni-bonn.de
Sat Apr 26 19:35:37 CEST 2003
We use a lagrangian method to balance distorsion versus bits needed
for encoding the motion vector. sad16() is the distorsion, calc_delta_16
calculates the number of bits for the motion vector (d_mv_bits())
and weights them by a factor lamda.
gruel
> I'm looking at the motion estimation part of Xvid, in order to make a study
> about influence of block size in compression rate.
> In the motion_est.c file, while looking for the best MV, for example in
> NO_CHECK_MV16_CANDIDATE:
>
> #define NOCHECK_MV16_CANDIDATE(X,Y) { \
> iSAD = sad16( cur, get_ref(pRef, pRefH, pRefV, pRefHV, x, y, 16, X, Y,
> iEdgedWidth),iEdgedWidth, iMinSAD); \
> iSAD += calc_delta_16((X) - center_x, (Y) - center_y, (uint8_t)iFcode,
> iQuant);\
> if (iSAD < iMinSAD) \
> { iMinSAD=iSAD; currMV->x=(X); currMV->y=(Y); } \
> }
>
> I don't get what calc_delta_16 represent, and why it has to be added for the
> SAD.
>
> Thanks for any explanation,
>
> Manu
>
> _______________________________________________
> XviD-devel mailing list
> XviD-devel at xvid.org
> http://list.xvid.org/mailman/listinfo/xvid-devel
>
More information about the XviD-devel
mailing list