xref: /aosp_15_r20/external/crosvm/media/libvda/src/decode/mod.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
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