]> git.nihav.org Git - nihav.git/blame - nihav-vivo/src/codecs/mod.rs
avimux: do not record palette change chunks in OpenDML index
[nihav.git] / nihav-vivo / src / codecs / mod.rs
CommitLineData
31cf33ac
KS
1use nihav_core::codecs::*;
2
3#[allow(unused_macros)]
71d7f397 4#[cfg(debug_assertions)]
31cf33ac
KS
5macro_rules! validate {
6 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
7}
71d7f397
KS
8#[cfg(not(debug_assertions))]
9macro_rules! validate {
10 ($a:expr) => { if !$a { return Err(DecoderError::InvalidData); } };
11}
31cf33ac
KS
12
13#[cfg(any(feature="decoder_vivo1", feature="decoder_vivo2"))]
14mod vivo;
15#[cfg(feature="decoder_g723_1")]
16mod g723_1;
17#[cfg(feature="decoder_siren")]
494ad253 18#[allow(clippy::approx_constant)]
31cf33ac
KS
19mod siren;
20
21const VIVO_CODECS: &[DecoderInfo] = &[
22#[cfg(feature="decoder_vivo1")]
23 DecoderInfo { name: "vivo1", get_decoder: vivo::get_decoder },
24#[cfg(feature="decoder_vivo2")]
25 DecoderInfo { name: "vivo2", get_decoder: vivo::get_decoder },
26#[cfg(feature="decoder_g723_1")]
27 DecoderInfo { name: "g723.1", get_decoder: g723_1::get_decoder },
28#[cfg(feature="decoder_siren")]
29 DecoderInfo { name: "siren", get_decoder: siren::get_decoder },
30];
31
32/// Registers all available codecs provided by this crate.
78fb6560 33pub fn vivo_register_all_decoders(rd: &mut RegisteredDecoders) {
31cf33ac 34 for decoder in VIVO_CODECS.iter() {
b7c882c1 35 rd.add_decoder(*decoder);
31cf33ac
KS
36 }
37}