#![allow(clippy::all, non_camel_case_types)]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct mp3dec_frame_info_t {
pub frame_bytes: chlorine::c_int,
pub frame_offset: chlorine::c_int,
pub channels: chlorine::c_int,
pub hz: chlorine::c_int,
pub layer: chlorine::c_int,
pub bitrate_kbps: chlorine::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct mp3dec_t {
pub mdct_overlap: [[f32; 288usize]; 2usize],
pub qmf_state: [f32; 960usize],
pub reserv: chlorine::c_int,
pub free_format_bytes: chlorine::c_int,
pub header: [chlorine::c_uchar; 4usize],
pub reserv_buf: [chlorine::c_uchar; 511usize],
}
extern "C" {
pub fn mp3dec_init(dec: *mut mp3dec_t);
}
pub type mp3d_sample_t = f32;
extern "C" {
pub fn mp3dec_f32_to_s16(in_: *const f32, out: *mut i16, num_samples: chlorine::c_int);
}
extern "C" {
pub fn mp3dec_decode_frame(
dec: *mut mp3dec_t,
mp3: *const u8,
mp3_bytes: chlorine::c_int,
pcm: *mut mp3d_sample_t,
info: *mut mp3dec_frame_info_t,
) -> chlorine::c_int;
}