[cvs] / xvidcore / src / quant / quant_h263.c Repository:
ViewVC logotype

Diff of /xvidcore/src/quant/quant_h263.c

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

revision 1.7.2.2, Tue Oct 7 13:02:35 2003 UTC revision 1.7.2.4, Sun Nov 30 16:13:16 2003 UTC
# Line 71  Line 71 
71  quant_h263_intra_c(int16_t * coeff,  quant_h263_intra_c(int16_t * coeff,
72                                     const int16_t * data,                                     const int16_t * data,
73                                     const uint32_t quant,                                     const uint32_t quant,
74                                     const uint32_t dcscalar)                                     const uint32_t dcscalar,
75                                       const uint16_t * mpeg_quant_matrices)
76  {  {
77          const uint32_t mult = multipliers[quant];          const uint32_t mult = multipliers[quant];
78          const uint16_t quant_m_2 = quant << 1;          const uint16_t quant_m_2 = quant << 1;
         uint32_t sum = 0;  
79          int i;          int i;
80    
81          coeff[0] = DIV_DIV(data[0], (int32_t) dcscalar);          coeff[0] = DIV_DIV(data[0], (int32_t) dcscalar);
         sum += coeff[0];  
82    
83          for (i = 1; i < 64; i++) {          for (i = 1; i < 64; i++) {
84                  int16_t acLevel = data[i];                  int16_t acLevel = data[i];
# Line 91  Line 90 
90                                  continue;                                  continue;
91                          }                          }
92                          acLevel = (acLevel * mult) >> SCALEBITS;                          acLevel = (acLevel * mult) >> SCALEBITS;
                         sum += acLevel;  
93                          coeff[i] = -acLevel;                          coeff[i] = -acLevel;
94                  } else {                  } else {
95                          if (acLevel < quant_m_2) {                          if (acLevel < quant_m_2) {
# Line 99  Line 97 
97                                  continue;                                  continue;
98                          }                          }
99                          acLevel = (acLevel * mult) >> SCALEBITS;                          acLevel = (acLevel * mult) >> SCALEBITS;
                         sum += acLevel;  
100                          coeff[i] = acLevel;                          coeff[i] = acLevel;
101                  }                  }
102          }          }
103    
104          return(sum);          return(0);
105  }  }
106    
107    
# Line 114  Line 111 
111  uint32_t  uint32_t
112  quant_h263_inter_c(int16_t * coeff,  quant_h263_inter_c(int16_t * coeff,
113                                     const int16_t * data,                                     const int16_t * data,
114                                     const uint32_t quant)                                     const uint32_t quant,
115                                       const uint16_t * mpeg_quant_matrices)
116  {  {
117          const uint32_t mult = multipliers[quant];          const uint32_t mult = multipliers[quant];
118          const uint16_t quant_m_2 = quant << 1;          const uint16_t quant_m_2 = quant << 1;
# Line 158  Line 156 
156  dequant_h263_intra_c(int16_t * data,  dequant_h263_intra_c(int16_t * data,
157                                           const int16_t * coeff,                                           const int16_t * coeff,
158                                           const uint32_t quant,                                           const uint32_t quant,
159                                           const uint32_t dcscalar)                                           const uint32_t dcscalar,
160                                             const uint16_t * mpeg_quant_matrices)
161  {  {
162          const int32_t quant_m_2 = quant << 1;          const int32_t quant_m_2 = quant << 1;
163          const int32_t quant_add = (quant & 1 ? quant : quant - 1);          const int32_t quant_add = (quant & 1 ? quant : quant - 1);
# Line 196  Line 195 
195  uint32_t  uint32_t
196  dequant_h263_inter_c(int16_t * data,  dequant_h263_inter_c(int16_t * data,
197                                  const int16_t * coeff,                                  const int16_t * coeff,
198                                  const uint32_t quant)                                           const uint32_t quant,
199                                             const uint16_t * mpeg_quant_matrices)
200  {  {
201          const uint16_t quant_m_2 = quant << 1;          const uint16_t quant_m_2 = quant << 1;
202          const uint16_t quant_add = (quant & 1 ? quant : quant - 1);          const uint16_t quant_add = (quant & 1 ? quant : quant - 1);

Legend:
Removed from v.1.7.2.2  
changed lines
  Added in v.1.7.2.4

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