mp3lame_sys/
lib.rs

1/* automatically generated by rust-bindgen 0.63.0 */
2
3
4#![no_std]
5#![allow(non_upper_case_globals)]
6#![allow(non_camel_case_types)]
7#![allow(non_snake_case)]
8
9
10pub use libc::FILE;
11pub type lame_report_function = ::core::option::Option<unsafe extern "C" fn(format: *const libc::c_char, ...)>;
12pub mod vbr_mode {
13    pub const vbr_off: libc::c_int = 0;
14    pub const vbr_mt: libc::c_int = 1;
15    pub const vbr_rh: libc::c_int = 2;
16    pub const vbr_abr: libc::c_int = 3;
17    pub const vbr_mtrh: libc::c_int = 4;
18    pub const vbr_max_indicator: libc::c_int = 5;
19    pub const vbr_default: libc::c_int = 4;
20}
21///Alias for [vbr_mode](vbr_mode)
22pub type vbr_mode_enum = libc::c_int;
23pub mod MPEG_mode {
24    pub const STEREO: libc::c_int = 0;
25    pub const JOINT_STEREO: libc::c_int = 1;
26    pub const DUAL_CHANNEL: libc::c_int = 2;
27    pub const MONO: libc::c_int = 3;
28    pub const NOT_SET: libc::c_int = 4;
29    pub const MAX_INDICATOR: libc::c_int = 5;
30}
31///Alias for [MPEG_mode](MPEG_mode)
32pub type MPEG_mode_enum = libc::c_int;
33#[repr(C)]
34#[derive(Debug, Copy, Clone)]
35pub struct lame_global_struct {
36    _unused: [u8; 0],
37}
38pub type lame_global_flags = lame_global_struct;
39pub type lame_t = *mut lame_global_flags;
40
41#[repr(C)]
42#[derive(Copy, Clone)]
43#[derive(Debug)]
44pub struct lame_version_t {
45    pub major: libc::c_int,
46    pub minor: libc::c_int,
47    pub alpha: libc::c_int,
48    pub beta: libc::c_int,
49    pub psy_major: libc::c_int,
50    pub psy_minor: libc::c_int,
51    pub psy_alpha: libc::c_int,
52    pub psy_beta: libc::c_int,
53    pub features: *const libc::c_char,
54}
55
56extern "C" {
57    pub fn lame_init() -> *mut lame_global_flags;
58    pub fn lame_set_num_samples(arg1: *mut lame_global_flags, arg2: libc::c_ulong) -> libc::c_int;
59    pub fn lame_get_num_samples(arg1: *const lame_global_flags) -> libc::c_ulong;
60    pub fn lame_set_in_samplerate(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
61    pub fn lame_get_in_samplerate(arg1: *const lame_global_flags) -> libc::c_int;
62    pub fn lame_set_num_channels(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
63    pub fn lame_get_num_channels(arg1: *const lame_global_flags) -> libc::c_int;
64    pub fn lame_set_scale(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
65    pub fn lame_get_scale(arg1: *const lame_global_flags) -> f32;
66    pub fn lame_set_scale_left(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
67    pub fn lame_get_scale_left(arg1: *const lame_global_flags) -> f32;
68    pub fn lame_set_scale_right(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
69    pub fn lame_get_scale_right(arg1: *const lame_global_flags) -> f32;
70    pub fn lame_set_out_samplerate(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
71    pub fn lame_get_out_samplerate(arg1: *const lame_global_flags) -> libc::c_int;
72    pub fn lame_set_analysis(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
73    pub fn lame_get_analysis(arg1: *const lame_global_flags) -> libc::c_int;
74    pub fn lame_set_bWriteVbrTag(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
75    pub fn lame_get_bWriteVbrTag(arg1: *const lame_global_flags) -> libc::c_int;
76    pub fn lame_set_decode_only(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
77    pub fn lame_get_decode_only(arg1: *const lame_global_flags) -> libc::c_int;
78    pub fn lame_set_quality(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
79    pub fn lame_get_quality(arg1: *const lame_global_flags) -> libc::c_int;
80    pub fn lame_set_mode(arg1: *mut lame_global_flags, arg2: MPEG_mode_enum) -> libc::c_int;
81    pub fn lame_get_mode(arg1: *const lame_global_flags) -> MPEG_mode_enum;
82    pub fn lame_set_force_ms(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
83    pub fn lame_get_force_ms(arg1: *const lame_global_flags) -> libc::c_int;
84    pub fn lame_set_free_format(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
85    pub fn lame_get_free_format(arg1: *const lame_global_flags) -> libc::c_int;
86    pub fn lame_set_findReplayGain(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
87    pub fn lame_get_findReplayGain(arg1: *const lame_global_flags) -> libc::c_int;
88    pub fn lame_set_decode_on_the_fly(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
89    pub fn lame_get_decode_on_the_fly(arg1: *const lame_global_flags) -> libc::c_int;
90    pub fn lame_set_nogap_total(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
91    pub fn lame_get_nogap_total(arg1: *const lame_global_flags) -> libc::c_int;
92    pub fn lame_set_nogap_currentindex(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
93    pub fn lame_get_nogap_currentindex(arg1: *const lame_global_flags) -> libc::c_int;
94    pub fn lame_set_errorf(arg1: *mut lame_global_flags, arg2: lame_report_function) -> libc::c_int;
95    pub fn lame_set_debugf(arg1: *mut lame_global_flags, arg2: lame_report_function) -> libc::c_int;
96    pub fn lame_set_msgf(arg1: *mut lame_global_flags, arg2: lame_report_function) -> libc::c_int;
97    pub fn lame_set_brate(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
98    pub fn lame_get_brate(arg1: *const lame_global_flags) -> libc::c_int;
99    pub fn lame_set_compression_ratio(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
100    pub fn lame_get_compression_ratio(arg1: *const lame_global_flags) -> f32;
101    pub fn lame_set_preset(gfp: *mut lame_global_flags, arg1: libc::c_int) -> libc::c_int;
102    pub fn lame_set_asm_optimizations(gfp: *mut lame_global_flags, arg1: libc::c_int, arg2: libc::c_int) -> libc::c_int;
103    pub fn lame_set_copyright(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
104    pub fn lame_get_copyright(arg1: *const lame_global_flags) -> libc::c_int;
105    pub fn lame_set_original(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
106    pub fn lame_get_original(arg1: *const lame_global_flags) -> libc::c_int;
107    pub fn lame_set_error_protection(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
108    pub fn lame_get_error_protection(arg1: *const lame_global_flags) -> libc::c_int;
109    pub fn lame_set_extension(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
110    pub fn lame_get_extension(arg1: *const lame_global_flags) -> libc::c_int;
111    pub fn lame_set_strict_ISO(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
112    pub fn lame_get_strict_ISO(arg1: *const lame_global_flags) -> libc::c_int;
113    pub fn lame_set_disable_reservoir(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
114    pub fn lame_get_disable_reservoir(arg1: *const lame_global_flags) -> libc::c_int;
115    pub fn lame_set_quant_comp(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
116    pub fn lame_get_quant_comp(arg1: *const lame_global_flags) -> libc::c_int;
117    pub fn lame_set_quant_comp_short(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
118    pub fn lame_get_quant_comp_short(arg1: *const lame_global_flags) -> libc::c_int;
119    pub fn lame_set_experimentalX(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
120    pub fn lame_get_experimentalX(arg1: *const lame_global_flags) -> libc::c_int;
121    pub fn lame_set_experimentalY(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
122    pub fn lame_get_experimentalY(arg1: *const lame_global_flags) -> libc::c_int;
123    pub fn lame_set_experimentalZ(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
124    pub fn lame_get_experimentalZ(arg1: *const lame_global_flags) -> libc::c_int;
125    pub fn lame_set_exp_nspsytune(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
126    pub fn lame_get_exp_nspsytune(arg1: *const lame_global_flags) -> libc::c_int;
127    pub fn lame_set_msfix(arg1: *mut lame_global_flags, arg2: f64);
128    pub fn lame_get_msfix(arg1: *const lame_global_flags) -> f32;
129    pub fn lame_set_VBR(arg1: *mut lame_global_flags, arg2: vbr_mode_enum) -> libc::c_int;
130    pub fn lame_get_VBR(arg1: *const lame_global_flags) -> vbr_mode_enum;
131    pub fn lame_set_VBR_q(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
132    pub fn lame_get_VBR_q(arg1: *const lame_global_flags) -> libc::c_int;
133    pub fn lame_set_VBR_quality(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
134    pub fn lame_get_VBR_quality(arg1: *const lame_global_flags) -> f32;
135    pub fn lame_set_VBR_mean_bitrate_kbps(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
136    pub fn lame_get_VBR_mean_bitrate_kbps(arg1: *const lame_global_flags) -> libc::c_int;
137    pub fn lame_set_VBR_min_bitrate_kbps(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
138    pub fn lame_get_VBR_min_bitrate_kbps(arg1: *const lame_global_flags) -> libc::c_int;
139    pub fn lame_set_VBR_max_bitrate_kbps(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
140    pub fn lame_get_VBR_max_bitrate_kbps(arg1: *const lame_global_flags) -> libc::c_int;
141    pub fn lame_set_VBR_hard_min(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
142    pub fn lame_get_VBR_hard_min(arg1: *const lame_global_flags) -> libc::c_int;
143    pub fn lame_set_lowpassfreq(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
144    pub fn lame_get_lowpassfreq(arg1: *const lame_global_flags) -> libc::c_int;
145    pub fn lame_set_lowpasswidth(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
146    pub fn lame_get_lowpasswidth(arg1: *const lame_global_flags) -> libc::c_int;
147    pub fn lame_set_highpassfreq(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
148    pub fn lame_get_highpassfreq(arg1: *const lame_global_flags) -> libc::c_int;
149    pub fn lame_set_highpasswidth(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
150    pub fn lame_get_highpasswidth(arg1: *const lame_global_flags) -> libc::c_int;
151    pub fn lame_set_ATHonly(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
152    pub fn lame_get_ATHonly(arg1: *const lame_global_flags) -> libc::c_int;
153    pub fn lame_set_ATHshort(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
154    pub fn lame_get_ATHshort(arg1: *const lame_global_flags) -> libc::c_int;
155    pub fn lame_set_noATH(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
156    pub fn lame_get_noATH(arg1: *const lame_global_flags) -> libc::c_int;
157    pub fn lame_set_ATHtype(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
158    pub fn lame_get_ATHtype(arg1: *const lame_global_flags) -> libc::c_int;
159    pub fn lame_set_ATHlower(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
160    pub fn lame_get_ATHlower(arg1: *const lame_global_flags) -> f32;
161    pub fn lame_set_athaa_type(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
162    pub fn lame_get_athaa_type(arg1: *const lame_global_flags) -> libc::c_int;
163    pub fn lame_set_athaa_sensitivity(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
164    pub fn lame_get_athaa_sensitivity(arg1: *const lame_global_flags) -> f32;
165    pub fn lame_set_allow_diff_short(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
166    pub fn lame_get_allow_diff_short(arg1: *const lame_global_flags) -> libc::c_int;
167    pub fn lame_set_useTemporal(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
168    pub fn lame_get_useTemporal(arg1: *const lame_global_flags) -> libc::c_int;
169    pub fn lame_set_interChRatio(arg1: *mut lame_global_flags, arg2: f32) -> libc::c_int;
170    pub fn lame_get_interChRatio(arg1: *const lame_global_flags) -> f32;
171    pub fn lame_set_no_short_blocks(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
172    pub fn lame_get_no_short_blocks(arg1: *const lame_global_flags) -> libc::c_int;
173    pub fn lame_set_force_short_blocks(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
174    pub fn lame_get_force_short_blocks(arg1: *const lame_global_flags) -> libc::c_int;
175    pub fn lame_set_emphasis(arg1: *mut lame_global_flags, arg2: libc::c_int) -> libc::c_int;
176    pub fn lame_get_emphasis(arg1: *const lame_global_flags) -> libc::c_int;
177    pub fn lame_get_version(arg1: *const lame_global_flags) -> libc::c_int;
178    pub fn lame_get_encoder_delay(arg1: *const lame_global_flags) -> libc::c_int;
179    pub fn lame_get_encoder_padding(arg1: *const lame_global_flags) -> libc::c_int;
180    pub fn lame_get_framesize(arg1: *const lame_global_flags) -> libc::c_int;
181    pub fn lame_get_mf_samples_to_encode(gfp: *const lame_global_flags) -> libc::c_int;
182    pub fn lame_get_size_mp3buffer(gfp: *const lame_global_flags) -> libc::c_int;
183    pub fn lame_get_frameNum(arg1: *const lame_global_flags) -> libc::c_int;
184    pub fn lame_get_totalframes(arg1: *const lame_global_flags) -> libc::c_int;
185    pub fn lame_get_RadioGain(arg1: *const lame_global_flags) -> libc::c_int;
186    pub fn lame_get_AudiophileGain(arg1: *const lame_global_flags) -> libc::c_int;
187    pub fn lame_get_PeakSample(arg1: *const lame_global_flags) -> f32;
188    pub fn lame_get_noclipGainChange(arg1: *const lame_global_flags) -> libc::c_int;
189    pub fn lame_get_noclipScale(arg1: *const lame_global_flags) -> f32;
190    pub fn lame_get_maximum_number_of_samples(gfp: lame_t, buffer_size: usize) -> libc::c_int;
191    pub fn lame_init_params(arg1: *mut lame_global_flags) -> libc::c_int;
192    pub fn get_lame_version() -> *const libc::c_char;
193    pub fn get_lame_short_version() -> *const libc::c_char;
194    pub fn get_lame_very_short_version() -> *const libc::c_char;
195    pub fn get_psy_version() -> *const libc::c_char;
196    pub fn get_lame_url() -> *const libc::c_char;
197    pub fn get_lame_os_bitness() -> *const libc::c_char;
198    pub fn get_lame_version_numerical(arg1: *mut lame_version_t);
199    pub fn lame_print_config(gfp: *const lame_global_flags);
200    pub fn lame_print_internals(gfp: *const lame_global_flags);
201    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;
202    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;
203    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;
204    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;
205    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;
206    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;
207    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;
208    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;
209    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;
210    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;
211    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;
212    pub fn lame_encode_flush(gfp: *mut lame_global_flags, mp3buf: *mut libc::c_uchar, size: libc::c_int) -> libc::c_int;
213    pub fn lame_encode_flush_nogap(gfp: *mut lame_global_flags, mp3buf: *mut libc::c_uchar, size: libc::c_int) -> libc::c_int;
214    pub fn lame_init_bitstream(gfp: *mut lame_global_flags) -> libc::c_int;
215    pub fn lame_bitrate_hist(gfp: *const lame_global_flags, bitrate_count: *mut libc::c_int);
216    pub fn lame_bitrate_kbps(gfp: *const lame_global_flags, bitrate_kbps: *mut libc::c_int);
217    pub fn lame_stereo_mode_hist(gfp: *const lame_global_flags, stereo_mode_count: *mut libc::c_int);
218    pub fn lame_bitrate_stereo_mode_hist(gfp: *const lame_global_flags, bitrate_stmode_count: *mut [libc::c_int; 4usize]);
219    pub fn lame_block_type_hist(gfp: *const lame_global_flags, btype_count: *mut libc::c_int);
220    pub fn lame_bitrate_block_type_hist(gfp: *const lame_global_flags, bitrate_btype_count: *mut [libc::c_int; 6usize]);
221    pub fn lame_mp3_tags_fid(arg1: *mut lame_global_flags, fid: *mut FILE);
222    pub fn lame_get_lametag_frame(arg1: *const lame_global_flags, buffer: *mut libc::c_uchar, size: usize) -> usize;
223    pub fn lame_close(arg1: *mut lame_global_flags) -> libc::c_int;
224}
225
226#[cfg(feature = "decoder")]
227#[repr(C)]
228#[derive(Debug, Copy, Clone)]
229pub struct hip_global_struct {
230    _unused: [u8; 0],
231}
232#[cfg(feature = "decoder")]
233pub type hip_global_flags = hip_global_struct;
234#[cfg(feature = "decoder")]
235pub type hip_t = *mut hip_global_flags;
236#[cfg(feature = "decoder")]
237#[repr(C)]
238#[derive(Debug, Copy, Clone)]
239pub struct mp3data_struct {
240    pub header_parsed: libc::c_int,
241    pub stereo: libc::c_int,
242    pub samplerate: libc::c_int,
243    pub bitrate: libc::c_int,
244    pub mode: libc::c_int,
245    pub mode_ext: libc::c_int,
246    pub framesize: libc::c_int,
247    pub nsamp: libc::c_ulong,
248    pub totalframes: libc::c_int,
249    pub framenum: libc::c_int,
250}
251
252#[cfg(feature = "decoder")]
253extern "C" {
254    pub fn hip_decode_init() -> hip_t;
255    pub fn hip_decode_exit(gfp: hip_t) -> libc::c_int;
256    pub fn hip_set_errorf(gfp: hip_t, f: lame_report_function);
257    pub fn hip_set_debugf(gfp: hip_t, f: lame_report_function);
258    pub fn hip_set_msgf(gfp: hip_t, f: lame_report_function);
259    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;
260    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;
261    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;
262    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;
263    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;
264}
265
266extern "C" {
267    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);
268    pub fn id3tag_init(gfp: lame_t);
269    pub fn id3tag_add_v2(gfp: lame_t);
270    pub fn id3tag_v1_only(gfp: lame_t);
271    pub fn id3tag_v2_only(gfp: lame_t);
272    pub fn id3tag_space_v1(gfp: lame_t);
273    pub fn id3tag_pad_v2(gfp: lame_t);
274    pub fn id3tag_set_pad(gfp: lame_t, n: usize);
275    pub fn id3tag_set_title(gfp: lame_t, title: *const libc::c_char);
276    pub fn id3tag_set_artist(gfp: lame_t, artist: *const libc::c_char);
277    pub fn id3tag_set_album(gfp: lame_t, album: *const libc::c_char);
278    pub fn id3tag_set_year(gfp: lame_t, year: *const libc::c_char);
279    pub fn id3tag_set_comment(gfp: lame_t, comment: *const libc::c_char);
280    pub fn id3tag_set_track(gfp: lame_t, track: *const libc::c_char) -> libc::c_int;
281    pub fn id3tag_set_genre(gfp: lame_t, genre: *const libc::c_char) -> libc::c_int;
282    pub fn id3tag_set_fieldvalue(gfp: lame_t, fieldvalue: *const libc::c_char) -> libc::c_int;
283    pub fn id3tag_set_albumart(gfp: lame_t, image: *const libc::c_char, size: usize) -> libc::c_int;
284    pub fn lame_get_id3v1_tag(gfp: lame_t, buffer: *mut libc::c_uchar, size: usize) -> usize;
285    pub fn lame_get_id3v2_tag(gfp: lame_t, buffer: *mut libc::c_uchar, size: usize) -> usize;
286    pub fn lame_set_write_id3tag_automatic(gfp: *mut lame_global_flags, arg1: libc::c_int);
287    pub fn lame_get_write_id3tag_automatic(gfp: *const lame_global_flags) -> libc::c_int;
288    pub fn id3tag_set_textinfo_latin1(gfp: lame_t, id: *const libc::c_char, text: *const libc::c_char) -> libc::c_int;
289    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;
290    pub fn id3tag_set_fieldvalue_utf16(gfp: lame_t, fieldvalue: *const libc::c_ushort) -> libc::c_int;
291    pub fn id3tag_set_textinfo_utf16(gfp: lame_t, id: *const libc::c_char, text: *const libc::c_ushort) -> libc::c_int;
292    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;
293    pub fn lame_get_bitrate(mpeg_version: libc::c_int, table_index: libc::c_int) -> libc::c_int;
294    pub fn lame_get_samplerate(mpeg_version: libc::c_int, table_index: libc::c_int) -> libc::c_int;
295}