/* 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;
}
