adder_codec_rs/transcoder/source/
mod.rs

1use crate::transcoder::source::video::Source;
2use crate::transcoder::source::video::SourceError;
3use crate::transcoder::source::video::Video;
4use adder_codec_core::Event;
5use enum_dispatch::enum_dispatch;
6use video_rs_adder_dep::Frame;
7
8#[cfg(feature = "open-cv")]
9use crate::transcoder::source::davis::Davis;
10use crate::transcoder::source::framed::Framed;
11use crate::transcoder::source::prophesee::Prophesee;
12use std::io::Write;
13
14/// Tools for transcoding from a DVS/DAVIS video source to ADΔER
15#[cfg(feature = "open-cv")]
16pub mod davis;
17
18/// Tools for transcoding from a framed video source to ADΔER
19pub mod framed;
20
21/// Common functions and structs for all transcoder sources
22pub mod video;
23
24/// Tools for transcoding from a Prophesee video source to ADΔER
25pub mod prophesee;
26
27#[enum_dispatch(Source<W>)]
28pub enum AdderSource<W: Write + 'static + std::marker::Send + std::marker::Sync> {
29    Framed(Framed<W>),
30    #[cfg(feature = "open-cv")]
31    Davis(Davis<W>),
32    Prophesee(Prophesee<W>),
33}