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

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

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

revision 1.6, Wed Sep 4 18:44:40 2002 UTC revision 1.14.2.1, Mon Jun 9 01:24:30 2003 UTC
# Line 1  Line 1 
1  #include "../portab.h"  #include "../portab.h"
2    #include "../global.h"
3  #include "adapt_quant.h"  #include "adapt_quant.h"
4    
5  #include <stdlib.h>                             /* free, malloc */  #include <stdlib.h>                             /* free, malloc */
6    
 #define MAX(a,b)      (((a) > (b)) ? (a) : (b))  
7  #define RDIFF(a,b)    ((int)(a+0.5)-(int)(b+0.5))  #define RDIFF(a,b)    ((int)(a+0.5)-(int)(b+0.5))
8    
9  int  int
# Line 61  Line 61 
61                                            int min_quant,                                            int min_quant,
62                                            int max_quant,                                            int max_quant,
63                                            int mb_width,                                            int mb_width,
64                                            int mb_height)        // no qstride because normalization                                            int mb_height)        /* no qstride because normalization */
65  {  {
66          int i, j, k, l;          int i, j, k, l;
67    
# Line 91  Line 91 
91                  return(-1);                  return(-1);
92    
93          for (k = 0; k < mb_height; k++) {          for (k = 0; k < mb_height; k++) {
94                  for (l = 0; l < mb_width; l++)  // do this for all macroblocks individually                  for (l = 0; l < mb_width; l++)  /* do this for all macroblocks individually  */
95                  {                  {
96                          quant[k * mb_width + l] = (float) framequant;                          quant[k * mb_width + l] = (float) framequant;
97    
98                          // calculate luminance-masking                          /* calculate luminance-masking */
99                          ptr = &buf[16 * k * stride + 16 * l];   // address of MB                          ptr = &buf[16 * k * stride + 16 * l];   /* address of MB */
100    
101                          val[k * mb_width + l] = 0.;                          val[k * mb_width + l] = 0.;
102    
# Line 117  Line 117 
117          if (((global <GlobalBrightThres) &&(global >GlobalDarkThres))          if (((global <GlobalBrightThres) &&(global >GlobalDarkThres))
118                  || (mid_range < MidRangeThres)) {                  || (mid_range < MidRangeThres)) {
119                  for (k = 0; k < mb_height; k++) {                  for (k = 0; k < mb_height; k++) {
120                          for (l = 0; l < mb_width; l++)  // do this for all macroblocks individually                          for (l = 0; l < mb_width; l++)  /* do this for all macroblocks individually */
121                          {                          {
122                                  if (val[k * mb_width + l] < DarkThres)                                  if (val[k * mb_width + l] < DarkThres)
123                                          quant[k * mb_width + l] +=                                          quant[k * mb_width + l] +=
# Line 130  Line 130 
130                          }                          }
131                  }                  }
132          }          }
133    
134            i = normalize_quantizer_field(quant, intquant,
135                                                                      mb_width * mb_height,
136                                                                      min_quant, max_quant);
137    
138          free(val);          free(val);
139          free(quant);          free(quant);
140          return normalize_quantizer_field(quant, intquant, mb_width * mb_height,  
141                                                                           min_quant, max_quant);          return(i);
142    
143  }  }

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.14.2.1

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