1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
/* automatically generated by rust-bindgen 0.63.0 */


#![no_std]
#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]


pub use libc::FILE;
pub type lame_report_function = ::core::option::Option<unsafe extern "C" fn(format: *const libc::c_char, ...)>;
pub mod vbr_mode {
    pub const vbr_off: libc::c_int = 0;
    pub const vbr_mt: libc::c_int = 1;
    pub const vbr_rh: libc::c_int = 2;
    pub const vbr_abr: libc::c_int = 3;
    pub const vbr_mtrh: libc::c_int = 4;
    pub const vbr_max_indicator: libc::c_int = 5;
    pub const vbr_default: libc::c_int = 4;
}
///Alias for [vbr_mode](vbr_mode)
pub type vbr_mode_enum = libc::c_int;
pub mod MPEG_mode {
    pub const STEREO: libc::c_int = 0;
    pub const JOINT_STEREO: libc::c_int = 1;
    pub const DUAL_CHANNEL: libc::c_int = 2;
    pub const MONO: libc::c_int = 3;
    pub const NOT_SET: libc::c_int = 4;
    pub const MAX_INDICATOR: libc::c_int = 5;
}
///Alias for [MPEG_mode](MPEG_mode)
pub type MPEG_mode_enum = libc::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct lame_global_struct {
    _unused: [u8; 0],
}
pub type lame_global_flags = lame_global_struct;
pub type lame_t = *mut lame_global_flags;

#[repr(C)]
#[derive(Copy, Clone)]
#[derive(Debug)]
pub struct lame_version_t {
    pub major: libc::c_int,
    pub minor: libc::c_int,
    pub alpha: libc::c_int,
    pub beta: libc::c_int,
    pub psy_major: libc::c_int,
    pub psy_minor: libc::c_int,
    pub psy_alpha: libc::c_int,
    pub psy_beta: libc::c_int,
    pub features: *const libc::c_char,
}

