[cvs] / xvidcore / src / prediction / mbprediction.c Repository:
ViewVC logotype

Diff of /xvidcore/src/prediction/mbprediction.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.13.2.3, Wed Mar 26 14:56:49 2003 UTC revision 1.13.2.6, Thu May 22 16:36:07 2003 UTC
# Line 50  Line 50 
50    *                                                                            *    *                                                                            *
51    ******************************************************************************/    ******************************************************************************/
52    
53    #include <stdlib.h>
54    
55  #include "../global.h"  #include "../global.h"
56  #include "../encoder.h"  #include "../encoder.h"
57  #include "mbprediction.h"  #include "mbprediction.h"
# Line 212  Line 214 
214          //  determine ac prediction direction & ac/dc predictor          //  determine ac prediction direction & ac/dc predictor
215          //  place rescaled ac/dc predictions into predictors[] for later use          //  place rescaled ac/dc predictions into predictors[] for later use
216    
217          if (ABS(pLeft[0] - pDiag[0]) < ABS(pDiag[0] - pTop[0])) {          if (abs(pLeft[0] - pDiag[0]) < abs(pDiag[0] - pTop[0])) {
218                  *acpred_direction = 1;  // vertical                  *acpred_direction = 1;  // vertical
219                  predictors[0] = DIV_DIV(pTop[0], iDcScaler);                  predictors[0] = DIV_DIV(pTop[0], iDcScaler);
220                  for (i = 1; i < 8; i++) {                  for (i = 1; i < 8; i++) {
# Line 244  Line 246 
246          int16_t *pCurrent = pMB->pred_values[block];          int16_t *pCurrent = pMB->pred_values[block];
247          uint32_t i;          uint32_t i;
248    
249          DPRINTF(DPRINTF_COEFF,"predictor[0] %i", predictors[0]);          DPRINTF(XVID_DEBUG_COEFF,"predictor[0] %i\n", predictors[0]);
250    
251          dct_codes[0] += predictors[0];  // dc prediction          dct_codes[0] += predictors[0];  // dc prediction
252          pCurrent[0] = dct_codes[0] * iDcScaler;          pCurrent[0] = dct_codes[0] * iDcScaler;
# Line 253  Line 255 
255                  for (i = 1; i < 8; i++) {                  for (i = 1; i < 8; i++) {
256                          int level = dct_codes[i] + predictors[i];                          int level = dct_codes[i] + predictors[i];
257    
258                          DPRINTF(DPRINTF_COEFF,"predictor[%i] %i",i, predictors[i]);                          DPRINTF(XVID_DEBUG_COEFF,"predictor[%i] %i\n",i, predictors[i]);
259    
260                          dct_codes[i] = level;                          dct_codes[i] = level;
261                          pCurrent[i] = level;                          pCurrent[i] = level;
# Line 262  Line 264 
264          } else if (acpred_direction == 2) {          } else if (acpred_direction == 2) {
265                  for (i = 1; i < 8; i++) {                  for (i = 1; i < 8; i++) {
266                          int level = dct_codes[i * 8] + predictors[i];                          int level = dct_codes[i * 8] + predictors[i];
267                          DPRINTF(DPRINTF_COEFF,"predictor[%i] %i",i*8, predictors[i]);                          DPRINTF(XVID_DEBUG_COEFF,"predictor[%i] %i\n",i*8, predictors[i]);
268    
269                          dct_codes[i * 8] = level;                          dct_codes[i * 8] = level;
270                          pCurrent[i + 7] = level;                          pCurrent[i + 7] = level;
# Line 318  Line 320 
320                          int16_t level;                          int16_t level;
321    
322                          level = qcoeff[i];                          level = qcoeff[i];
323                          S2 += ABS(level);                          S2 += abs(level);
324                          level -= predictors[i];                          level -= predictors[i];
325                          S1 += ABS(level);                          S1 += abs(level);
326                          predictors[i] = level;                          predictors[i] = level;
327                  }                  }
328          } else                                          // acpred_direction == 2          } else                                          // acpred_direction == 2
# Line 329  Line 331 
331                          int16_t level;                          int16_t level;
332    
333                          level = qcoeff[i * 8];                          level = qcoeff[i * 8];
334                          S2 += ABS(level);                          S2 += abs(level);
335                          level -= predictors[i];                          level -= predictors[i];
336                          S1 += ABS(level);                          S1 += abs(level);
337                          predictors[i] = level;                          predictors[i] = level;
338                  }                  }
339    

Legend:
Removed from v.1.13.2.3  
changed lines
  Added in v.1.13.2.6

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4