X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-ms%2Fsrc%2Fcodecs%2Fmod.rs;h=739315b07105101eb634796c86291b2efd876859;hb=71d7f39706f0f5004820f8d1d36c87d5f9ec3e97;hp=3ed99b4914a853f8c64b468ee08cfbed27f63437;hpb=423005dc1d521e9089c9ddcf020979b825e30443;p=nihav.git diff --git a/nihav-ms/src/codecs/mod.rs b/nihav-ms/src/codecs/mod.rs index 3ed99b4..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; @@ -28,9 +36,9 @@ const MS_CODECS: &[DecoderInfo] = &[ ]; /// Registers all available codecs provided by this crate. -pub fn ms_register_all_codecs(rd: &mut RegisteredDecoders) { +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); } }