1*bb4ee6a4SAndroid Build Coastguard Worker /* automatically generated by tools/bindgen-all-the-things */ 2*bb4ee6a4SAndroid Build Coastguard Worker 3*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::missing_safety_doc)] 4*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::undocumented_unsafe_blocks)] 5*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::upper_case_acronyms)] 6*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_upper_case_globals)] 7*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_camel_case_types)] 8*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_snake_case)] 9*bb4ee6a4SAndroid Build Coastguard Worker #![allow(dead_code)] 10*bb4ee6a4SAndroid Build Coastguard Worker 11*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::bindings::*; 12*bb4ee6a4SAndroid Build Coastguard Worker 13*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_impl_type_FAKE: vda_impl_type = 0; 14*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_impl_type_GAVDA: vda_impl_type = 1; 15*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_impl_type_GAVD: vda_impl_type = 2; 16*bb4ee6a4SAndroid Build Coastguard Worker pub type vda_impl_type = ::std::os::raw::c_uint; 17*bb4ee6a4SAndroid Build Coastguard Worker pub use self::vda_impl_type as vda_impl_type_t; 18*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_result_SUCCESS: vda_result = 0; 19*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_result_ILLEGAL_STATE: vda_result = 1; 20*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_result_INVALID_ARGUMENT: vda_result = 2; 21*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_result_UNREADABLE_INPUT: vda_result = 3; 22*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_result_PLATFORM_FAILURE: vda_result = 4; 23*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_result_INSUFFICIENT_RESOURCES: vda_result = 5; 24*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_result_CANCELLED: vda_result = 6; 25*bb4ee6a4SAndroid Build Coastguard Worker pub type vda_result = ::std::os::raw::c_uint; 26*bb4ee6a4SAndroid Build Coastguard Worker pub use self::vda_result as vda_result_t; 27*bb4ee6a4SAndroid Build Coastguard Worker pub use self::video_codec_profile_t as vda_profile_t; 28*bb4ee6a4SAndroid Build Coastguard Worker pub use self::video_pixel_format_t as vda_pixel_format_t; 29*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_event_type_UNKNOWN: vda_event_type = 0; 30*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_event_type_PROVIDE_PICTURE_BUFFERS: vda_event_type = 1; 31*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_event_type_PICTURE_READY: vda_event_type = 2; 32*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_event_type_NOTIFY_END_OF_BITSTREAM_BUFFER: vda_event_type = 3; 33*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_event_type_NOTIFY_ERROR: vda_event_type = 4; 34*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_event_type_RESET_RESPONSE: vda_event_type = 5; 35*bb4ee6a4SAndroid Build Coastguard Worker pub const vda_event_type_FLUSH_RESPONSE: vda_event_type = 6; 36*bb4ee6a4SAndroid Build Coastguard Worker pub type vda_event_type = ::std::os::raw::c_uint; 37*bb4ee6a4SAndroid Build Coastguard Worker pub use self::vda_event_type as vda_event_type_t; 38*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 39*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 40*bb4ee6a4SAndroid Build Coastguard Worker pub struct provide_picture_buffers_event_data { 41*bb4ee6a4SAndroid Build Coastguard Worker pub min_num_buffers: u32, 42*bb4ee6a4SAndroid Build Coastguard Worker pub width: i32, 43*bb4ee6a4SAndroid Build Coastguard Worker pub height: i32, 44*bb4ee6a4SAndroid Build Coastguard Worker pub visible_rect_left: i32, 45*bb4ee6a4SAndroid Build Coastguard Worker pub visible_rect_top: i32, 46*bb4ee6a4SAndroid Build Coastguard Worker pub visible_rect_right: i32, 47*bb4ee6a4SAndroid Build Coastguard Worker pub visible_rect_bottom: i32, 48*bb4ee6a4SAndroid Build Coastguard Worker } 49*bb4ee6a4SAndroid Build Coastguard Worker pub type provide_picture_buffers_event_data_t = provide_picture_buffers_event_data; 50*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 51*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 52*bb4ee6a4SAndroid Build Coastguard Worker pub struct picture_ready_event_data { 53*bb4ee6a4SAndroid Build Coastguard Worker pub picture_buffer_id: i32, 54*bb4ee6a4SAndroid Build Coastguard Worker pub bitstream_id: i32, 55*bb4ee6a4SAndroid Build Coastguard Worker pub crop_left: i32, 56*bb4ee6a4SAndroid Build Coastguard Worker pub crop_top: i32, 57*bb4ee6a4SAndroid Build Coastguard Worker pub crop_right: i32, 58*bb4ee6a4SAndroid Build Coastguard Worker pub crop_bottom: i32, 59*bb4ee6a4SAndroid Build Coastguard Worker } 60*bb4ee6a4SAndroid Build Coastguard Worker pub type picture_ready_event_data_t = picture_ready_event_data; 61*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 62*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)] 63*bb4ee6a4SAndroid Build Coastguard Worker pub union vda_event_data { 64*bb4ee6a4SAndroid Build Coastguard Worker pub provide_picture_buffers: provide_picture_buffers_event_data_t, 65*bb4ee6a4SAndroid Build Coastguard Worker pub picture_ready: picture_ready_event_data_t, 66*bb4ee6a4SAndroid Build Coastguard Worker pub bitstream_id: i32, 67*bb4ee6a4SAndroid Build Coastguard Worker pub result: vda_result_t, 68*bb4ee6a4SAndroid Build Coastguard Worker } 69*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vda_event_data { default() -> Self70*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 71*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 72*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 73*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 74*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 75*bb4ee6a4SAndroid Build Coastguard Worker } 76*bb4ee6a4SAndroid Build Coastguard Worker } 77*bb4ee6a4SAndroid Build Coastguard Worker } 78*bb4ee6a4SAndroid Build Coastguard Worker pub type vda_event_data_t = vda_event_data; 79*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 80*bb4ee6a4SAndroid Build Coastguard Worker pub struct vda_input_format { 81*bb4ee6a4SAndroid Build Coastguard Worker pub profile: vda_profile_t, 82*bb4ee6a4SAndroid Build Coastguard Worker pub min_width: u32, 83*bb4ee6a4SAndroid Build Coastguard Worker pub min_height: u32, 84*bb4ee6a4SAndroid Build Coastguard Worker pub max_width: u32, 85*bb4ee6a4SAndroid Build Coastguard Worker pub max_height: u32, 86*bb4ee6a4SAndroid Build Coastguard Worker } 87*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vda_input_format { default() -> Self88*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 89*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 90*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 91*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 92*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 93*bb4ee6a4SAndroid Build Coastguard Worker } 94*bb4ee6a4SAndroid Build Coastguard Worker } 95*bb4ee6a4SAndroid Build Coastguard Worker } 96*bb4ee6a4SAndroid Build Coastguard Worker pub type vda_input_format_t = vda_input_format; 97*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 98*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)] 99*bb4ee6a4SAndroid Build Coastguard Worker pub struct vda_event { 100*bb4ee6a4SAndroid Build Coastguard Worker pub event_type: vda_event_type_t, 101*bb4ee6a4SAndroid Build Coastguard Worker pub event_data: vda_event_data_t, 102*bb4ee6a4SAndroid Build Coastguard Worker } 103*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vda_event { default() -> Self104*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 105*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 106*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 107*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 108*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 109*bb4ee6a4SAndroid Build Coastguard Worker } 110*bb4ee6a4SAndroid Build Coastguard Worker } 111*bb4ee6a4SAndroid Build Coastguard Worker } 112*bb4ee6a4SAndroid Build Coastguard Worker pub type vda_event_t = vda_event; 113*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 114*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Copy, Clone)] 115*bb4ee6a4SAndroid Build Coastguard Worker pub struct vda_capabilities { 116*bb4ee6a4SAndroid Build Coastguard Worker pub num_input_formats: usize, 117*bb4ee6a4SAndroid Build Coastguard Worker pub input_formats: *const vda_input_format_t, 118*bb4ee6a4SAndroid Build Coastguard Worker pub num_output_formats: usize, 119*bb4ee6a4SAndroid Build Coastguard Worker pub output_formats: *const vda_pixel_format_t, 120*bb4ee6a4SAndroid Build Coastguard Worker } 121*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vda_capabilities { default() -> Self122*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 123*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 124*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 125*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 126*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 127*bb4ee6a4SAndroid Build Coastguard Worker } 128*bb4ee6a4SAndroid Build Coastguard Worker } 129*bb4ee6a4SAndroid Build Coastguard Worker } 130*bb4ee6a4SAndroid Build Coastguard Worker pub type vda_capabilities_t = vda_capabilities; 131*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 132*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Copy, Clone)] 133*bb4ee6a4SAndroid Build Coastguard Worker pub struct vda_session_info { 134*bb4ee6a4SAndroid Build Coastguard Worker pub ctx: *mut ::std::os::raw::c_void, 135*bb4ee6a4SAndroid Build Coastguard Worker pub event_pipe_fd: ::std::os::raw::c_int, 136*bb4ee6a4SAndroid Build Coastguard Worker } 137*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vda_session_info { default() -> Self138*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 139*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 140*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 141*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 142*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 143*bb4ee6a4SAndroid Build Coastguard Worker } 144*bb4ee6a4SAndroid Build Coastguard Worker } 145*bb4ee6a4SAndroid Build Coastguard Worker } 146*bb4ee6a4SAndroid Build Coastguard Worker pub type vda_session_info_t = vda_session_info; 147*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { initialize(impl_type: vda_impl_type_t) -> *mut ::std::os::raw::c_void148*bb4ee6a4SAndroid Build Coastguard Worker pub fn initialize(impl_type: vda_impl_type_t) -> *mut ::std::os::raw::c_void; 149*bb4ee6a4SAndroid Build Coastguard Worker } 150*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { deinitialize(impl_: *mut ::std::os::raw::c_void)151*bb4ee6a4SAndroid Build Coastguard Worker pub fn deinitialize(impl_: *mut ::std::os::raw::c_void); 152*bb4ee6a4SAndroid Build Coastguard Worker } 153*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { get_vda_capabilities(impl_: *mut ::std::os::raw::c_void) -> *const vda_capabilities_t154*bb4ee6a4SAndroid Build Coastguard Worker pub fn get_vda_capabilities(impl_: *mut ::std::os::raw::c_void) -> *const vda_capabilities_t; 155*bb4ee6a4SAndroid Build Coastguard Worker } 156*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { init_decode_session( impl_: *mut ::std::os::raw::c_void, profile: vda_profile_t, ) -> *mut vda_session_info_t157*bb4ee6a4SAndroid Build Coastguard Worker pub fn init_decode_session( 158*bb4ee6a4SAndroid Build Coastguard Worker impl_: *mut ::std::os::raw::c_void, 159*bb4ee6a4SAndroid Build Coastguard Worker profile: vda_profile_t, 160*bb4ee6a4SAndroid Build Coastguard Worker ) -> *mut vda_session_info_t; 161*bb4ee6a4SAndroid Build Coastguard Worker } 162*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { close_decode_session( impl_: *mut ::std::os::raw::c_void, session_info: *mut vda_session_info_t, )163*bb4ee6a4SAndroid Build Coastguard Worker pub fn close_decode_session( 164*bb4ee6a4SAndroid Build Coastguard Worker impl_: *mut ::std::os::raw::c_void, 165*bb4ee6a4SAndroid Build Coastguard Worker session_info: *mut vda_session_info_t, 166*bb4ee6a4SAndroid Build Coastguard Worker ); 167*bb4ee6a4SAndroid Build Coastguard Worker } 168*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { vda_decode( ctx: *mut ::std::os::raw::c_void, bitstream_id: i32, fd: ::std::os::raw::c_int, offset: u32, bytes_used: u32, ) -> vda_result_t169*bb4ee6a4SAndroid Build Coastguard Worker pub fn vda_decode( 170*bb4ee6a4SAndroid Build Coastguard Worker ctx: *mut ::std::os::raw::c_void, 171*bb4ee6a4SAndroid Build Coastguard Worker bitstream_id: i32, 172*bb4ee6a4SAndroid Build Coastguard Worker fd: ::std::os::raw::c_int, 173*bb4ee6a4SAndroid Build Coastguard Worker offset: u32, 174*bb4ee6a4SAndroid Build Coastguard Worker bytes_used: u32, 175*bb4ee6a4SAndroid Build Coastguard Worker ) -> vda_result_t; 176*bb4ee6a4SAndroid Build Coastguard Worker } 177*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { vda_set_output_buffer_count( ctx: *mut ::std::os::raw::c_void, num_output_buffers: usize, ) -> vda_result_t178*bb4ee6a4SAndroid Build Coastguard Worker pub fn vda_set_output_buffer_count( 179*bb4ee6a4SAndroid Build Coastguard Worker ctx: *mut ::std::os::raw::c_void, 180*bb4ee6a4SAndroid Build Coastguard Worker num_output_buffers: usize, 181*bb4ee6a4SAndroid Build Coastguard Worker ) -> vda_result_t; 182*bb4ee6a4SAndroid Build Coastguard Worker } 183*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { vda_use_output_buffer( ctx: *mut ::std::os::raw::c_void, picture_buffer_id: i32, format: vda_pixel_format_t, fd: ::std::os::raw::c_int, num_planes: usize, planes: *mut video_frame_plane_t, modifier: u64, ) -> vda_result_t184*bb4ee6a4SAndroid Build Coastguard Worker pub fn vda_use_output_buffer( 185*bb4ee6a4SAndroid Build Coastguard Worker ctx: *mut ::std::os::raw::c_void, 186*bb4ee6a4SAndroid Build Coastguard Worker picture_buffer_id: i32, 187*bb4ee6a4SAndroid Build Coastguard Worker format: vda_pixel_format_t, 188*bb4ee6a4SAndroid Build Coastguard Worker fd: ::std::os::raw::c_int, 189*bb4ee6a4SAndroid Build Coastguard Worker num_planes: usize, 190*bb4ee6a4SAndroid Build Coastguard Worker planes: *mut video_frame_plane_t, 191*bb4ee6a4SAndroid Build Coastguard Worker modifier: u64, 192*bb4ee6a4SAndroid Build Coastguard Worker ) -> vda_result_t; 193*bb4ee6a4SAndroid Build Coastguard Worker } 194*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { vda_reuse_output_buffer( ctx: *mut ::std::os::raw::c_void, picture_buffer_id: i32, ) -> vda_result_t195*bb4ee6a4SAndroid Build Coastguard Worker pub fn vda_reuse_output_buffer( 196*bb4ee6a4SAndroid Build Coastguard Worker ctx: *mut ::std::os::raw::c_void, 197*bb4ee6a4SAndroid Build Coastguard Worker picture_buffer_id: i32, 198*bb4ee6a4SAndroid Build Coastguard Worker ) -> vda_result_t; 199*bb4ee6a4SAndroid Build Coastguard Worker } 200*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { vda_flush(ctx: *mut ::std::os::raw::c_void) -> vda_result_t201*bb4ee6a4SAndroid Build Coastguard Worker pub fn vda_flush(ctx: *mut ::std::os::raw::c_void) -> vda_result_t; 202*bb4ee6a4SAndroid Build Coastguard Worker } 203*bb4ee6a4SAndroid Build Coastguard Worker extern "C" { vda_reset(ctx: *mut ::std::os::raw::c_void) -> vda_result_t204*bb4ee6a4SAndroid Build Coastguard Worker pub fn vda_reset(ctx: *mut ::std::os::raw::c_void) -> vda_result_t; 205*bb4ee6a4SAndroid Build Coastguard Worker } 206