1pub mod commands;
2pub mod decode;
3#[cfg(feature = "__devtools")]
4pub mod dump_jbrd;
5pub mod error;
6#[cfg(feature = "__devtools")]
7pub mod generate_fixture;
8pub mod info;
9#[cfg(feature = "__devtools")]
10pub mod progressive;
11#[cfg(feature = "__ffmpeg")]
12pub mod slow_motion;
13
14mod output;
15
16pub use commands::{Args, Subcommands};
17pub use error::Error;
18
19type Result<T> = std::result::Result<T, Error>;
20
21#[cfg(feature = "rayon")]
22fn create_thread_pool(num_threads: Option<usize>) -> jxl_oxide::JxlThreadPool {
23 if num_threads.is_some() {
24 jxl_oxide::JxlThreadPool::rayon(num_threads)
25 } else {
26 tracing::debug!("Using default number of threads");
27 jxl_oxide::JxlThreadPool::rayon_global()
28 }
29}
30
31#[cfg(not(feature = "rayon"))]
32fn create_thread_pool(_num_threads: Option<usize>) -> jxl_oxide::JxlThreadPool {
33 jxl_oxide::JxlThreadPool::none()
34}