1mod nal;
2mod types;
3pub mod wav;
4
5pub use nal::length_prefixed_to_annexb;
6pub use types::*;
7
8pub fn threads() -> usize {
9 std::thread::available_parallelism()
10 .map(|n| n.get())
11 .unwrap_or(4)
12 .min(16)
13}
14
15#[cfg(any(
16 feature = "hevc",
17 feature = "vp9",
18 feature = "gif",
19 feature = "webp",
20 feature = "opus",
21 feature = "ac3"
22))]
23pub(crate) mod isa;
24
25#[cfg(any(feature = "hevc", feature = "vp9"))]
26pub(crate) fn default_threads() -> usize {
27 std::thread::available_parallelism()
28 .map(|n| n.get())
29 .unwrap_or(1)
30 .min(16)
31}
32
33#[cfg(all(
34 feature = "h264",
35 feature = "hevc",
36 feature = "aac",
37 feature = "mp4",
38 feature = "gpu",
39 feature = "filter",
40 feature = "mkv",
41 feature = "vp9"
42))]
43mod front;
44
45#[cfg(all(
46 feature = "h264",
47 feature = "hevc",
48 feature = "aac",
49 feature = "mp4",
50 feature = "gpu",
51 feature = "filter",
52 feature = "mkv",
53 feature = "vp9"
54))]
55pub use front::*;