replaced libart with new polygon code
[swftools.git] / lib / bladeenc / mdct.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-10  Andre Piotrowski
24
25         -       reformatted, redesigned
26         -       MDCT_CHANGE_LEVEL 5
27 */
28
29 /**********************************************************************
30  * ISO MPEG Audio Subgroup Software Simulation Group (1996)
31  * ISO 13818-3 MPEG-2 Audio Encoder - Lower Sampling Frequency Extension
32  *
33  * $Id: mdct.h,v 1.1 2002/01/10 17:30:01 kramm Exp $
34  *
35  * $Log: mdct.h,v $
36  * Revision 1.1  2002/01/10 17:30:01  kramm
37  * Version 0.94.1 of the bladeenc mp3 encoder
38  *
39  * Revision 1.1  1996/02/14 04:04:23  rowlands
40  * Initial revision
41  *
42  * Received from Mike Coleman
43  **********************************************************************/
44
45 #ifndef         __MDCT__
46 #define         __MDCT__
47
48
49
50
51
52 #define MDCT_CHANGE_LEVEL 5
53
54
55
56
57
58 typedef         double                                  L3SBS[2][3][18][SBLIMIT];   /* [gr][ch] */
59
60
61
62
63
64 extern  int                             fInit_mdct_sub;
65 extern  int                             fInit_mdct;
66
67
68 extern  int                             gr_idx[3];
69
70
71
72
73
74 void                                    mdct_sub
75 (
76         L3SBS                                   *sb_sample,
77         double                                  (*mdct_freq)[2][576],
78         int                                             stereo,
79         III_side_info_t                 *l3_side,
80         int                                             mode_gr
81 );
82
83
84
85 #if MDCT_CHANGE_LEVEL < 5
86
87 void                                    mdct
88 (
89         double                                  *in,
90         double                                  *out,
91         int                                             block_type
92 );
93
94 #else
95
96 void                                    mdct
97 (
98         double                                  inA[18][32],
99         double                                  inB[18][32],
100         int                                             band,
101         double                                  *out,
102         int                                             block_type
103 );
104
105 #endif
106
107
108
109
110
111 #endif          /* __MDCT__ */