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

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

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

revision 911, Sun Mar 9 11:30:24 2003 UTC revision 912, Sun Mar 9 12:00:58 2003 UTC
# Line 30  Line 30 
30  uint32_t  uint32_t
31  calc_cbp_c(const int16_t codes[6 * 64])  calc_cbp_c(const int16_t codes[6 * 64])
32  {  {
33          int i, j;          unsigned int i=6;
34          uint32_t cbp = 0;          uint32_t cbp = 0;
 /* if definition is changed (e.g. from int16_t to something like int) this routine  
    is not possible anymore! */  
35    
36     for (i = 5; i >= 0; i--, codes += 64) {  /* uses fixed relation: 4*codes = 1*codes64 */
37    /* if prototype is changed (e.g. from int16_t to something like int32) this routine
38       has to be changed! */
39    
40            do  {
41                    uint64_t *codes64 = (uint64_t*)codes;   /* the compiler doesn't really make this */
42                    uint32_t *codes32 = (uint32_t*)codes;   /* variables, just "addressing modes" */
43    
                 uint64_t *codes64 = (uint64_t*)codes;  
44                  cbp += cbp;                  cbp += cbp;
45          if (codes[1] || codes[2] || codes[3]) {          if (codes[1] || codes32[1]) {
46                          cbp++;                          cbp++;
                         continue;  
47                  }                  }
48          if (codes64[1] | codes64[2] | codes64[3]) {          else if (codes64[1] | codes64[2] | codes64[3]) {
49                          cbp++;                          cbp++;
                         continue;  
50                  }                  }
51          if (codes64[4] | codes64[5] | codes64[6] | codes64[7]) {          else if (codes64[4] | codes64[5] | codes64[6] | codes64[7]) {
52                          cbp++;                          cbp++;
                         continue;  
53                  }                  }
54          if (codes64[8] | codes64[9] | codes64[10] | codes64[11]) {          else if (codes64[8] | codes64[9] | codes64[10] | codes64[11]) {
55                          cbp++;                          cbp++;
                         continue;  
56                  }                  }
57          if (codes64[12] | codes64[13] | codes64[14] | codes64[15]) {          else if (codes64[12] | codes64[13] | codes64[14] | codes64[15]) {
58                          cbp++;                          cbp++;
                         continue;  
                 }  
59      }      }
60                    codes += 64;
61                    i--;
62        } while (i != 0);
63    
64          return cbp;          return cbp;
65  }  }

Legend:
Removed from v.911  
changed lines
  Added in v.912

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