188 |
pcreate.zones = pEnc->zones; |
pcreate.zones = pEnc->zones; |
189 |
pcreate.width = pEnc->mbParam.width; |
pcreate.width = pEnc->mbParam.width; |
190 |
pcreate.height = pEnc->mbParam.height; |
pcreate.height = pEnc->mbParam.height; |
191 |
|
pcreate.mb_width = pEnc->mbParam.mb_width; |
192 |
|
pcreate.mb_height = pEnc->mbParam.mb_height; |
193 |
pcreate.fincr = pEnc->mbParam.fincr; |
pcreate.fincr = pEnc->mbParam.fincr; |
194 |
pcreate.fbase = pEnc->mbParam.fbase; |
pcreate.fbase = pEnc->mbParam.fbase; |
195 |
pcreate.param = create->plugins[n].param; |
pcreate.param = create->plugins[n].param; |
650 |
data.mb_height = pEnc->mbParam.mb_height; |
data.mb_height = pEnc->mbParam.mb_height; |
651 |
data.fincr = frame->fincr; |
data.fincr = frame->fincr; |
652 |
data.fbase = pEnc->mbParam.fbase; |
data.fbase = pEnc->mbParam.fbase; |
653 |
|
data.bquant_ratio = pEnc->mbParam.bquant_ratio; |
654 |
|
data.bquant_offset = pEnc->mbParam.bquant_offset; |
655 |
|
|
656 |
for (i=0; i<3; i++) { |
for (i=0; i<3; i++) { |
657 |
data.min_quant[i] = pEnc->mbParam.min_quant[i]; |
data.min_quant[i] = pEnc->mbParam.min_quant[i]; |
1075 |
}else{ |
}else{ |
1076 |
type = MEanalysis(&pEnc->reference->image, pEnc->current, |
type = MEanalysis(&pEnc->reference->image, pEnc->current, |
1077 |
&pEnc->mbParam, pEnc->mbParam.iMaxKeyInterval, |
&pEnc->mbParam, pEnc->mbParam.iMaxKeyInterval, |
1078 |
pEnc->iFrameNum, pEnc->bframenum_tail, xFrame->bframe_threshold); |
pEnc->iFrameNum, pEnc->bframenum_tail, xFrame->bframe_threshold, |
1079 |
|
pEnc->bframes[pEnc->bframenum_head]->mbs); |
1080 |
} |
} |
1081 |
} |
} |
1082 |
|
|
1510 |
&pEnc->vInterH, |
&pEnc->vInterH, |
1511 |
&pEnc->vInterV, |
&pEnc->vInterV, |
1512 |
&pEnc->vInterHV); |
&pEnc->vInterHV); |
1513 |
gmcval += /*current->quant */ 2 * (int)(pParam->mb_width*pParam->mb_height); |
} else { |
|
} |
|
|
|
|
1514 |
gmcval = globalSAD(¤t->warp, pParam, current->mbs, |
gmcval = globalSAD(¤t->warp, pParam, current->mbs, |
1515 |
current, |
current, |
1516 |
&reference->image, |
&reference->image, |
1517 |
¤t->image, |
¤t->image, |
1518 |
pEnc->vGMC.y); |
pEnc->vGMC.y); |
1519 |
|
} |
1520 |
|
|
1521 |
gmcval += /*current->quant*/ 2 * (int)(pParam->mb_width*pParam->mb_height); |
gmcval += /*current->quant*/ 2 * (int)(pParam->mb_width*pParam->mb_height); |
1522 |
|
|
1523 |
/* 1st '3': 3 warpoints, 2nd '3': 16th pel res (2<<3) */ |
/* 1st '3': 3 warpoints, 2nd '3': 16th pel res (2<<3) */ |
1918 |
|
|
1919 |
/* decoder ignores mb when refence block is INTER(0,0), CBP=0 */ |
/* decoder ignores mb when refence block is INTER(0,0), CBP=0 */ |
1920 |
if (mb->mode == MODE_NOT_CODED) { |
if (mb->mode == MODE_NOT_CODED) { |
1921 |
/* mb->mvs[0].x = mb->mvs[0].y = mb->cbp = 0; */ |
if (pEnc->mbParam.plugin_flags & XVID_REQORIGINAL) { |
1922 |
|
MBMotionCompensation(mb, x, y, f_ref, NULL, f_ref, NULL, NULL, &frame->image, |
1923 |
|
NULL, 0, 0, pEnc->mbParam.edged_width, 0, 0, 0); |
1924 |
|
} |
1925 |
|
|
1926 |
continue; |
continue; |
1927 |
} |
} |
1928 |
|
|