--- branches/dev-api-3/xvidcore/src/bitstream/mbcoding.c 2002/11/07 10:31:03 631 +++ branches/dev-api-3/xvidcore/src/bitstream/mbcoding.c 2003/01/04 06:14:33 760 @@ -52,6 +52,7 @@ #include #include "../portab.h" +#include "../global.h" #include "bitstream.h" #include "zigzag.h" #include "vlc_codes.h" @@ -59,11 +60,8 @@ #include "../utils/mbfunctions.h" -#define ABS(X) (((X)>0)?(X):-(X)) -#define CLIP(X,A) (X > A) ? (A) : (X) - -VLC intra_table[524032]; -VLC inter_table[524032]; +VLC intra_table[4*2048*64]; +VLC inter_table[4*2048*64]; VLC DCT3Dintra[4096]; VLC DCT3Dinter[4096]; @@ -440,13 +438,13 @@ if (frame->global_flags & XVID_INTERLACING) { if (pMB->cbp) { BitstreamPutBit(bs, pMB->field_dct); - DEBUG1("codep: field_dct: ", pMB->field_dct); + DPRINTF(DPRINTF_MB,"codep: field_dct: %i", pMB->field_dct); } // if inter block, write field ME flag if (pMB->mode == MODE_INTER || pMB->mode == MODE_INTER_Q) { BitstreamPutBit(bs, pMB->field_pred); - DEBUG1("codep: field_pred: ", pMB->field_pred); + DPRINTF(DPRINTF_MB,"codep: field_pred: %i", pMB->field_pred); // write field prediction references if (pMB->field_pred) { @@ -683,7 +681,7 @@ uint32_t index; - index = CLIP(BitstreamShowBits(bs, 9), 256); + index = MIN(BitstreamShowBits(bs, 9), 256); BitstreamSkip(bs, mcbpc_inter_table[index].len); @@ -831,7 +829,7 @@ do { level = get_coeff(bs, &run, &last, 1, 0); if (run == -1) { - DEBUG("fatal: invalid run"); + DPRINTF(DPRINTF_ERROR,"fatal: invalid run"); break; } coeff += run; @@ -840,8 +838,8 @@ DPRINTF(DPRINTF_COEFF,"block[%i] %i", scan[coeff], level); //DPRINTF(DPRINTF_COEFF,"block[%i] %i %08x", scan[coeff], level, BitstreamShowBits(bs, 32)); - if (level < -127 || level > 127) { - DEBUG1("warning: intra_overflow", level); + if (level < -2047 || level > 2047) { + DPRINTF(DPRINTF_ERROR,"warning: intra_overflow %i", level); } coeff++; } while (!last); @@ -864,7 +862,7 @@ do { level = get_coeff(bs, &run, &last, 0, 0); if (run == -1) { - DEBUG("fatal: invalid run"); + DPRINTF(DPRINTF_ERROR,"fatal: invalid run"); break; } p += run; @@ -874,8 +872,8 @@ DPRINTF(DPRINTF_COEFF,"block[%i] %i", scan[p], level); // DPRINTF(DPRINTF_COEFF,"block[%i] %i %08x", scan[p], level, BitstreamShowBits(bs, 32)); - if (level < -127 || level > 127) { - DEBUG1("warning: inter_overflow", level); + if (level < -2047 || level > 2047) { + DPRINTF(DPRINTF_ERROR,"warning: inter overflow %i", level); } p++; } while (!last);