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

Christoph Lampert xvid-devel@xvid.org
Mon, 30 Sep 2002 10:26:29 +0200 (CEST)


Hi,

for faster(?) Hpel and Qpel refinement, Michael needs an array
of the SAD values of the neighbouring positions of best-MV after 
fullpel ME. 

Do you have an idea how to cleverly implement this? 

Saving all 4 neighbour SADs in every diamond step seems somehow overhead,
we will only need the final ones. But of course we don't know if those
currently visited will be the final ones after this step. 

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? 

gruel

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.