1*bb4ee6a4SAndroid Build Coastguard Worker // Copyright 2020 The ChromiumOS Authors 2*bb4ee6a4SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*bb4ee6a4SAndroid Build Coastguard Worker // found in the LICENSE file. 4*bb4ee6a4SAndroid Build Coastguard Worker 5*bb4ee6a4SAndroid Build Coastguard Worker mod bindings; 6*bb4ee6a4SAndroid Build Coastguard Worker mod event; 7*bb4ee6a4SAndroid Build Coastguard Worker mod format; 8*bb4ee6a4SAndroid Build Coastguard Worker mod session; 9*bb4ee6a4SAndroid Build Coastguard Worker mod vda_instance; 10*bb4ee6a4SAndroid Build Coastguard Worker 11*bb4ee6a4SAndroid Build Coastguard Worker pub use event::*; 12*bb4ee6a4SAndroid Build Coastguard Worker pub use format::*; 13*bb4ee6a4SAndroid Build Coastguard Worker pub use session::*; 14*bb4ee6a4SAndroid Build Coastguard Worker pub use vda_instance::*; 15*bb4ee6a4SAndroid Build Coastguard Worker 16*bb4ee6a4SAndroid Build Coastguard Worker /// libvda only exists on ChromeOS, so we cannot link against it in a regular environment, which 17*bb4ee6a4SAndroid Build Coastguard Worker /// limits our build coverage. These stubs are built if the "chromeos" feature is not specified, 18*bb4ee6a4SAndroid Build Coastguard Worker /// which allows build to complete successfully, although the video device will just badly crash if 19*bb4ee6a4SAndroid Build Coastguard Worker /// it is ever used. 20*bb4ee6a4SAndroid Build Coastguard Worker #[cfg(feature = "libvda-stub")] 21*bb4ee6a4SAndroid Build Coastguard Worker mod native_stubs { 22*bb4ee6a4SAndroid Build Coastguard Worker use super::bindings::*; 23*bb4ee6a4SAndroid Build Coastguard Worker 24*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] initialize(_impl_type: vda_impl_type_t) -> *mut ::std::os::raw::c_void25*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn initialize(_impl_type: vda_impl_type_t) -> *mut ::std::os::raw::c_void { 26*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 27*bb4ee6a4SAndroid Build Coastguard Worker } 28*bb4ee6a4SAndroid Build Coastguard Worker 29*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] deinitialize(_impl_: *mut ::std::os::raw::c_void)30*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn deinitialize(_impl_: *mut ::std::os::raw::c_void) { 31*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 32*bb4ee6a4SAndroid Build Coastguard Worker } 33*bb4ee6a4SAndroid Build Coastguard Worker 34*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] get_vda_capabilities( _impl_: *mut ::std::os::raw::c_void, ) -> *const vda_capabilities_t35*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn get_vda_capabilities( 36*bb4ee6a4SAndroid Build Coastguard Worker _impl_: *mut ::std::os::raw::c_void, 37*bb4ee6a4SAndroid Build Coastguard Worker ) -> *const vda_capabilities_t { 38*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 39*bb4ee6a4SAndroid Build Coastguard Worker } 40*bb4ee6a4SAndroid Build Coastguard Worker 41*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] init_decode_session( _impl_: *mut ::std::os::raw::c_void, _profile: vda_profile_t, ) -> *mut vda_session_info_t42*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn init_decode_session( 43*bb4ee6a4SAndroid Build Coastguard Worker _impl_: *mut ::std::os::raw::c_void, 44*bb4ee6a4SAndroid Build Coastguard Worker _profile: vda_profile_t, 45*bb4ee6a4SAndroid Build Coastguard Worker ) -> *mut vda_session_info_t { 46*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 47*bb4ee6a4SAndroid Build Coastguard Worker } 48*bb4ee6a4SAndroid Build Coastguard Worker 49*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] close_decode_session( _impl_: *mut ::std::os::raw::c_void, _session_info: *mut vda_session_info_t, )50*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn close_decode_session( 51*bb4ee6a4SAndroid Build Coastguard Worker _impl_: *mut ::std::os::raw::c_void, 52*bb4ee6a4SAndroid Build Coastguard Worker _session_info: *mut vda_session_info_t, 53*bb4ee6a4SAndroid Build Coastguard Worker ) { 54*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 55*bb4ee6a4SAndroid Build Coastguard Worker } 56*bb4ee6a4SAndroid Build Coastguard Worker 57*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] 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_t58*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn vda_decode( 59*bb4ee6a4SAndroid Build Coastguard Worker _ctx: *mut ::std::os::raw::c_void, 60*bb4ee6a4SAndroid Build Coastguard Worker _bitstream_id: i32, 61*bb4ee6a4SAndroid Build Coastguard Worker _fd: ::std::os::raw::c_int, 62*bb4ee6a4SAndroid Build Coastguard Worker _offset: u32, 63*bb4ee6a4SAndroid Build Coastguard Worker _bytes_used: u32, 64*bb4ee6a4SAndroid Build Coastguard Worker ) -> vda_result_t { 65*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 66*bb4ee6a4SAndroid Build Coastguard Worker } 67*bb4ee6a4SAndroid Build Coastguard Worker 68*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] vda_set_output_buffer_count( _ctx: *mut ::std::os::raw::c_void, _num_output_buffers: usize, ) -> vda_result_t69*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn vda_set_output_buffer_count( 70*bb4ee6a4SAndroid Build Coastguard Worker _ctx: *mut ::std::os::raw::c_void, 71*bb4ee6a4SAndroid Build Coastguard Worker _num_output_buffers: usize, 72*bb4ee6a4SAndroid Build Coastguard Worker ) -> vda_result_t { 73*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 74*bb4ee6a4SAndroid Build Coastguard Worker } 75*bb4ee6a4SAndroid Build Coastguard Worker 76*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] 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_t77*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn vda_use_output_buffer( 78*bb4ee6a4SAndroid Build Coastguard Worker _ctx: *mut ::std::os::raw::c_void, 79*bb4ee6a4SAndroid Build Coastguard Worker _picture_buffer_id: i32, 80*bb4ee6a4SAndroid Build Coastguard Worker _format: vda_pixel_format_t, 81*bb4ee6a4SAndroid Build Coastguard Worker _fd: ::std::os::raw::c_int, 82*bb4ee6a4SAndroid Build Coastguard Worker _num_planes: usize, 83*bb4ee6a4SAndroid Build Coastguard Worker _planes: *mut video_frame_plane_t, 84*bb4ee6a4SAndroid Build Coastguard Worker _modifier: u64, 85*bb4ee6a4SAndroid Build Coastguard Worker ) -> vda_result_t { 86*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 87*bb4ee6a4SAndroid Build Coastguard Worker } 88*bb4ee6a4SAndroid Build Coastguard Worker 89*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] vda_reuse_output_buffer( _ctx: *mut ::std::os::raw::c_void, _picture_buffer_id: i32, ) -> vda_result_t90*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn vda_reuse_output_buffer( 91*bb4ee6a4SAndroid Build Coastguard Worker _ctx: *mut ::std::os::raw::c_void, 92*bb4ee6a4SAndroid Build Coastguard Worker _picture_buffer_id: i32, 93*bb4ee6a4SAndroid Build Coastguard Worker ) -> vda_result_t { 94*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 95*bb4ee6a4SAndroid Build Coastguard Worker } 96*bb4ee6a4SAndroid Build Coastguard Worker 97*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] vda_flush(_ctx: *mut ::std::os::raw::c_void) -> vda_result_t98*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn vda_flush(_ctx: *mut ::std::os::raw::c_void) -> vda_result_t { 99*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 100*bb4ee6a4SAndroid Build Coastguard Worker } 101*bb4ee6a4SAndroid Build Coastguard Worker 102*bb4ee6a4SAndroid Build Coastguard Worker #[no_mangle] vda_reset(_ctx: *mut ::std::os::raw::c_void) -> vda_result_t103*bb4ee6a4SAndroid Build Coastguard Worker extern "C" fn vda_reset(_ctx: *mut ::std::os::raw::c_void) -> vda_result_t { 104*bb4ee6a4SAndroid Build Coastguard Worker unimplemented!() 105*bb4ee6a4SAndroid Build Coastguard Worker } 106*bb4ee6a4SAndroid Build Coastguard Worker } 107