[svn] / branches / dev-api-4 / xvidcore / src / bitstream / mbcoding.c Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/src/bitstream/mbcoding.c

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

revision 497, Sat Sep 21 02:26:12 2002 UTC revision 514, Sun Sep 22 17:01:36 2002 UTC
# Line 29  Line 29 
29   *  along with this program; if not, write to the Free Software   *  along with this program; if not, write to the Free Software
30   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
31   *   *
32   * $Id: mbcoding.c,v 1.31 2002-09-21 02:26:12 suxen_drol Exp $   * $Id: mbcoding.c,v 1.32 2002-09-22 17:01:36 edgomez Exp $
33   *   *
34   ****************************************************************************/   ****************************************************************************/
35    
# Line 374  Line 374 
374          if (frame->global_flags & XVID_INTERLACING) {          if (frame->global_flags & XVID_INTERLACING) {
375                  if (pMB->cbp) {                  if (pMB->cbp) {
376                          BitstreamPutBit(bs, pMB->field_dct);                          BitstreamPutBit(bs, pMB->field_dct);
377                          DEBUG1("codep: field_dct: ", pMB->field_dct);                          DPRINTF(DPRINTF_DEBUG, "codep: field_dct: %d", pMB->field_dct);
378                  }                  }
379    
380                  // if inter block, write field ME flag                  // if inter block, write field ME flag
381                  if (pMB->mode == MODE_INTER || pMB->mode == MODE_INTER_Q) {                  if (pMB->mode == MODE_INTER || pMB->mode == MODE_INTER_Q) {
382                          BitstreamPutBit(bs, pMB->field_pred);                          BitstreamPutBit(bs, pMB->field_pred);
383                          DEBUG1("codep: field_pred: ", pMB->field_pred);                          DPRINTF(DPRINTF_DEBUG, "codep: field_pred: %d", pMB->field_pred);
384    
385                          // write field prediction references                          // write field prediction references
386                          if (pMB->field_pred) {                          if (pMB->field_pred) {
# Line 671  Line 671 
671                  level = BitstreamGetBits(bs, 8);                  level = BitstreamGetBits(bs, 8);
672    
673                  if (level == 0 || level == 128)                  if (level == 0 || level == 128)
674                          DEBUG1("Illegal LEVEL for ESCAPE mode 4:", level);                          DPRINTF(DPRINTF_ERROR, "Illegal LEVEL for ESCAPE mode 4: %d", level);
675    
676                  return (level >= 128 ? -(256 - level) : level);                  return (level >= 128 ? -(256 - level) : level);
677          }          }
# Line 739  Line 739 
739          do {          do {
740                  level = get_coeff(bs, &run, &last, 1, 0);                  level = get_coeff(bs, &run, &last, 1, 0);
741                  if (run == -1) {                  if (run == -1) {
742                          DEBUG("fatal: invalid run");                          DPRINTF(DPRINTF_DEBUG, "fatal: invalid run");
743                          break;                          break;
744                  }                  }
745                  coeff += run;                  coeff += run;
# Line 749  Line 749 
749                  //DPRINTF(DPRINTF_COEFF,"block[%i] %i %08x", scan[coeff], level, BitstreamShowBits(bs, 32));                  //DPRINTF(DPRINTF_COEFF,"block[%i] %i %08x", scan[coeff], level, BitstreamShowBits(bs, 32));
750    
751                  if (level < -127 || level > 127) {                  if (level < -127 || level > 127) {
752                          DEBUG1("warning: intra_overflow", level);                          DPRINTF(DPRINTF_DEBUG, "warning: intra_overflow: %d", level);
753                  }                  }
754                  coeff++;                  coeff++;
755          } while (!last);          } while (!last);
# Line 771  Line 771 
771          do {          do {
772                  level = get_coeff(bs, &run, &last, 0, 0);                  level = get_coeff(bs, &run, &last, 0, 0);
773                  if (run == -1) {                  if (run == -1) {
774                          DEBUG("fatal: invalid run");                          DPRINTF(DPRINTF_ERROR, "fatal: invalid run");
775                          break;                          break;
776                  }                  }
777                  p += run;                  p += run;
# Line 779  Line 779 
779                  block[scan[p]] = level;                  block[scan[p]] = level;
780    
781                  DPRINTF(DPRINTF_COEFF,"block[%i] %i", scan[p], level);                  DPRINTF(DPRINTF_COEFF,"block[%i] %i", scan[p], level);
                 // DPRINTF(DPRINTF_COEFF,"block[%i] %i %08x", scan[p], level, BitstreamShowBits(bs, 32));  
782    
783                  if (level < -127 || level > 127) {                  if (level < -127 || level > 127) {
784                          DEBUG1("warning: inter_overflow", level);                          DPRINTF(DPRINTF_DEBUG, "warning: inter_overflow: %d", level);
785                  }                  }
786                  p++;                  p++;
787          } while (!last);          } while (!last);

Legend:
Removed from v.497  
changed lines
  Added in v.514

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