extern "C" {
    pub fn lame_init() -> *mut lame_global_flags;
    pub fn lame_set_num_samples(arg1: *mut lame_global_flags, arg2: libc::c_ulong) -> libc::c_int;
    pub fn lame_get_num_samples(arg1: *const lame_global_flags) -> libc::c_ulong;
    pub fn lame_set_in_samplerate(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_in_samplerate(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_num_channels(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_num_channels(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_scale(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
    pub fn lame_get_scale(arg1: *const lame_global_flags) -> f32;
    pub fn lame_set_scale_left(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
    pub fn lame_get_scale_left(arg1: *const lame_global_flags) -> f32;
    pub fn lame_set_scale_right(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
    pub fn lame_get_scale_right(arg1: *const lame_global_flags) -> f32;
    pub fn lame_set_out_samplerate(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_out_samplerate(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_analysis(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_analysis(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_bWriteVbrTag(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_bWriteVbrTag(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_decode_only(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_decode_only(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_quality(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_quality(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_mode(arg1: *mut lame_global_flags, arg2: MPEG_mode_enum) -> libc::c_int;
    pub fn lame_get_mode(arg1: *const lame_global_flags) -> MPEG_mode_enum;
    pub fn lame_set_force_ms(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_force_ms(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_free_format(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_free_format(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_findReplayGain(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_findReplayGain(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_decode_on_the_fly(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_decode_on_the_fly(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_nogap_total(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_nogap_total(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_nogap_currentindex(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_nogap_currentindex(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_errorf(arg1: *mut lame_global_flags, arg2: lame_report_function) -> libc::c_int;
    pub fn lame_set_debugf(arg1: *mut lame_global_flags, arg2: lame_report_function) -> libc::c_int;
    pub fn lame_set_msgf(arg1: *mut lame_global_flags, arg2: lame_report_function) -> libc::c_int;
    pub fn lame_set_brate(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_brate(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_compression_ratio(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
    pub fn lame_get_compression_ratio(arg1: *const lame_global_flags) -> f32;
    pub fn lame_set_preset(gfp: *mut lame_global_flags, arg1: libc::c_int) -> libc::c_int;
    pub fn lame_set_asm_optimizations(gfp: *mut lame_global_flags, arg1: libc::c_int, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_set_copyright(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_copyright(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_original(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_original(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_error_protection(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_error_protection(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_extension(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_extension(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_strict_ISO(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_strict_ISO(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_disable_reservoir(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_disable_reservoir(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_quant_comp(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_quant_comp(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_quant_comp_short(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_quant_comp_short(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_experimentalX(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_experimentalX(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_experimentalY(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_experimentalY(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_experimentalZ(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_experimentalZ(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_exp_nspsytune(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_exp_nspsytune(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_msfix(arg1: *mut lame_global_flags, arg2: f64);
    pub fn lame_get_msfix(arg1: *const lame_global_flags) -> f32;
    pub fn lame_set_VBR(arg1: *mut lame_global_flags, arg2: vbr_mode_enum) -> libc::c_int;
    pub fn lame_get_VBR(arg1: *const lame_global_flags) -> vbr_mode_enum;
    pub fn lame_set_VBR_q(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_VBR_q(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_VBR_quality(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
    pub fn lame_get_VBR_quality(arg1: *const lame_global_flags) -> f32;
    pub fn lame_set_VBR_mean_bitrate_kbps(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_VBR_mean_bitrate_kbps(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_VBR_min_bitrate_kbps(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_VBR_min_bitrate_kbps(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_VBR_max_bitrate_kbps(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_VBR_max_bitrate_kbps(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_VBR_hard_min(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_VBR_hard_min(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_lowpassfreq(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_lowpassfreq(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_lowpasswidth(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_lowpasswidth(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_highpassfreq(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_highpassfreq(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_highpasswidth(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_highpasswidth(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_ATHonly(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_ATHonly(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_ATHshort(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_ATHshort(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_noATH(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_noATH(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_ATHtype(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_ATHtype(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_ATHlower(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
    pub fn lame_get_ATHlower(arg1: *const lame_global_flags) -> f32;
    pub fn lame_set_athaa_type(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_athaa_type(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_athaa_sensitivity(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
    pub fn lame_get_athaa_sensitivity(arg1: *const lame_global_flags) -> f32;
    pub fn lame_set_allow_diff_short(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_allow_diff_short(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_useTemporal(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_useTemporal(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_interChRatio(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
    pub fn lame_get_interChRatio(arg1: *const lame_global_flags) -> f32;
    pub fn lame_set_no_short_blocks(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_no_short_blocks(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_force_short_blocks(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_force_short_blocks(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_set_emphasis(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
    pub fn lame_get_emphasis(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_version(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_encoder_delay(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_encoder_padding(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_framesize(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_mf_samples_to_encode(gfp: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_size_mp3buffer(gfp: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_frameNum(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_totalframes(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_RadioGain(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_AudiophileGain(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_PeakSample(arg1: *const lame_global_flags) -> f32;
    pub fn lame_get_noclipGainChange(arg1: *const lame_global_flags) -> libc::c_int;
    pub fn lame_get_noclipScale(arg1: *const lame_global_flags) -> f32;
    pub fn lame_get_maximum_number_of_samples(gfp: lame_t, buffer_size: usize) -> libc::c_int;
    pub fn lame_init_params(arg1: *mut lame_global_flags) -> libc::c_int;
    pub fn get_lame_version() -> *const libc::c_char;
    pub fn get_lame_short_version() -> *const libc::c_char;
    pub fn get_lame_very_short_version() -> *const libc::c_char;
    pub fn get_psy_version() -> *const libc::c_char;
    pub fn get_lame_url() -> *const libc::c_char;
    pub fn get_lame_os_bitness() -> *const libc::c_char;
    pub fn get_lame_version_numerical(arg1: *mut lame_version_t);
    pub fn lame_print_config(gfp: *const lame_global_flags);
    pub fn lame_print_internals(gfp: *const lame_global_flags);
    pub fn lame_encode_buffer(gfp: *mut lame_global_flags, buffer_l: *const libc::c_short, buffer_r: *const libc::c_short, nsamples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_buffer_interleaved(gfp: *mut lame_global_flags, pcm: *mut libc::c_short, num_samples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_buffer_float(gfp: *mut lame_global_flags, pcm_l: *const f32, pcm_r: *const f32, nsamples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_buffer_ieee_float(gfp: lame_t, pcm_l: *const f32, pcm_r: *const f32, nsamples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_buffer_interleaved_ieee_float(gfp: lame_t, pcm: *const f32, nsamples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_buffer_ieee_double(gfp: lame_t, pcm_l: *const f64, pcm_r: *const f64, nsamples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_buffer_interleaved_ieee_double(gfp: lame_t, pcm: *const f64, nsamples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_buffer_long(gfp: *mut lame_global_flags, buffer_l: *const libc::c_long, buffer_r: *const libc::c_long, nsamples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_buffer_long2(gfp: *mut lame_global_flags, buffer_l: *const libc::c_long, buffer_r: *const libc::c_long, nsamples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_buffer_int(gfp: *mut lame_global_flags, buffer_l: *const libc::c_int, buffer_r: *const libc::c_int, nsamples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_buffer_interleaved_int(gfp: lame_t, pcm: *const libc::c_int, nsamples: libc::c_int, mp3buf: *mut libc::c_uchar, mp3buf_size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_flush(gfp: *mut lame_global_flags, mp3buf: *mut libc::c_uchar, size: libc::c_int) -> libc::c_int;
    pub fn lame_encode_flush_nogap(gfp: *mut lame_global_flags, mp3buf: *mut libc::c_uchar, size: libc::c_int) -> libc::c_int;
    pub fn lame_init_bitstream(gfp: *mut lame_global_flags) -> libc::c_int;
    pub fn lame_bitrate_hist(gfp: *const lame_global_flags, bitrate_count: *mut libc::c_int);
    pub fn lame_bitrate_kbps(gfp: *const lame_global_flags, bitrate_kbps: *mut libc::c_int);
    pub fn lame_stereo_mode_hist(gfp: *const lame_global_flags, stereo_mode_count: *mut libc::c_int);
    pub fn lame_bitrate_stereo_mode_hist(gfp: *const lame_global_flags, bitrate_stmode_count: *mut [libc::c_int; 4usize]);
    pub fn lame_block_type_hist(gfp: *const lame_global_flags, btype_count: *mut libc::c_int);
    pub fn lame_bitrate_block_type_hist(gfp: *const lame_global_flags, bitrate_btype_count: *mut [libc::c_int; 6usize]);
    pub fn lame_mp3_tags_fid(arg1: *mut lame_global_flags, fid: *mut FILE);
    pub fn lame_get_lametag_frame(arg1: *const lame_global_flags, buffer: *mut libc::c_uchar, size: usize) -> usize;
    pub fn lame_close(arg1: *mut lame_global_flags) -> libc::c_int;
}

#[cfg(feature = "decoder")]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct hip_global_struct {
    _unused: [u8; 0],
}
#[cfg(feature = "decoder")]
pub type hip_global_flags = hip_global_struct;
#[cfg(feature = "decoder")]
pub type hip_t = *mut hip_global_flags;
#[cfg(feature = "decoder")]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct mp3data_struct {
    pub header_parsed: libc::c_int,
    pub stereo: libc::c_int,
    pub samplerate: libc::c_int,
    pub bitrate: libc::c_int,
    pub mode: libc::c_int,
    pub mode_ext: libc::c_int,
    pub framesize: libc::c_int,
    pub nsamp: libc::c_ulong,
    pub totalframes: libc::c_int,
    pub framenum: libc::c_int,
}

#[cfg(feature = "decoder")]
extern "C" {
    pub fn hip_decode_init() -> hip_t;
    pub fn hip_decode_exit(gfp: hip_t) -> libc::c_int;
    pub fn hip_set_errorf(gfp: hip_t, f: lame_report_function);
    pub fn hip_set_debugf(gfp: hip_t, f: lame_report_function);
    pub fn hip_set_msgf(gfp: hip_t, f: lame_report_function);
    pub fn hip_decode(gfp: hip_t, mp3buf: *mut libc::c_uchar, len: usize, pcm_l: *mut libc::c_short, pcm_r: *mut libc::c_short) -> libc::c_int;
    pub fn hip_decode_headers(gfp: hip_t, mp3buf: *mut libc::c_uchar, len: usize, pcm_l: *mut libc::c_short, pcm_r: *mut libc::c_short, mp3data: *mut mp3data_struct) -> libc::c_int;
    pub fn hip_decode1(gfp: hip_t, mp3buf: *mut libc::c_uchar, len: usize, pcm_l: *mut libc::c_short, pcm_r: *mut libc::c_short) -> libc::c_int;
    pub fn hip_decode1_headers(gfp: hip_t, mp3buf: *mut libc::c_uchar, len: usize, pcm_l: *mut libc::c_short, pcm_r: *mut libc::c_short, mp3data: *mut mp3data_struct) -> libc::c_int;
    pub fn hip_decode1_headersB(gfp: hip_t, mp3buf: *mut libc::c_uchar, len: usize, pcm_l: *mut libc::c_short, pcm_r: *mut libc::c_short, mp3data: *mut mp3data_struct, enc_delay: *mut libc::c_int, enc_padding: *mut libc::c_int) -> libc::c_int;
}

extern "C" {
    pub fn id3tag_genre_list(handler: ::core::option::Option<unsafe extern "C" fn(arg1: libc::c_int, arg2: *const libc::c_char, arg3: *mut libc::c_void)>, cookie: *mut libc::c_void);
    pub fn id3tag_init(gfp: lame_t);
    pub fn id3tag_add_v2(gfp: lame_t);
    pub fn id3tag_v1_only(gfp: lame_t);
    pub fn id3tag_v2_only(gfp: lame_t);
    pub fn id3tag_space_v1(gfp: lame_t);
    pub fn id3tag_pad_v2(gfp: lame_t);
    pub fn id3tag_set_pad(gfp: lame_t, n: usize);
    pub fn id3tag_set_title(gfp: lame_t, title: *const libc::c_char);
    pub fn id3tag_set_artist(gfp: lame_t, artist: *const libc::c_char);
    pub fn id3tag_set_album(gfp: lame_t, album: *const libc::c_char);
    pub fn id3tag_set_year(gfp: lame_t, year: *const libc::c_char);
    pub fn id3tag_set_comment(gfp: lame_t, comment: *const libc::c_char);
    pub fn id3tag_set_track(gfp: lame_t, track: *const libc::c_char) -> libc::c_int;
    pub fn id3tag_set_genre(gfp: lame_t, genre: *const libc::c_char) -> libc::c_int;
    pub fn id3tag_set_fieldvalue(gfp: lame_t, fieldvalue: *const libc::c_char) -> libc::c_int;
    pub fn id3tag_set_albumart(gfp: lame_t, image: *const libc::c_char, size: usize) -> libc::c_int;
    pub fn lame_get_id3v1_tag(gfp: lame_t, buffer: *mut libc::c_uchar, size: usize) -> usize;
    pub fn lame_get_id3v2_tag(gfp: lame_t, buffer: *mut libc::c_uchar, size: usize) -> usize;
    pub fn lame_set_write_id3tag_automatic(gfp: *mut lame_global_flags, arg1: libc::c_int);
    pub fn lame_get_write_id3tag_automatic(gfp: *const lame_global_flags) -> libc::c_int;
    pub fn id3tag_set_textinfo_latin1(gfp: lame_t, id: *const libc::c_char, text: *const libc::c_char) -> libc::c_int;
    pub fn id3tag_set_comment_latin1(gfp: lame_t, lang: *const libc::c_char, desc: *const libc::c_char, text: *const libc::c_char) -> libc::c_int;
    pub fn id3tag_set_fieldvalue_utf16(gfp: lame_t, fieldvalue: *const libc::c_ushort) -> libc::c_int;
    pub fn id3tag_set_textinfo_utf16(gfp: lame_t, id: *const libc::c_char, text: *const libc::c_ushort) -> libc::c_int;
    pub fn id3tag_set_comment_utf16(gfp: lame_t, lang: *const libc::c_char, desc: *const libc::c_ushort, text: *const libc::c_ushort) -> libc::c_int;
    pub fn lame_get_bitrate(mpeg_version: libc::c_int, table_index: libc::c_int) -> libc::c_int;
    pub fn lame_get_samplerate(mpeg_version: libc::c_int, table_index: libc::c_int) -> libc::c_int;
}