Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
google
GitHub Repository: google/crosvm
Path: blob/main/media/libvda/src/encode/mod.rs
5394 views
1
// Copyright 2020 The ChromiumOS Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
mod bindings;
6
mod event;
7
mod format;
8
mod session;
9
mod vea_instance;
10
11
pub use event::*;
12
pub use format::*;
13
pub use session::*;
14
pub use vea_instance::*;
15
16
/// libvda only exists on ChromeOS, so we cannot link against it in a regular environment, which
17
/// limits our build coverage. These stubs are built if the "chromeos" feature is not specified,
18
/// which allows build to complete successfully, although the video device will just badly crash if
19
/// it is ever used.
20
#[cfg(feature = "libvda-stub")]
21
mod native_stubs {
22
use super::bindings::*;
23
24
#[no_mangle]
25
extern "C" fn initialize_encode(_type_: vea_impl_type_t) -> *mut ::std::os::raw::c_void {
26
unimplemented!()
27
}
28
29
#[no_mangle]
30
extern "C" fn deinitialize_encode(_impl_: *mut ::std::os::raw::c_void) {
31
unimplemented!()
32
}
33
34
#[no_mangle]
35
extern "C" fn get_vea_capabilities(
36
_impl_: *mut ::std::os::raw::c_void,
37
) -> *const vea_capabilities_t {
38
unimplemented!()
39
}
40
41
#[no_mangle]
42
extern "C" fn init_encode_session(
43
_impl_: *mut ::std::os::raw::c_void,
44
_config: *mut vea_config_t,
45
) -> *mut vea_session_info_t {
46
unimplemented!()
47
}
48
49
#[no_mangle]
50
extern "C" fn close_encode_session(
51
_impl_: *mut ::std::os::raw::c_void,
52
_session_info: *mut vea_session_info_t,
53
) {
54
unimplemented!()
55
}
56
57
#[no_mangle]
58
extern "C" fn vea_encode(
59
_ctx: *mut ::std::os::raw::c_void,
60
_input_buffer_id: vea_input_buffer_id_t,
61
_fd: ::std::os::raw::c_int,
62
_num_planes: usize,
63
_planes: *mut video_frame_plane_t,
64
_timestamp: i64,
65
_force_keyframe: u8,
66
) -> ::std::os::raw::c_int {
67
unimplemented!()
68
}
69
70
#[no_mangle]
71
extern "C" fn vea_use_output_buffer(
72
_ctx: *mut ::std::os::raw::c_void,
73
_output_buffer_id: vea_output_buffer_id_t,
74
_fd: ::std::os::raw::c_int,
75
_offset: u32,
76
_size: u32,
77
) -> ::std::os::raw::c_int {
78
unimplemented!()
79
}
80
81
#[no_mangle]
82
extern "C" fn vea_request_encoding_params_change(
83
_ctx: *mut ::std::os::raw::c_void,
84
_bitrate: vea_bitrate_t,
85
_framerate: u32,
86
) -> ::std::os::raw::c_int {
87
unimplemented!()
88
}
89
90
#[no_mangle]
91
extern "C" fn vea_flush(_ctx: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int {
92
unimplemented!()
93
}
94
}
95
96