Re[13]: [XviD-devel] New Motion Estimation (from sysKin) committed to branch

Michael Militzer xvid-devel@xvid.org
Sun, 29 Sep 2002 16:02:38 +0200


Hi,

> > I'll do my best to find and squash the bug ;) It must be something
> > very simple
>
> OK, this must have been the strangiest bug in this ME's career. I found
> some pieces of code which should never ever be there.
> Yes, I remeber writing them, but this was just en experiment and I
> deleted them an hour later. However, parts of it hid from me and
> survived. Smart beasts, all the lines of C.
>
> The good news is that the ME is faster now, too.
>
> There is also bad news: hinted ME & lumimasking still doesn't work -
> it must be a different bug. I don't know what I'm missing, this is not
> even inter4v related. The only other mode which can affect
> lumimasking is MODE_NOT_CODED but then again this mode works just as
> it was working with 'original' hinted me. Strange, but I'll find it
> anyway.

I've also experienced something very strange which could also be somehow
luminance masking dependant (note: I didn't use luminance masking at all):
While I tried to get quarterpel working with the new ME, I got ugly
artifacts (somehow the u,v planes looked displaced) as soon as I switched
into qpel mode (even while not using any "real" qpel vectors). At first I
thought that something had been gone wrong with my qpel code (compensation
etc.) but finally I noticed that it was ME's fault: After I commented out
the following lines:

//   if (!(current->global_flags & XVID_LUMIMASKING)) {
//    pMB->dquant = NO_CHANGE;
//    pMB->quant = current->quant; }

in MotionEstimation() (motion_est.c), the artifacts were gone... This is
extremely strange and I'm sure that these three lines cannot be the real
source of the artifact problems, but I didn't have the time yet to further
look into this...

bye,
Michael