Frame I DC value problem

"Xwen.Kong" <[email protected]> Tue, 22 Sep 2009 15:24:37 +0800
Newsgroups gmane.comp.video.xvid.devel
Message-ID <[email protected]>
Hi,all      In the function static int calc_acdc_coeff(...)  has one line:
                           qcoeff[0] = qcoeff[0] - predictors[0];
     which means that this 8x8 block DC value has used the predicted
direction value, but after the function returns , in function void
MBPrediction(...):
                          if (S<=0) { /* dont predict */
for (j = 0; j < 6; j++)
pMB->acpred_directions[j] = 0;
                                ...
      which means if S<=0 we do not use the prediction data, but the
qcoeff[0] has changed before, it seems not right.Should it be modified as
follows ?
                         if (S<=0) { /* dont predict */
                            qcoeff[0] += predictors[0];
    for (j = 0; j < 6; j++)
pMB->acpred_directions[j] = 0;
                                ...