From: Kostya Shishkov <kostya.shishkov@gmail.com>
Date: Tue, 9 Nov 2021 17:48:44 +0000 (+0100)
Subject: move AAC decoder to nihav-mpeg crate
X-Git-Url: https://git.nihav.org/?a=commitdiff_plain;h=ef0b99e68b6dd253074ed36e1dc665231e91b3b3;p=nihav.git

move AAC decoder to nihav-mpeg crate
---

diff --git a/nihav-commonfmt/Cargo.toml b/nihav-commonfmt/Cargo.toml
index acccd96..229bd8a 100644
--- a/nihav-commonfmt/Cargo.toml
+++ b/nihav-commonfmt/Cargo.toml
@@ -12,7 +12,7 @@ path = "../nihav-registry"
 
 [dependencies.nihav_codec_support]
 path = "../nihav-codec-support"
-features = ["h263", "mdct", "fft", "dsp_window", "vq"]
+features = ["h263", "mdct", "fft", "vq"]
 
 [dev-dependencies]
 nihav_realmedia = { path = "../nihav-realmedia", default-features=false, features = ["all_demuxers"] }
diff --git a/nihav-commonfmt/src/codecs/mod.rs b/nihav-commonfmt/src/codecs/mod.rs
index cc1cf74..bf254ee 100644
--- a/nihav-commonfmt/src/codecs/mod.rs
+++ b/nihav-commonfmt/src/codecs/mod.rs
@@ -15,10 +15,6 @@ mod rawvideo_ms;
 #[cfg(feature="decoder_zmbv")]
 mod zmbv;
 
-#[cfg(feature="decoder_aac")]
-#[allow(clippy::manual_memcpy)]
-#[allow(clippy::useless_let_if_seq)]
-mod aac;
 #[cfg(feature="decoder_atrac3")]
 #[allow(clippy::identity_op)]
 #[allow(clippy::useless_let_if_seq)]
@@ -59,8 +55,6 @@ const DECODERS: &[DecoderInfo] = &[
     DecoderInfo { name: "ac3", get_decoder: ts102366::get_decoder },
 #[cfg(feature="decoder_atrac3")]
     DecoderInfo { name: "atrac3", get_decoder: atrac3::get_decoder },
-#[cfg(feature="decoder_aac")]
-    DecoderInfo { name: "aac", get_decoder: aac::get_decoder },
 ];
 
 /// Registers all available codecs provided by this crate.
diff --git a/nihav-mpeg/Cargo.toml b/nihav-mpeg/Cargo.toml
index 0b21444..53a1d9e 100644
--- a/nihav-mpeg/Cargo.toml
+++ b/nihav-mpeg/Cargo.toml
@@ -9,7 +9,7 @@ path = "../nihav-core"
 
 [dependencies.nihav_codec_support]
 path = "../nihav-codec-support"
-features = ["qmf"]
+features = ["qmf", "fft", "mdct", "dsp_window"]
 
 [dev-dependencies]
 nihav_flash = { path = "../nihav-flash", default-features=false, features = ["all_demuxers"] }
@@ -23,5 +23,6 @@ all_decoders = ["all_video_decoders", "all_audio_decoders"]
 
 all_video_decoders = []
 
-all_audio_decoders = ["decoder_mpa"]
+all_audio_decoders = ["decoder_aac", "decoder_mpa"]
+decoder_aac = ["decoders"]
 decoder_mpa = ["decoders"]
diff --git a/nihav-commonfmt/src/codecs/aac.rs b/nihav-mpeg/src/codecs/aac.rs
similarity index 99%
rename from nihav-commonfmt/src/codecs/aac.rs
rename to nihav-mpeg/src/codecs/aac.rs
index 8585420..e11d564 100644
--- a/nihav-commonfmt/src/codecs/aac.rs
+++ b/nihav-mpeg/src/codecs/aac.rs
@@ -1339,14 +1339,14 @@ mod test {
     use nihav_core::codecs::RegisteredDecoders;
     use nihav_core::demuxers::RegisteredDemuxers;
     use nihav_codec_support::test::dec_video::test_decode_audio;
-    use crate::generic_register_all_decoders;
+    use crate::mpeg_register_all_decoders;
     use nihav_realmedia::realmedia_register_all_demuxers;
     #[test]
     fn test_aac() {
         let mut dmx_reg = RegisteredDemuxers::new();
         realmedia_register_all_demuxers(&mut dmx_reg);
         let mut dec_reg = RegisteredDecoders::new();
-        generic_register_all_decoders(&mut dec_reg);
+        mpeg_register_all_decoders(&mut dec_reg);
 
 //        let file = "assets/RV/rv40_weighted_mc.rmvb";
         let file = "assets/RV/rv40_weighted_mc_2.rmvb";
diff --git a/nihav-mpeg/src/codecs/mod.rs b/nihav-mpeg/src/codecs/mod.rs
index eb58553..09b42bd 100644
--- a/nihav-mpeg/src/codecs/mod.rs
+++ b/nihav-mpeg/src/codecs/mod.rs
@@ -4,11 +4,17 @@ macro_rules! validate {
     ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DecoderError::InvalidData); } };
 }
 
+#[cfg(feature="decoder_aac")]
+#[allow(clippy::manual_memcpy)]
+#[allow(clippy::useless_let_if_seq)]
+mod aac;
 #[cfg(feature="decoder_mpa")]
 #[allow(clippy::excessive_precision)]
 mod mpegaudio;
 
 const DECODERS: &[DecoderInfo] = &[
+#[cfg(feature="decoder_aac")]
+    DecoderInfo { name: "aac", get_decoder: aac::get_decoder },
 #[cfg(feature="decoder_mpa")]
     DecoderInfo { name: "mp3", get_decoder: mpegaudio::get_decoder_mp3 },
 ];