[XviD-devel] Keeping track of visited MBs/SADs

Christoph Lampert xvid-devel@xvid.org
Tue, 1 Oct 2002 10:18:22 +0200 (CEST)


Hi,

still I don't see a different possibility than saving all neighbour 
SADs in every step, so they are up-to-date when search terminates.
For eary termination, we'll have to invalidate them. 

On Tue, 1 Oct 2002, Michael Militzer wrote:
> > Also, PMVfast/EPZS often terminates without checking (all) neighbours,
> > because SAD is below some threshhold.
> > Michael, what should happen then? Maybe "SAD-not-valid" flag?
> 
> I thought of a small array where the neighbouring SADs should be stored. If
> the SAD(s) have not been calculated, a NOT_AVAILABLE flag (or something
> else) should be present. Is there a value that could be safely used for the
> flag? Maybe a very high negative number?
                ^^^^^^^^^^^^^^^^^^
                  you must be a computer science guy.. 
                  The "highest negativ" integer is of course -1  ;-)

Okay, I'll use a SAD_NOT_VALID  constant. 
Btw. did you check how often all neighbours are available at all? 

> > P.S. With current implementation we cannot assume that SAD of current MV
> > is lower than SAD of neighbours. First, because we might be terminated
> > early (not going to diamond), and second, because vector length plays a
> > role in MV decision, too.
> 
> yes, I know. But I think it's not important that current best SAD is smaller
> than the SAD of the neighbours. More interesting is how the SADs of the
> neighbours compare to each other...

Yes, I thought so. I just wanted to mention it.

gruel