3 * used source: musicout.h from mpegaudio package
9 #define M_PI 3.141592653589793238462
12 #define M_SQRT2 1.414213562373095048802
17 #undef MPG123_REMOTE /* Get rid of this stuff for Win32 */
21 # define real long double
25 // #define AUDIOBUFSIZE 4096
31 #define MAX_NAME_SIZE 81
33 #define SCALE_BLOCK 12
36 #define MPG_MD_STEREO 0
37 #define MPG_MD_JOINT_STEREO 1
38 #define MPG_MD_DUAL_CHANNEL 2
41 /* #define MAXOUTBURST 32768 */
43 /* Pre Shift fo 16 to 8 bit converter table */
53 struct al_table
*alloc
;
54 int (*synth
)(real
*,int,unsigned char *,int *);
55 int (*synth_mono
)(real
*,unsigned char *,int *);
60 int down_sample_sblimit
;
68 long sampling_frequency
;
76 long framesize
; /* computed framesize */
82 unsigned part2_3_length
;
84 unsigned scalefac_compress
;
86 unsigned mixed_block_flag
;
87 unsigned table_select
[3];
88 unsigned subblock_gain
[3];
92 unsigned region1start
;
93 unsigned region2start
;
95 unsigned scalefac_scale
;
96 unsigned count1table_select
;
103 unsigned main_data_begin
;
104 unsigned private_bits
;
106 struct gr_info_s gr
[2];
110 static long freqs
[9];
111 extern real mp3lib_decwin
[(512+32)];
114 static int do_layer2(struct frame
*fr
,int single
);
115 static int do_layer3(struct frame
*fr
,int single
);
116 static int synth_1to1(real
*bandPtr
,int channel
,unsigned char *out
,int *pnt
);
118 extern int synth_1to1_pent( real
*,int,short * );
119 extern void make_decode_tables_MMX(long scaleval
);
120 extern int synth_1to1_MMX( real
*,int,short * );
121 extern int synth_1to1_MMX_s(real
*, int, short *, short *, int *);
122 extern void dct64(real
*a
,real
*b
,real
*c
);
124 extern void dct36_3dnow(real
*,real
*,real
*,real
*,real
*);
125 extern void dct36_3dnowex(real
*,real
*,real
*,real
*,real
*);
126 extern void dct36_sse(real
*,real
*,real
*,real
*,real
*);
128 typedef int (*synth_func_t
)( real
*,int,short * );
129 typedef void (*dct36_func_t
)(real
*,real
*,real
*,real
*,real
*);