realmedia: fix clippy errors
[nihav.git] / nihav-realmedia / src / codecs / mod.rs
CommitLineData
5641dccf
KS
1use nihav_core::codecs::*;
2
3macro_rules! validate {
4 ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
5}
6
7#[cfg(any(feature="decoder_realvideo3", feature="decoder_realvideo4"))]
8mod rv3040;
9#[cfg(any(feature="decoder_realvideo3", feature="decoder_realvideo4"))]
61d3e294 10#[allow(clippy::erasing_op)]
5641dccf
KS
11mod rv34codes;
12#[cfg(any(feature="decoder_realvideo3", feature="decoder_realvideo4"))]
61d3e294 13#[allow(clippy::erasing_op)]
5641dccf
KS
14mod rv34dsp;
15
16#[cfg(feature="decoder_realvideo1")]
17pub mod rv10;
18#[cfg(feature="decoder_realvideo2")]
19pub mod rv20;
20#[cfg(feature="decoder_realvideo3")]
21pub mod rv30;
22#[cfg(feature="decoder_realvideo3")]
61d3e294 23#[allow(clippy::erasing_op)]
5641dccf
KS
24pub mod rv30dsp;
25#[cfg(feature="decoder_realvideo4")]
26pub mod rv40;
27#[cfg(feature="decoder_realvideo4")]
61d3e294 28#[allow(clippy::erasing_op)]
5641dccf
KS
29pub mod rv40dsp;
30#[cfg(feature="decoder_realvideo6")]
31pub mod rv60;
32#[cfg(feature="decoder_realvideo6")]
33pub mod rv60codes;
34#[cfg(feature="decoder_realvideo6")]
61d3e294 35#[allow(clippy::erasing_op)]
5641dccf
KS
36pub mod rv60dsp;
37
38#[cfg(feature="decoder_realaudio144")]
39pub mod ra144;
40#[cfg(feature="decoder_realaudio288")]
41pub mod ra288;
42#[cfg(feature="decoder_cook")]
43pub mod cook;
44#[cfg(feature="decoder_ralf")]
45pub mod ralf;
46
47const RM_CODECS: &[DecoderInfo] = &[
48#[cfg(feature="decoder_realvideo1")]
49 DecoderInfo { name: "realvideo1", get_decoder: rv10::get_decoder },
50#[cfg(feature="decoder_realvideo2")]
51 DecoderInfo { name: "realvideo2", get_decoder: rv20::get_decoder },
52#[cfg(feature="decoder_realvideo3")]
53 DecoderInfo { name: "realvideo3", get_decoder: rv30::get_decoder },
54#[cfg(feature="decoder_realvideo4")]
55 DecoderInfo { name: "realvideo4", get_decoder: rv40::get_decoder },
56#[cfg(feature="decoder_realvideo6")]
57 DecoderInfo { name: "realvideo6", get_decoder: rv60::get_decoder },
58
59#[cfg(feature="decoder_realaudio144")]
60 DecoderInfo { name: "ra14.4", get_decoder: ra144::get_decoder },
61#[cfg(feature="decoder_realaudio288")]
62 DecoderInfo { name: "ra28.8", get_decoder: ra288::get_decoder },
63#[cfg(feature="decoder_cook")]
64 DecoderInfo { name: "cook", get_decoder: cook::get_decoder },
65#[cfg(feature="decoder_ralf")]
66 DecoderInfo { name: "ralf", get_decoder: ralf::get_decoder },
67];
68
69pub fn realmedia_register_all_codecs(rd: &mut RegisteredDecoders) {
61d3e294 70 for decoder in RM_CODECS.iter() {
5641dccf
KS
71 rd.add_decoder(decoder.clone());
72 }
73}