[svn] / branches / dev-api-4 / xvidcore / src / quant / adapt_quant.c Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/src/quant/adapt_quant.c

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

revision 653, Sun Nov 17 00:41:20 2002 UTC revision 851, Sat Feb 15 15:22:19 2003 UTC
# Line 1  Line 1 
 /*****************************************************************************  
  *  
  *  XVID MPEG-4 VIDEO CODEC  
  *  - Adaptive quantization functions -  
  *  
  *  Copyright(C) 2002 Peter Ross <pross@xvid.org>  
  *               2002 Christoph Lampert <gruel@web.de>  
  *  
  *  This file is part of XviD, a free MPEG-4 video encoder/decoder  
  *  
  *  XviD is free software; you can redistribute it and/or modify it  
  *  under the terms of the GNU General Public License as published by  
  *  the Free Software Foundation; either version 2 of the License, or  
  *  (at your option) any later version.  
  *  
  *  This program is distributed in the hope that it will be useful,  
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of  
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
  *  GNU General Public License for more details.  
  *  
  *  You should have received a copy of the GNU General Public License  
  *  along with this program; if not, write to the Free Software  
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA  
  *  
  *  Under section 8 of the GNU General Public License, the copyright  
  *  holders of XVID explicitly forbid distribution in the following  
  *  countries:  
  *  
  *    - Japan  
  *    - United States of America  
  *  
  *  Linking XviD statically or dynamically with other modules is making a  
  *  combined work based on XviD.  Thus, the terms and conditions of the  
  *  GNU General Public License cover the whole combination.  
  *  
  *  As a special exception, the copyright holders of XviD give you  
  *  permission to link XviD with independent modules that communicate with  
  *  XviD solely through the VFW1.1 and DShow interfaces, regardless of the  
  *  license terms of these independent modules, and to copy and distribute  
  *  the resulting combined work under terms of your choice, provided that  
  *  every copy of the combined work is accompanied by a complete copy of  
  *  the source code of XviD (the version of XviD used to produce the  
  *  combined work), being distributed under the terms of the GNU General  
  *  Public License plus this exception.  An independent module is a module  
  *  which is not derived from or based on XviD.  
  *  
  *  Note that people who make modified versions of XviD are not obligated  
  *  to grant this special exception for their modified versions; it is  
  *  their choice whether to do so.  The GNU General Public License gives  
  *  permission to release a modified version without this exception; this  
  *  exception also makes it possible to release a modified version which  
  *  carries forward this exception.  
  *  
  * $Id: adapt_quant.c,v 1.12 2002-11-17 00:41:19 edgomez Exp $  
  *  
  ****************************************************************************/  
   
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    
 /*****************************************************************************  
  * Functions  
  ****************************************************************************/  
   
9  int  int
10  normalize_quantizer_field(float *in,  normalize_quantizer_field(float *in,
11                                                    int *out,                                                    int *out,
# Line 148  Line 87 
87          if (!(quant = (float *) malloc(mb_width * mb_height * sizeof(float))))          if (!(quant = (float *) malloc(mb_width * mb_height * sizeof(float))))
88                  return(-1);                  return(-1);
89    
90          if(!(val = (float *) malloc(mb_width * mb_height * sizeof(float)))) {          if(!(val = (float *) malloc(mb_width * mb_height * sizeof(float))))
                 free(quant);  
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

Legend:
Removed from v.653  
changed lines
  Added in v.851

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