21 |
* along with this program ; if not, write to the Free Software |
* along with this program ; if not, write to the Free Software |
22 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
23 |
* |
* |
24 |
* $Id: estimation_pvop.c,v 1.1.2.9 2003-11-30 16:13:16 edgomez Exp $ |
* $Id: estimation_pvop.c,v 1.1.2.10 2003-12-03 11:51:28 syskin Exp $ |
25 |
* |
* |
26 |
****************************************************************************/ |
****************************************************************************/ |
27 |
|
|
479 |
|
|
480 |
/* intra decision */ |
/* intra decision */ |
481 |
|
|
482 |
if (iQuant > 8) InterBias += 100 * (iQuant - 8); /* to make high quants work */ |
if (iQuant > 10) InterBias += 60 * (iQuant - 10); /* to make high quants work */ |
483 |
if (y != 0) |
if (y != 0) |
484 |
if ((pMB - pParam->mb_width)->mode == MODE_INTRA ) InterBias -= 80; |
if ((pMB - pParam->mb_width)->mode == MODE_INTRA ) InterBias -= 80; |
485 |
if (x != 0) |
if (x != 0) |
798 |
bSAD = Data->iMinSAD[0]; Data->iMinSAD[0] = MV_MAX_ERROR; |
bSAD = Data->iMinSAD[0]; Data->iMinSAD[0] = MV_MAX_ERROR; |
799 |
|
|
800 |
CheckCandidate(startMV.x, startMV.y, Data, 255); |
CheckCandidate(startMV.x, startMV.y, Data, 255); |
801 |
MainSearchPtr(startMV.x, startMV.y, Data, 255, CheckCandidate); |
xvid_me_DiamondSearch(startMV.x, startMV.y, Data, 255, CheckCandidate); |
802 |
if (bSAD < Data->iMinSAD[0]) { |
if (bSAD < Data->iMinSAD[0]) { |
803 |
Data->currentMV[0] = backupMV; |
Data->currentMV[0] = backupMV; |
804 |
Data->iMinSAD[0] = bSAD; } |
Data->iMinSAD[0] = bSAD; } |
810 |
bSAD = Data->iMinSAD[0]; Data->iMinSAD[0] = MV_MAX_ERROR; |
bSAD = Data->iMinSAD[0]; Data->iMinSAD[0] = MV_MAX_ERROR; |
811 |
|
|
812 |
CheckCandidate(startMV.x, startMV.y, Data, 255); |
CheckCandidate(startMV.x, startMV.y, Data, 255); |
813 |
MainSearchPtr(startMV.x, startMV.y, Data, 255, CheckCandidate); |
xvid_me_DiamondSearch(startMV.x, startMV.y, Data, 255, CheckCandidate); |
814 |
if (bSAD < Data->iMinSAD[0]) { |
if (bSAD < Data->iMinSAD[0]) { |
815 |
Data->currentMV[0] = backupMV; |
Data->currentMV[0] = backupMV; |
816 |
Data->iMinSAD[0] = bSAD; |
Data->iMinSAD[0] = bSAD; |