MS Video 1 16-bit encoder and MS ADPCM encoder
[nihav.git] / nihav-ms / src / codecs / mod.rs
index 0e1a2375f069d0e01c969534f2629dbc18854d77..f5939fd529821fd2f62001e1ab9a1ada16a84428 100644 (file)
@@ -10,7 +10,7 @@ pub mod msvideo1;
 #[cfg(feature="decoder_ima_adpcm_ms")]
 pub mod imaadpcm;
 
-#[cfg(feature="decoder_ms_adpcm")]
+#[cfg(any(feature="decoder_ms_adpcm", feature="encoder_ms_adpcm"))]
 pub mod msadpcm;
 
 const MS_CODECS: &[DecoderInfo] = &[
@@ -28,3 +28,20 @@ pub fn ms_register_all_codecs(rd: &mut RegisteredDecoders) {
         rd.add_decoder(decoder.clone());
     }
 }
+
+#[cfg(feature="encoder_msvideo1")]
+pub mod msvideo1enc;
+
+const MS_ENCODERS: &[EncoderInfo] = &[
+#[cfg(feature="encoder_msvideo1")]
+    EncoderInfo { name: "msvideo1", get_encoder: msvideo1enc::get_encoder },
+#[cfg(feature="encoder_ms_adpcm")]
+    EncoderInfo { name: "ms-adpcm", get_encoder: msadpcm::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());
+    }
+}