Skip to main content

ffcine_render/backend/
mod.rs

1//! Backends. Only ffmpeg (libav* I/O) + libplacebo (Vulkan processing) exists today.
2
3// libav's `AVBufferRef::data` is a byte pointer to suitably aligned contexts; FFI setup
4// functions read best as one sequence.
5#![allow(clippy::cast_ptr_alignment, clippy::too_many_lines)]
6
7#[cfg(feature = "ffmpeg")]
8mod ffmpeg;
9#[cfg(feature = "placebo")]
10pub mod placebo;
11
12#[cfg(all(feature = "ffmpeg", feature = "placebo"))]
13mod av;
14#[cfg(all(feature = "ffmpeg", feature = "placebo"))]
15mod denoise;
16#[cfg(all(feature = "ffmpeg", feature = "placebo"))]
17pub mod doctor;
18#[cfg(all(feature = "ffmpeg", feature = "placebo"))]
19mod gpu;
20#[cfg(all(feature = "ffmpeg", feature = "placebo"))]
21mod hw;
22#[cfg(all(feature = "ffmpeg", feature = "placebo"))]
23mod io;
24#[cfg(feature = "ffmpeg")]
25mod retime;
26#[cfg(feature = "ffmpeg")]
27mod tiles;
28
29#[cfg(feature = "ffmpeg")]
30pub use ffmpeg::Ffmpeg;