several more bugfixes.
[swftools.git] / lib / bladeenc / loop.h
1 /*
2                         (c) Copyright 1998-2000 - Tord Jansson
3                         ======================================
4
5                 This file is part of the BladeEnc MP3 Encoder, based on
6                 ISO's reference code for MPEG Layer 3 compression, and might
7                 contain smaller or larger sections that are directly taken
8                 from ISO's reference code.
9
10                 All changes to the ISO reference code herein are either
11                 copyrighted by Tord Jansson (tord.jansson@swipnet.se)
12                 or sublicensed to Tord Jansson by a third party.
13
14         BladeEnc is free software; you can redistribute this file
15         and/or modify it under the terms of the GNU Lesser General Public
16         License as published by the Free Software Foundation; either
17         version 2.1 of the License, or (at your option) any later version.
18
19
20
21         ------------    Changes    ------------
22
23         2000-12-11  Andre Piotrowski
24
25         -       reformatted, redesigned
26 */
27
28 /**********************************************************************
29  * ISO MPEG Audio Subgroup Software Simulation Group (1996)
30  * ISO 13818-3 MPEG-2 Audio Encoder - Lower Sampling Frequency Extension
31  *
32  * $Id: loop.h,v 1.1 2002/01/10 17:30:00 kramm Exp $
33  *
34  * $Log: loop.h,v $
35  * Revision 1.1  2002/01/10 17:30:00  kramm
36  * Version 0.94.1 of the bladeenc mp3 encoder
37  *
38  * Revision 1.1  1996/02/14 04:04:23  rowlands
39  * Initial revision
40  *
41  * Received from Mike Coleman
42  **********************************************************************/
43
44 /**********************************************************************
45  *   date   programmers                comment                        *
46  * 25. 6.92  Toshiyuki Ishino          Ver 1.0                        *
47  * 29.10.92  Masahiro Iwadare          Ver 2.0                        *
48  * 17. 4.93  Masahiro Iwadare          Updated for IS Modification    *
49  *                                                                    *
50  *********************************************************************/
51
52 #ifndef         __LOOP__
53 #define         __LOOP__
54
55
56
57
58 #include "common.h"
59 #include "l3side.h"
60
61
62
63
64
65 /*      #define SBLIMIT                 32 */
66 #define CBLIMIT                 21
67
68 #define SFB_LMAX                22
69 #define SFB_SMAX                13
70
71
72
73
74 extern  int                             fInit_iteration_loop;
75 /* NOT NEEDED
76 extern  int                             fInit_huffman_read_flag;
77 */
78
79
80 extern  int                             pretab[];
81
82
83 struct  scalefac_struct
84 {
85         int l[23];
86         int s[14];
87 };
88
89 extern  struct scalefac_struct          sfBandIndex[];  /* Table B.8 -- in loop.c */
90
91
92
93
94
95 void                                    iteration_loop
96 (
97         double                                  pe[][2],
98         double                                  xr_org[2][2][576],
99         III_psy_ratio                   *ratio,
100         III_side_info_t                 *l3_side,
101         int                                             l3_enc[2][2][576],
102         int                                             mean_bits,
103         int                                             stereo,
104         double                                  xr_dec[2][2][576],
105         III_scalefac_t                  *scalefac,
106         frame_params                    *fr_ps,
107         int                                             ancillary_pad,
108         int                                             bitsPerFrame
109 );
110
111 int                                             my_nint (double in);
112
113 void                                    fixStatic_loop (void);
114
115 void                                    genNoisePowTab (void);
116
117
118
119
120
121 #endif          /* __LOOP__ */