52 |
* exception also makes it possible to release a modified version which |
* exception also makes it possible to release a modified version which |
53 |
* carries forward this exception. |
* carries forward this exception. |
54 |
* |
* |
55 |
* $Id: encoder.c,v 1.87 2002-11-16 23:38:16 edgomez Exp $ |
* $Id: encoder.c,v 1.88 2002-11-26 23:44:09 edgomez Exp $ |
56 |
* |
* |
57 |
****************************************************************************/ |
****************************************************************************/ |
58 |
|
|
703 |
pMB->pmvs[vec].x = pMB->mvs[vec].x - pred.x; |
pMB->pmvs[vec].x = pMB->mvs[vec].x - pred.x; |
704 |
pMB->pmvs[vec].y = pMB->mvs[vec].y - pred.y; |
pMB->pmvs[vec].y = pMB->mvs[vec].y - pred.y; |
705 |
} |
} |
706 |
} else // intra / stuffing / not_coded |
} else /* intra / stuffing / not_coded */ |
707 |
{ |
{ |
708 |
for (vec = 0; vec < 4; ++vec) { |
for (vec = 0; vec < 4; ++vec) { |
709 |
pMB->mvs[vec].x = pMB->mvs[vec].y = 0; |
pMB->mvs[vec].x = pMB->mvs[vec].y = 0; |
876 |
HintedMEGet(pEnc, 1); |
HintedMEGet(pEnc, 1); |
877 |
} |
} |
878 |
|
|
879 |
return 1; // intra |
return 1; /* intra */ |
880 |
} |
} |
881 |
|
|
882 |
|
|
1058 |
iSearchRange = 1 << (3 + pEnc->mbParam.m_fcode); |
iSearchRange = 1 << (3 + pEnc->mbParam.m_fcode); |
1059 |
|
|
1060 |
if ((fSigma > iSearchRange / 3) |
if ((fSigma > iSearchRange / 3) |
1061 |
&& (pEnc->mbParam.m_fcode <= 3)) // maximum search range 128 |
&& (pEnc->mbParam.m_fcode <= 3)) /* maximum search range 128 */ |
1062 |
{ |
{ |
1063 |
pEnc->mbParam.m_fcode++; |
pEnc->mbParam.m_fcode++; |
1064 |
iSearchRange *= 2; |
iSearchRange *= 2; |
1065 |
} else if ((fSigma < iSearchRange / 6) |
} else if ((fSigma < iSearchRange / 6) |
1066 |
&& (pEnc->sStat.fMvPrevSigma >= 0) |
&& (pEnc->sStat.fMvPrevSigma >= 0) |
1067 |
&& (pEnc->sStat.fMvPrevSigma < iSearchRange / 6) |
&& (pEnc->sStat.fMvPrevSigma < iSearchRange / 6) |
1068 |
&& (pEnc->mbParam.m_fcode >= 2)) // minimum search range 16 |
&& (pEnc->mbParam.m_fcode >= 2)) /* minimum search range 16 */ |
1069 |
{ |
{ |
1070 |
pEnc->mbParam.m_fcode--; |
pEnc->mbParam.m_fcode--; |
1071 |
iSearchRange /= 2; |
iSearchRange /= 2; |
1075 |
|
|
1076 |
*pBits = BitstreamPos(bs) - *pBits; |
*pBits = BitstreamPos(bs) - *pBits; |
1077 |
|
|
1078 |
return 0; // inter |
return 0; /* inter */ |
1079 |
|
|
1080 |
} |
} |