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::fs::File;
13use std::io::{BufWriter, Write};
14
15/// Tools for transcoding from a DVS/DAVIS video source to ADΔER
16#[cfg(feature = "open-cv")]
17pub mod davis;
18
19/// Tools for transcoding from a framed video source to ADΔER
20pub mod framed;
21
22/// Common functions and structs for all transcoder sources
23pub mod video;
24
25/// Tools for transcoding from a Prophesee video source to ADΔER
26pub mod prophesee;
27
28#[enum_dispatch(Source<W>)]
29pub enum AdderSource<W: Write + 'static + std::marker::Send + std::marker::Sync> {
30    Framed(Framed<W>),
31    #[cfg(feature = "open-cv")]
32    Davis(Davis<W>),
33    Prophesee(Prophesee<W>),
34}