1 

/***************************************************************************** 
2 

* 
3 

* XVID MPEG4 VIDEO CODEC 
4 

*  Mpeg4 quantization/dequantization header  
5 

* 
6 

* Copyright(C) 2002 Peter Ross 
7 

* 
8 

* This program is an implementation of a part of one or more MPEG4 
9 

* Video tools as specified in ISO/IEC 144962 standard. Those intending 
10 

* to use this software module in hardware or software products are 
11 

* advised that its use may infringe existing patents or copyrights, and 
12 

* any such use would be at such party's own risk. The original 
13 

* developer of this software module and his/her company, and subsequent 
14 

* editors and their companies, will have no liability for use of this 
15 

* software or modifications or derivatives thereof. 
16 

* 
17 

* This program is free software ; you can redistribute it and/or modify 
18 

* it under the terms of the GNU General Public License as published by 
19 

* the Free Software Foundation ; either version 2 of the License, or 
20 

* (at your option) any later version. 
21 

* 
22 

* This program is distributed in the hope that it will be useful, 
23 

* but WITHOUT ANY WARRANTY ; without even the implied warranty of 
24 

* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
25 

* GNU General Public License for more details. 
26 

* 
27 

* You should have received a copy of the GNU General Public License 
28 

* along with this program ; if not, write to the Free Software 
29 

* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 021111307 USA 
30 

* 
31 

* $Id$ 
32 

* 
33 

****************************************************************************/ 
34 


35 
#ifndef _QUANT_MPEG4_H_ 
#ifndef _QUANT_MPEG4_H_ 
36 
#define _QUANT_MPEG4_H_ 
#define _QUANT_MPEG4_H_ 
37 


38 
#include "../portab.h" 
#include "../portab.h" 
39 


40 
// intra 
/***************************************************************************** 
41 

* Prototypes 
42 

****************************************************************************/ 
43 


44 

/* intra */ 
45 
typedef void (quant_intraFunc) (int16_t * coeff, 
typedef void (quant_intraFunc) (int16_t * coeff, 
46 
const int16_t * data, 
const int16_t * data, 
47 
const uint32_t quant, 
const uint32_t quant, 
58 
quant_intraFunc dequant4_intra_c; 
quant_intraFunc dequant4_intra_c; 
59 
quant_intraFunc dequant4_intra_mmx; 
quant_intraFunc dequant4_intra_mmx; 
60 


61 
// inter_quant 
/* inter_quant */ 
62 
typedef uint32_t(quant_interFunc) (int16_t * coeff, 
typedef uint32_t(quant_interFunc) (int16_t * coeff, 
63 
const int16_t * data, 
const int16_t * data, 
64 
const uint32_t quant); 
const uint32_t quant); 
70 
quant_interFunc quant4_inter_c; 
quant_interFunc quant4_inter_c; 
71 
quant_interFunc quant4_inter_mmx; 
quant_interFunc quant4_inter_mmx; 
72 


73 
//inter_dequant 
/* inter_dequant */ 
74 
typedef void (dequant_interFunc) (int16_t * coeff, 
typedef void (dequant_interFunc) (int16_t * coeff, 
75 
const int16_t * data, 
const int16_t * data, 
76 
const uint32_t quant); 
const uint32_t quant); 