1#![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}
21pub 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}
31pub 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}