xref: /plan9/sys/src/games/mp3enc/quantize.h (revision 8f5875f3e9b20916b4c52ad4336922bc8653eb7b)
1 /*
2  * MP3 quantization
3  *
4  * Copyright (c) 1999 Mark Taylor
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with this library; if not, write to the
18  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19  * Boston, MA 02111-1307, USA.
20  */
21 
22 #ifndef LAME_QUANTIZE_H
23 #define LAME_QUANTIZE_H
24 
25 #include "util.h"
26 /*#include "l3side.h"
27 */
28 void iteration_loop( lame_global_flags *gfp,
29                      FLOAT8 pe[2][2], FLOAT8 ms_ratio[2],
30 		     FLOAT8 xr_org[2][2][576], III_psy_ratio ratio[2][2],
31 		     int l3_enc[2][2][576],
32 		     III_scalefac_t scalefac[2][2]);
33 
34 void VBR_iteration_loop( lame_global_flags *gfp,
35                      FLOAT8 pe[2][2], FLOAT8 ms_ratio[2],
36 		     FLOAT8 xr_org[2][2][576], III_psy_ratio ratio[2][2],
37 		     int l3_enc[2][2][576],
38 		     III_scalefac_t scalefac[2][2]);
39 
40 void ABR_iteration_loop( lame_global_flags *gfp,
41                      FLOAT8 pe[2][2], FLOAT8 ms_ratio[2],
42 		     FLOAT8 xr_org[2][2][576], III_psy_ratio ratio[2][2],
43 		     int l3_enc[2][2][576],
44 		     III_scalefac_t scalefac[2][2]);
45 
46 /*
47  *  vbrquantize.c
48  */
49 
50 void VBR_quantize(
51                     lame_global_flags      *gfp,
52 		    FLOAT8         pe[2][2],
53                     FLOAT8         ms_ener_ratio[2],
54 		    FLOAT8         xr[2][2][576],
55                     III_psy_ratio  ratio[2][2],
56 		    int            l3_enc[2][2][576],
57 		    III_scalefac_t scalefac[2][2]);
58 
59 
60     /*  used by VBR_iteration_loop() */
61 
62 int VBR_noise_shaping2(
63                     lame_global_flags        *gfp,
64                     FLOAT8           xr       [576],
65                     FLOAT8           xr34orig [576],
66                     III_psy_ratio  * ratio,
67                     int              l3_enc   [576],
68                     int              digital_silence,
69                     int              minbits,
70                     int              maxbits,
71                     III_scalefac_t * scalefac,
72                     III_psy_xmin   * l3_xmin,
73                     int              gr,
74                     int              ch );
75 
76 #endif /* LAME_QUANTIZE_H */
77