rename register_all_codecs to register_all_decoders
[nihav.git] / nihav-commonfmt / src / codecs / atrac3.rs
index 9d416e2b812c03cde9e76dc9a688ae3dd0676eb2..f1b9ef65af1afc37f9b5de60a62b105daa4db849 100644 (file)
@@ -4,7 +4,7 @@ use nihav_core::codecs::*;
 use nihav_core::io::bitreader::*;
 use nihav_core::io::byteio::*;
 use nihav_core::io::codebook::*;
-use nihav_core::dsp::mdct::IMDCT;
+use nihav_codec_support::dsp::mdct::IMDCT;
 use std::f32::consts;
 
 #[derive(Clone,Copy,PartialEq)]
@@ -260,6 +260,7 @@ struct DSP {
     tmp:            [f32; ATRAC3_FRAME_SIZE + 64],
 }
 
+#[allow(clippy::manual_memcpy)]
 impl DSP {
     fn new() -> Self {
         let mut gain_tab: [f32; 16] = [0.0; 16];
@@ -409,7 +410,7 @@ struct Atrac3CodebookReader {
 }
 impl CodebookDescReader<u8> for Atrac3CodebookReader {
     fn bits(&mut self, idx: usize) -> u8  { self.bits[idx] }
-    fn code(&mut self, idx: usize) -> u32 { self.codes[idx] as u32 }
+    fn code(&mut self, idx: usize) -> u32 { u32::from(self.codes[idx]) }
     fn sym (&mut self, idx: usize) -> u8 { idx as u8 }
     fn len(&mut self) -> usize { self.bits.len() }
 }
@@ -455,6 +456,7 @@ impl Atrac3Decoder {
             scalefactors,
         }
     }
+    #[allow(clippy::identity_op)]
     fn rev_matrix(&mut self) {
         for i in 0..4 {
             let c0 = self.mci_prev[i];
@@ -622,7 +624,7 @@ impl NADecoder for Atrac3Decoder {
         }
 
         {
-            let mut br = BitReader::new(self.pkt_buf.as_slice(), frame_size, BitReaderMode::BE);
+            let mut br = BitReader::new(&self.pkt_buf[0..frame_size], BitReaderMode::BE);
             let id                                  = br.read(6)?;
             validate!(id == 0x28);
             self.ch_data[0].decode_unit(&mut br, &self.codebooks, &self.scalefactors)?;
@@ -644,7 +646,7 @@ impl NADecoder for Atrac3Decoder {
             } else {
                 off = frame_size / 2;
             }
-            let mut br = BitReader::new(&self.pkt_buf[off..], frame_size - off, BitReaderMode::BE);
+            let mut br = BitReader::new(&self.pkt_buf[off..frame_size], BitReaderMode::BE);
             if self.mode == Mode::JointStereo {
                 let id                                  = br.read(2)?;
                 validate!(id == 0x3);
@@ -695,6 +697,12 @@ impl NADecoder for Atrac3Decoder {
     }
 }
 
+impl NAOptionHandler for Atrac3Decoder {
+    fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] }
+    fn set_options(&mut self, _options: &[NAOption]) { }
+    fn query_option_value(&self, _name: &str) -> Option<NAValue> { None }
+}
+
 pub fn get_decoder() -> Box<dyn NADecoder + Send> {
     Box::new(Atrac3Decoder::new())
 }
@@ -703,15 +711,15 @@ pub fn get_decoder() -> Box<dyn NADecoder + Send> {
 mod test {
     use nihav_core::codecs::RegisteredDecoders;
     use nihav_core::demuxers::RegisteredDemuxers;
-    use nihav_core::test::dec_video::test_decode_audio;
-    use crate::codecs::generic_register_all_codecs;
-    use nihav_realmedia::demuxers::realmedia_register_all_demuxers;
+    use nihav_codec_support::test::dec_video::test_decode_audio;
+    use crate::generic_register_all_decoders;
+    use nihav_realmedia::realmedia_register_all_demuxers;
     #[test]
     fn test_atrac3() {
         let mut dmx_reg = RegisteredDemuxers::new();
         realmedia_register_all_demuxers(&mut dmx_reg);
         let mut dec_reg = RegisteredDecoders::new();
-        generic_register_all_codecs(&mut dec_reg);
+        generic_register_all_decoders(&mut dec_reg);
 
         let file = "assets/RV/rv30_atrc_384x208_realproducer_plus_8.51.rm";
 //        let file = "assets/RV/rv20_svt_atrc_640x352_realproducer_plus_8.51.rm";