annotate Plugins/Input/mpg123/mpg123.h @ 1090:09eb2c83097a trunk

[svn] Psychoaccoustics support (to disable, temporarily add -UPSYCHO to your CFLAGS.): This commit brings psychoaccoustics support (as used in mp3surround decoders) to libmpgdec. For example, we can now almost fully compensate for lack of bandwidth in ISO compliant MP3 encodings. In addition, further inaccuracies with pitch and the lack of reverb feeling that some MP3s have are detected and automatically compensated for.
author nenolod
date Sat, 20 May 2006 20:36:10 -0700
parents e75c7856fbea
children ecdd6a7cafed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
1 /*
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
2 * mpg123 defines
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
3 * used source: musicout.h from mpegaudio package
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
4 */
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
5
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
6 #ifndef __MPG123_H__
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
7 #define __MPG123_H__
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
8
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
9 #ifdef HAVE_CONFIG_H
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
10 # include "config.h"
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
11 #endif
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
12
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
13 #include <glib.h>
957
12f57026da8f [svn] First attempt at introducing taglib here. Very rough, needs polishing. Please wear protective goggles before opening the file dialog. It *will* explode.
chainsaw
parents: 701
diff changeset
14 #include <tag_c.h>
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
15
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
16 #ifdef INTEGER_COMPILE
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
17
1089
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
18 typedef long mpgdec_real;
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
19
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
20 # define REAL_RADIX 15
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
21 # define REAL_FACTOR (32.0 * 1024.0)
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
22
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
23 # define REAL_PLUS_32767 ( 32767 << REAL_RADIX )
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
24 # define REAL_MINUS_32768 ( -32768 << REAL_RADIX )
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
25
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
26 # define DOUBLE_TO_REAL(x) ((int)((x) * REAL_FACTOR))
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
27 # define REAL_TO_SHORT(x) ((x) >> REAL_RADIX)
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
28 # define REAL_MUL(x, y) (((long long)(x) * (long long)(y)) >> REAL_RADIX)
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
29
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
30 #else
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
31
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
32 typedef float mpgdec_real;
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
33
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
34 #endif
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
35
1089
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
36 #ifndef DOUBLE_TO_REAL
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
37 # define DOUBLE_TO_REAL(x) (x)
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
38 #endif
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
39 #ifndef REAL_TO_SHORT
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
40 # define REAL_TO_SHORT(x) (x)
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
41 #endif
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
42 #ifndef REAL_PLUS_32767
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
43 # define REAL_PLUS_32767 32767.0
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
44 #endif
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
45 #ifndef REAL_MINUS_32768
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
46 # define REAL_MINUS_32768 -32768.0
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
47 #endif
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
48 #ifndef REAL_MUL
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
49 # define REAL_MUL(x, y) ((x) * (y))
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
50 #endif
e75c7856fbea [svn] - when using fixed integer based compile -DINTEGER_COMPILE, we want to use long type, not int (also use radixes to emulate FPU math)
nenolod
parents: 971
diff changeset
51
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
52 enum {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
53 SYNTH_AUTO,
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
54 SYNTH_FPU,
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
55 SYNTH_3DNOW,
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
56 SYNTH_MMX,
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
57 };
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
58
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
59 enum {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
60 DETECT_EXTENSION,
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
61 DETECT_CONTENT,
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
62 DETECT_BOTH
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
63 };
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
64
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
65 #include <gtk/gtk.h>
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
66
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
67 #include "audacious/plugin.h"
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
68 #include "dxhead.h"
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
69 #include "xmms-id3.h"
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
70
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
71 #define SBLIMIT 32
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
72 #define SCALE_BLOCK 12
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
73 #define SSLIMIT 18
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
74
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
75 #define MPG_MD_STEREO 0
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
76 #define MPG_MD_JOINT_STEREO 1
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
77 #define MPG_MD_DUAL_CHANNEL 2
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
78 #define MPG_MD_MONO 3
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
79
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
80 #define ENCODING_SEPARATOR " ,:;|/"
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
81
127
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
82 #define MAXFRAMESIZE 4096
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
83
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
84 struct id3v1tag_t {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
85 char tag[3]; /* always "TAG": defines ID3v1 tag 128 bytes before EOF */
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
86 char title[30];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
87 char artist[30];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
88 char album[30];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
89 char year[4];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
90 union {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
91 struct {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
92 char comment[30];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
93 } v1_0;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
94 struct {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
95 char comment[28];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
96 char __zero;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
97 unsigned char track_number;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
98 } v1_1;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
99 } u;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
100 unsigned char genre;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
101 };
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
102
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
103 struct id3tag_t {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
104 char title[64];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
105 char artist[64];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
106 char album[64];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
107 char comment[256];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
108 char genre[256];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
109 gint year;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
110 gint track_number;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
111 };
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
112
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
113 typedef struct {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
114 int going, num_frames, eof, jump_to_time, eq_active;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
115 int songtime;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
116 double tpf;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
117 float eq_mul[576];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
118 gboolean output_audio, first_frame, network_stream;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
119 guint32 filesize; /* Filesize without junk */
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
120 } PlayerInfo;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
121
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
122 void mpg123_set_eq(int on, float preamp, float *band);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
123 void mpg123_file_info_box(char *);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
124
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
125 extern PlayerInfo *mpg123_info;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
126 extern InputPlugin mpg123_ip;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
127
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
128 struct al_table {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
129 short bits;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
130 short d;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
131 };
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
132
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
133 struct frame {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
134 struct al_table *alloc;
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
135 int (*synth) (mpgdec_real *, int, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
136 int (*synth_mono) (mpgdec_real *, unsigned char *, int *);
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
137 int stereo;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
138 int jsbound;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
139 int single;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
140 int II_sblimit;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
141 int down_sample_sblimit;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
142 int lsf;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
143 int mpeg25;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
144 int down_sample;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
145 int header_change;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
146 int lay;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
147 int (*do_layer) (struct frame * fr);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
148 int error_protection;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
149 int bitrate_index;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
150 int sampling_frequency;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
151 int padding;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
152 int extension;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
153 int mode;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
154 int mode_ext;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
155 int copyright;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
156 int original;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
157 int emphasis;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
158 int framesize; /* computed framesize */
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
159 int synth_type;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
160 };
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
161
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
162 void mpg123_configure(void);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
163
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
164 typedef struct {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
165 gint resolution;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
166 gint channels;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
167 gint downsample;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
168 gint http_buffer_size;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
169 gint http_prebuffer;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
170 gboolean use_proxy;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
171 gchar *proxy_host;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
172 gint proxy_port;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
173 gboolean proxy_use_auth;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
174 gchar *proxy_user, *proxy_pass;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
175 gboolean save_http_stream;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
176 gchar *save_http_path;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
177 gboolean use_udp_channel;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
178 gchar *id3_format;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
179 gboolean title_override, disable_id3v2;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
180 gboolean title_encoding_enabled;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
181 gchar *title_encoding;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
182 int detect_by;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
183 int default_synth;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
184 } MPG123Config;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
185
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
186 extern MPG123Config mpg123_cfg;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
187
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
188 struct bitstream_info {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
189 int bitindex;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
190 unsigned char *wordpointer;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
191 };
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
192
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
193 extern struct bitstream_info bsi;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
194
127
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
195 struct mpstr {
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
196 int bsize;
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
197 int framesize;
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
198 int fsizeold;
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
199 struct frame fr;
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
200 /* int (*do_layer)(struct mpstr *,struct frame *fr,int,struct audio_info_struct *); */
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
201 unsigned char bsspace[2][MAXFRAMESIZE+512]; /* MAXFRAMESIZE */
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
202 mpgdec_real hybrid_block[2][2][SBLIMIT*SSLIMIT];
127
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
203 int hybrid_blc[2];
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
204 unsigned long header;
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
205 int bsnum;
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
206 mpgdec_real synth_buffs[2][2][0x110];
127
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
207 int synth_bo;
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
208
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
209 struct bitstream_info bsi;
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
210 };
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
211
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
212
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
213 #define AUSHIFT 3
05d824e30afd [svn] Synchronize mpg123 code with mpg123-0.59s.mc3. This brings us superior accuracy to libMAD, apparently.
nenolod
parents: 61
diff changeset
214
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
215 /* ------ Declarations from "http.c" ------ */
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
216
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
217 extern int mpg123_http_open(char *url);
701
d539e5c5f730 [svn] Fixes of the remaining GCC 4.1 warnings from external contributor Diego "Flameeyes" Petteno (Gentoo).
chainsaw
parents: 177
diff changeset
218 int mpg123_http_read(gpointer data, gsize length);
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
219 void mpg123_http_close(void);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
220 char *mpg123_http_get_title(char *url);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
221 int mpg123_http_get_length(void);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
222 void mpg123_http_seek(long pos);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
223
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
224 /* ------ Declarations from "common.c" ------ */
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
225 extern unsigned int mpg123_get1bit(void);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
226 extern unsigned int mpg123_getbits(int);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
227 extern unsigned int mpg123_getbits_fast(int);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
228
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
229 extern void mpg123_open_stream(char *bs_filenam, int fd);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
230 extern int mpg123_head_check(unsigned long);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
231 extern void mpg123_stream_close(void);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
232
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
233 extern void mpg123_set_pointer(long);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
234
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
235 extern unsigned char *mpg123_pcm_sample;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
236 extern int mpg123_pcm_point;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
237
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
238 struct gr_info_s {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
239 int scfsi;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
240 unsigned part2_3_length;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
241 unsigned big_values;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
242 unsigned scalefac_compress;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
243 unsigned block_type;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
244 unsigned mixed_block_flag;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
245 unsigned table_select[3];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
246 unsigned subblock_gain[3];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
247 unsigned maxband[3];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
248 unsigned maxbandl;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
249 unsigned maxb;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
250 unsigned region1start;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
251 unsigned region2start;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
252 unsigned preflag;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
253 unsigned scalefac_scale;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
254 unsigned count1table_select;
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
255 mpgdec_real *full_gain[3];
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
256 mpgdec_real *pow2gain;
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
257 };
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
258
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
259 struct III_sideinfo {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
260 unsigned main_data_begin;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
261 unsigned private_bits;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
262 struct {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
263 struct gr_info_s gr[2];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
264 } ch[2];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
265 };
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
266
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
267 extern void open_stream(char *, int fd);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
268 extern long mpg123_tell_stream(void);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
269 extern void mpg123_read_frame_init(void);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
270 extern int mpg123_read_frame(struct frame *fr);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
271 extern int mpg123_back_frame(struct frame *fr, int num);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
272 int mpg123_stream_jump_to_frame(struct frame *fr, int frame);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
273 int mpg123_stream_jump_to_byte(struct frame *fr, int byte);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
274 int mpg123_stream_check_for_xing_header(struct frame *fr,
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
275 xing_header_t * xhead);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
276 int mpg123_calc_numframes(struct frame *fr);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
277
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
278 extern int mpg123_do_layer3(struct frame *fr);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
279 extern int mpg123_do_layer2(struct frame *fr);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
280 extern int mpg123_do_layer1(struct frame *fr);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
281
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
282 extern int mpg123_synth_1to1(mpgdec_real *, int, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
283 extern int mpg123_synth_1to1_8bit(mpgdec_real *, int, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
284 extern int mpg123_synth_1to1_mono(mpgdec_real *, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
285 extern int mpg123_synth_1to1_mono2stereo(mpgdec_real *, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
286 extern int mpg123_synth_1to1_8bit_mono(mpgdec_real *, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
287 extern int mpg123_synth_1to1_8bit_mono2stereo(mpgdec_real *, unsigned char *,
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
288 int *);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
289
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
290 extern int mpg123_synth_2to1(mpgdec_real *, int, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
291 extern int mpg123_synth_2to1_8bit(mpgdec_real *, int, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
292 extern int mpg123_synth_2to1_mono(mpgdec_real *, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
293 extern int mpg123_synth_2to1_mono2stereo(mpgdec_real *, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
294 extern int mpg123_synth_2to1_8bit_mono(mpgdec_real *, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
295 extern int mpg123_synth_2to1_8bit_mono2stereo(mpgdec_real *, unsigned char *,
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
296 int *);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
297
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
298 extern int mpg123_synth_4to1(mpgdec_real *, int, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
299 extern int mpg123_synth_4to1_8bit(mpgdec_real *, int, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
300 extern int mpg123_synth_4to1_mono(mpgdec_real *, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
301 extern int mpg123_synth_4to1_mono2stereo(mpgdec_real *, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
302 extern int mpg123_synth_4to1_8bit_mono(mpgdec_real *, unsigned char *, int *);
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
303 extern int mpg123_synth_4to1_8bit_mono2stereo(mpgdec_real *, unsigned char *,
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
304 int *);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
305
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
306 extern void mpg123_rewindNbits(int bits);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
307 extern int mpg123_hsstell(void);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
308 extern void mpg123_set_pointer(long);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
309 extern void mpg123_huffman_decoder(int, int *);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
310 extern void mpg123_huffman_count1(int, int *);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
311 extern int mpg123_get_songlen(struct frame *fr, int no);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
312
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
313 #define mpg123_getcpuflags(a, b) \
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
314 do { \
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
315 *(a) = 0; \
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
316 *(b) = 0; \
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
317 } while (0)
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
318
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
319 void mpg123_init_layer3(int);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
320 void mpg123_init_layer2(gboolean);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
321 void mpg123_make_decode_tables(long scaleval);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
322 void mpg123_make_conv16to8_table(void);
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
323 void mpg123_dct64(mpgdec_real *, mpgdec_real *, mpgdec_real *);
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
324
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
325 int mpg123_decode_header(struct frame *fr, unsigned long newhead);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
326 double mpg123_compute_bpf(struct frame *fr);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
327 double mpg123_compute_tpf(struct frame *fr);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
328 guint mpg123_strip_spaces(char *src, size_t n);
957
12f57026da8f [svn] First attempt at introducing taglib here. Very rough, needs polishing. Please wear protective goggles before opening the file dialog. It *will* explode.
chainsaw
parents: 701
diff changeset
329 gchar *mpg123_format_song_title(TagLib_Tag *taglib_tag, gchar * filename);
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
330 double mpg123_relative_pos(void);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
331
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
332
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
333 extern gchar ** mpg123_id3_encoding_list;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
334 extern unsigned char *mpg123_conv16to8;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
335 extern const int mpg123_freqs[9];
970
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
336 extern mpgdec_real mpg123_muls[27][64];
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
337 extern mpgdec_real mpg123_decwin[512 + 32];
0f294f2b0a9b [svn] - integer-mode decoding accuracy improvements
nenolod
parents: 957
diff changeset
338 extern mpgdec_real *mpg123_pnts[5];
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
339
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
340 #define GENRE_MAX 0x94
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
341 extern const char *mpg123_id3_genres[GENRE_MAX];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
342 extern const int tabsel_123[2][3][16];
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
343
1090
09eb2c83097a [svn] Psychoaccoustics support (to disable, temporarily add -UPSYCHO to your CFLAGS.):
nenolod
parents: 1089
diff changeset
344 /* psycho.c defines */
09eb2c83097a [svn] Psychoaccoustics support (to disable, temporarily add -UPSYCHO to your CFLAGS.):
nenolod
parents: 1089
diff changeset
345 void psycho_init(void);
09eb2c83097a [svn] Psychoaccoustics support (to disable, temporarily add -UPSYCHO to your CFLAGS.):
nenolod
parents: 1089
diff changeset
346 int psycho_process(void *data, int length, int nch);
09eb2c83097a [svn] Psychoaccoustics support (to disable, temporarily add -UPSYCHO to your CFLAGS.):
nenolod
parents: 1089
diff changeset
347
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
348 #endif