[svn] / trunk / xvidcore / src / bitstream / mbcoding.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/bitstream/mbcoding.c

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

revision 209, Fri Jun 14 13:29:07 2002 UTC revision 252, Sun Jun 30 10:46:29 2002 UTC
# Line 41  Line 41 
41    *                                                                                                                                                        *    *                                                                                                                                                        *
42    *  Revision history:                                                         *    *  Revision history:                                                         *
43    *                                                                            *    *                                                                            *
44      *  28.06.2002 added check_resync_marker()                                    *
45    *  14.04.2002 bframe encoding                                                                                            *    *  14.04.2002 bframe encoding                                                                                            *
46    *  08.03.2002 initial version; isibaar                                                           *    *  08.03.2002 initial version; isibaar                                                           *
47    *                                                                                                                                                        *    *                                                                                                                                                        *
# Line 571  Line 572 
572   * decoding stuff starts here                                  *   * decoding stuff starts here                                  *
573   ***************************************************************/   ***************************************************************/
574    
575    
576    // for IVOP addbits == 0
577    // for PVOP addbits == fcode - 1
578    // for BVOP addbits == max(fcode,bcode) - 1
579    // returns true or false
580    int
581    check_resync_marker(Bitstream * bs, int addbits)
582    {
583            uint32_t nbits;
584            uint32_t code;
585            uint32_t nbitsresyncmarker = NUMBITS_VP_RESYNC_MARKER + addbits;
586    
587            nbits = BitstreamNumBitsToByteAlign(bs);
588            code = BitstreamShowBits(bs, nbits);
589    
590            if (code == (((uint32_t)1 << (nbits - 1)) - 1))
591            {
592                    return BitstreamShowBitsFromByteAlign(bs, nbitsresyncmarker) == RESYNC_MARKER;
593            }
594    
595            return 0;
596    }
597    
598    
599    
600  int  int
601  get_mcbpc_intra(Bitstream * bs)  get_mcbpc_intra(Bitstream * bs)
602  {  {
603    
604          uint32_t index;          uint32_t index;
605    
606          while ((index = BitstreamShowBits(bs, 9)) == 1)          index = BitstreamShowBits(bs, 9);
                 BitstreamSkip(bs, 9);  
   
607          index >>= 3;          index >>= 3;
608    
609          BitstreamSkip(bs, mcbpc_intra_table[index].len);          BitstreamSkip(bs, mcbpc_intra_table[index].len);
# Line 594  Line 618 
618    
619          uint32_t index;          uint32_t index;
620    
621          while ((index = CLIP(BitstreamShowBits(bs, 9), 256)) == 1)          index = CLIP(BitstreamShowBits(bs, 9), 256);
                 BitstreamSkip(bs, 9);  
622    
623          BitstreamSkip(bs, mcbpc_inter_table[index].len);          BitstreamSkip(bs, mcbpc_inter_table[index].len);
624    
# Line 750  Line 773 
773                  }                  }
774                  coeff += run;                  coeff += run;
775                  block[scan[coeff]] = level;                  block[scan[coeff]] = level;
776    
777                    DPRINTF(DPRINTF_COEFF,"block[%i] %i", scan[coeff], level);
778                    //DPRINTF(DPRINTF_COEFF,"block[%i] %i %08x", scan[coeff], level, BitstreamShowBits(bs, 32));
779    
780                  if (level < -127 || level > 127) {                  if (level < -127 || level > 127) {
781                          DEBUG1("warning: intra_overflow", level);                          DEBUG1("warning: intra_overflow", level);
782                  }                  }
# Line 779  Line 806 
806                  p += run;                  p += run;
807    
808                  block[scan[p]] = level;                  block[scan[p]] = level;
809    
810                    DPRINTF(DPRINTF_COEFF,"block[%i] %i", scan[p], level);
811                    // DPRINTF(DPRINTF_COEFF,"block[%i] %i %08x", scan[p], level, BitstreamShowBits(bs, 32));
812    
813                  if (level < -127 || level > 127) {                  if (level < -127 || level > 127) {
814                          DEBUG1("warning: inter_overflow", level);                          DEBUG1("warning: inter_overflow", level);
815                  }                  }

Legend:
Removed from v.209  
changed lines
  Added in v.252

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