--- estimation_common.c 2004/07/08 07:12:54 1.5 +++ estimation_common.c 2004/10/03 14:37:18 1.7 @@ -21,7 +21,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: estimation_common.c,v 1.5 2004/07/08 07:12:54 syskin Exp $ + * $Id: estimation_common.c,v 1.7 2004/10/03 14:37:18 chl Exp $ * ****************************************************************************/ @@ -331,15 +331,15 @@ if (bDirection & 8) CHECK_CANDIDATE(x, y + iDiamondSize, 8); /* now we're doing diagonal checks near our candidate */ - + bDirection = *iDirection; if (*iDirection) { /* checking if anything found */ - bDirection = *iDirection; - *iDirection = 0; x = data->currentMV->x; y = data->currentMV->y; if (bDirection & 3) { /* our candidate is left or right */ + *iDirection=4+8; CHECK_CANDIDATE(x, y + iDiamondSize, 8); CHECK_CANDIDATE(x, y - iDiamondSize, 4); } else { /* what remains here is up or down */ + *iDirection=1+2; CHECK_CANDIDATE(x + iDiamondSize, y, 2); CHECK_CANDIDATE(x - iDiamondSize, y, 1); } @@ -347,7 +347,7 @@ x = data->currentMV->x; y = data->currentMV->y; } } - while (*iDirection); + while (bDirection); } void