1#![allow(non_snake_case)]
2
3extern crate libc;
4extern crate vorbis_sys;
5
6#[repr(C)]
7pub struct ovectl_ratemanage_arg {
8 pub management_active: libc::c_int,
9 pub bitrate_hard_min: libc::c_long,
10 pub bitrate_hard_max: libc::c_long,
11 pub bitrate_hard_window: libc::c_double,
12 pub bitrate_av_lo: libc::c_long,
13 pub bitrate_av_hi: libc::c_long,
14 pub bitrate_av_window: libc::c_double,
15 pub bitrate_av_window_center: libc::c_double
16}
17#[repr(C)]
18pub struct ovectl_ratemanage2_arg {
19 pub management_active: libc::c_int,
20 pub bitrate_limit_min_kbps: libc::c_long,
21 pub bitrate_limit_max_kbps: libc::c_long,
22 pub bitrate_limit_reservoir_bits: libc::c_long,
23 pub bitrate_limit_reservoir_bias: libc::c_double,
24 pub bitrate_average_kbps: libc::c_long,
25 pub bitrate_average_damping: libc::c_double
26}
27
28pub const OV_ECTL_RATEMANAGE2_GET: libc::c_int = 0x14;
29pub const OV_ECTL_RATEMANAGE2_SET: libc::c_int = 0x15;
30pub const OV_ECTL_LOWPASS_GET: libc::c_int = 0x20;
31pub const OV_ECTL_LOWPASS_SET: libc::c_int = 0x21;
32pub const OV_ECTL_IBLOCK_GET: libc::c_int = 0x30;
33pub const OV_ECTL_IBLOCK_SET: libc::c_int = 0x31;
34pub const OV_ECTL_COUPLING_GET: libc::c_int = 0x40;
35pub const OV_ECTL_COUPLING_SET: libc::c_int = 0x41;
36pub const OV_ECTL_RATEMANAGE_GET: libc::c_int = 0x10;
37pub const OV_ECTL_RATEMANAGE_SET: libc::c_int = 0x11;
38pub const OV_ECTL_RATEMANAGE_AVG: libc::c_int = 0x12;
39pub const OV_ECTL_RATEMANAGE_HARD: libc::c_int = 0x13;
40
41extern {
42 pub fn vorbis_encode_init(vi: *mut vorbis_sys::vorbis_info, channels: libc::c_long,
43 rate: libc::c_long, max_bitrate: libc::c_long,
44 nominal_bitrate: libc::c_long, min_bitrate: libc::c_long) -> libc::c_int;
45 pub fn vorbis_encode_setup_managed(vi: *mut vorbis_sys::vorbis_info, channels: libc::c_long,
46 rate: libc::c_long, max_bitrate: libc::c_long,
47 nominal_bitrate: libc::c_long, min_bitrate: libc::c_long) -> libc::c_int;
48 pub fn vorbis_encode_setup_vbr(vi: *mut vorbis_sys::vorbis_info, channels: libc::c_long,
49 rate: libc::c_long, quality: libc::c_float) -> libc::c_int;
50 pub fn vorbis_encode_init_vbr(vi: *mut vorbis_sys::vorbis_info, channels: libc::c_long,
51 rate: libc::c_long, base_quality: libc::c_float) -> libc::c_int;
52 pub fn vorbis_encode_setup_init(vi: *mut vorbis_sys::vorbis_info) -> libc::c_int;
53 pub fn vorbis_encode_ctl(vi: *mut vorbis_sys::vorbis_info, number: libc::c_int, arg: *mut libc::c_void) -> libc::c_int;
54}