[svn] / branches / release-1_3-branch / xvidcore / src / quant / quant_matrix.c Repository:
ViewVC logotype

Diff of /branches/release-1_3-branch/xvidcore/src/quant/quant_matrix.c

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

revision 1985, Wed May 18 09:02:35 2011 UTC revision 2180, Tue Nov 12 14:48:35 2019 UTC
# Line 24  Line 24 
24   *   *
25   ****************************************************************************/   ****************************************************************************/
26    
27    #include "../global.h"
28  #include "quant_matrix.h"  #include "quant_matrix.h"
29    
30  #define FIX(X)   (((X)==1) ? 0xFFFF : ((1UL << 16) / (X) + 1))  #define FIX(X)   (((X)==1) ? 0xFFFF : ((1UL << 16) / (X) + 1))
# Line 114  Line 115 
115          uint16_t *intra_matrix = mpeg_quant_matrices + 0*64;          uint16_t *intra_matrix = mpeg_quant_matrices + 0*64;
116    
117          for (i = 0; i < 64; i++) {          for (i = 0; i < 64; i++) {
118                  intra_matrix[i] = (!i) ? (uint16_t)8: (uint16_t)matrix[i];                  intra_matrix[i] = (!i) ? (uint16_t)8: (uint16_t)MAX(1, matrix[i]);
119          }          }
120  }  }
121    
# Line 141  Line 142 
142          uint16_t *inter_matrix_fixl = mpeg_quant_matrices + 7*64;          uint16_t *inter_matrix_fixl = mpeg_quant_matrices + 7*64;
143    
144          for (i = 0; i < 64; i++) {          for (i = 0; i < 64; i++) {
145                  inter_matrix1[i] = ((inter_matrix[i] = (int16_t) matrix[i])>>1);                  inter_matrix1[i] = ((inter_matrix[i] = (int16_t)MAX(1, (matrix[i])>>1)));
146                  inter_matrix1[i] += ((inter_matrix[i] == 1) ? 1: 0);                  inter_matrix1[i] += ((inter_matrix[i] == 1) ? 1: 0);
147                  inter_matrix_fix[i] = (uint16_t) FIX(inter_matrix[i]);                  inter_matrix_fix[i] = (uint16_t) FIX(inter_matrix[i]);
148                  inter_matrix_fixl[i] = (uint16_t) FIXL(inter_matrix[i]);                  inter_matrix_fixl[i] = (uint16_t) FIXL(inter_matrix[i]);

Legend:
Removed from v.1985  
changed lines
  Added in v.2180

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