620 |
unsigned int i, j; |
unsigned int i, j; |
621 |
xvid_plg_data_t data; |
xvid_plg_data_t data; |
622 |
|
|
|
if (pEnc->num_plugins == 0) { |
|
|
for (j=0; j<pEnc->mbParam.mb_height; j++) |
|
|
for (i=0; i<pEnc->mbParam.mb_width; i++) { |
|
|
frame->mbs[j*pEnc->mbParam.mb_width + i].dquant = 0; |
|
|
} |
|
|
return; |
|
|
} |
|
|
|
|
623 |
/* set data struct */ |
/* set data struct */ |
624 |
|
|
625 |
memset(&data, 0, sizeof(xvid_plg_data_t)); |
memset(&data, 0, sizeof(xvid_plg_data_t)); |
1846 |
continue; |
continue; |
1847 |
} |
} |
1848 |
|
|
1849 |
if (mb->mode != MODE_DIRECT_NONE_MV) { |
if (mb->mode != MODE_DIRECT_NONE_MV || pEnc->mbParam.plugin_flags & XVID_REQORIGINAL) { |
1850 |
MBMotionCompensationBVOP(&pEnc->mbParam, mb, x, y, &frame->image, |
MBMotionCompensationBVOP(&pEnc->mbParam, mb, x, y, &frame->image, |
1851 |
f_ref, &pEnc->f_refh, &pEnc->f_refv, |
f_ref, &pEnc->f_refh, &pEnc->f_refv, |
1852 |
&pEnc->f_refhv, b_ref, &pEnc->vInterH, |
&pEnc->f_refhv, b_ref, &pEnc->vInterH, |
1856 |
if (mb->mode == MODE_DIRECT_NO4V) mb->mode = MODE_DIRECT; |
if (mb->mode == MODE_DIRECT_NO4V) mb->mode = MODE_DIRECT; |
1857 |
mb->quant = frame->quant; |
mb->quant = frame->quant; |
1858 |
|
|
1859 |
mb->cbp = |
if (mb->mode != MODE_DIRECT_NONE_MV) |
1860 |
MBTransQuantInterBVOP(&pEnc->mbParam, frame, mb, x, y, dct_codes, qcoeff); |
mb->cbp = MBTransQuantInterBVOP(&pEnc->mbParam, frame, mb, x, y, dct_codes, qcoeff); |
1861 |
|
|
1862 |
if ( (mb->mode == MODE_DIRECT) && (mb->cbp == 0) |
if ( (mb->mode == MODE_DIRECT) && (mb->cbp == 0) |
1863 |
&& (mb->pmvs[3].x == 0) && (mb->pmvs[3].y == 0) ) { |
&& (mb->pmvs[3].x == 0) && (mb->pmvs[3].y == 0) ) { |