X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-ms%2Fsrc%2Fcodecs%2Fmod.rs;h=739315b07105101eb634796c86291b2efd876859;hb=71d7f39706f0f5004820f8d1d36c87d5f9ec3e97;hp=e01a6bb946ae01c74f707ee7e23e1f6878026d4c;hpb=78fb6560c73965d834b215fb0b49505ae5443288;p=nihav.git diff --git a/nihav-ms/src/codecs/mod.rs b/nihav-ms/src/codecs/mod.rs index e01a6bb..739315b 100644 --- a/nihav-ms/src/codecs/mod.rs +++ b/nihav-ms/src/codecs/mod.rs @@ -1,8 +1,13 @@ use nihav_core::codecs::*; +#[cfg(debug_assertions)] macro_rules! validate { ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } }; } +#[cfg(not(debug_assertions))] +macro_rules! validate { + ($a:expr) => { if !$a { return Err(DecoderError::InvalidData); } }; +} #[cfg(feature="decoder_msrle")] pub mod msrle; @@ -13,6 +18,9 @@ pub mod msvideo1; #[cfg(feature="decoder_ima_adpcm_ms")] pub mod imaadpcm; +#[cfg(feature="encoder_ima_adpcm_ms")] +pub mod imaadpcmenc; + #[cfg(any(feature="decoder_ms_adpcm", feature="encoder_ms_adpcm"))] pub mod msadpcm; @@ -30,7 +38,7 @@ const MS_CODECS: &[DecoderInfo] = &[ /// Registers all available codecs provided by this crate. pub fn ms_register_all_decoders(rd: &mut RegisteredDecoders) { for decoder in MS_CODECS.iter() { - rd.add_decoder(decoder.clone()); + rd.add_decoder(*decoder); } } @@ -42,11 +50,13 @@ const MS_ENCODERS: &[EncoderInfo] = &[ EncoderInfo { name: "msvideo1", get_encoder: msvideo1enc::get_encoder }, #[cfg(feature="encoder_ms_adpcm")] EncoderInfo { name: "ms-adpcm", get_encoder: msadpcm::get_encoder }, +#[cfg(feature="encoder_ima_adpcm_ms")] + EncoderInfo { name: "ima-adpcm-ms", get_encoder: imaadpcmenc::get_encoder }, ]; /// Registers all available encoders provided by this crate. pub fn ms_register_all_encoders(re: &mut RegisteredEncoders) { for encoder in MS_ENCODERS.iter() { - re.add_encoder(encoder.clone()); + re.add_encoder(*encoder); } }