fix clippy warnings
[nihav.git] / nihav-rad / src / codecs / binkaud.rs
index 479ee35d1b2fac7fc8f54c270d334acae5cfcd6b..7848e7e461035b685f42f8db1f0f91b318e3a201 100644 (file)
@@ -45,8 +45,8 @@ fn read_bink_float(br: &mut BitReader) -> DecoderResult<f32> {
         Ok(v)
     }*/
     let exp                                     = br.read(5)? as u8;
-    let mant                                    = br.read(23)? as u32;
-    let sign                                    = br.read(1)? as u32;
+    let mant                                    = br.read(23)?;
+    let sign                                    = br.read(1)?;
     let nexp = exp.wrapping_add(0x7E) as u32;
     let nmant = (mant << 1) & ((1 << 23) - 1);
     Ok(f32::from_bits((sign << 31) | (nexp << 23) | nmant))
@@ -130,6 +130,7 @@ impl BinkAudioDecoder {
         }
         Ok(())
     }
+    #[allow(clippy::transmute_ptr_to_ptr)]
     fn output(&mut self, dst: &mut [f32], off0: usize, off1: usize, chno: usize) {
         match self.transform {
             Transform::DCT(ref mut dct) => {
@@ -278,6 +279,12 @@ impl NADecoder for BinkAudioDecoder {
     }
 }
 
+impl NAOptionHandler for BinkAudioDecoder {
+    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_dct() -> Box<dyn NADecoder + Send> {
     Box::new(BinkAudioDecoder::new(true))
 }
@@ -291,7 +298,7 @@ mod test {
     use nihav_core::codecs::RegisteredDecoders;
     use nihav_core::demuxers::RegisteredDemuxers;
     use nihav_codec_support::test::dec_video::*;
-    use crate::rad_register_all_codecs;
+    use crate::rad_register_all_decoders;
     use crate::rad_register_all_demuxers;
 
     #[test]
@@ -299,8 +306,9 @@ mod test {
         let mut dmx_reg = RegisteredDemuxers::new();
         rad_register_all_demuxers(&mut dmx_reg);
         let mut dec_reg = RegisteredDecoders::new();
-        rad_register_all_codecs(&mut dec_reg);
+        rad_register_all_decoders(&mut dec_reg);
 
+        // sample: https://samples.mplayerhq.hu/game-formats/bink/ActivisionLogo.bik
         let file = "assets/RAD/ActivisionLogo.bik";
         test_decode_audio("bink", file, None, None/*Some("bink")*/, &dmx_reg, &dec_reg);
     }
@@ -309,8 +317,9 @@ mod test {
         let mut dmx_reg = RegisteredDemuxers::new();
         rad_register_all_demuxers(&mut dmx_reg);
         let mut dec_reg = RegisteredDecoders::new();
-        rad_register_all_codecs(&mut dec_reg);
+        rad_register_all_decoders(&mut dec_reg);
 
+        // sample from Heroes of Might and Magic 3
         let file = "assets/RAD/NWCLOGO.BIK";
         test_decode_audio("bink", file, None, None/*Some("bink")*/, &dmx_reg, &dec_reg);
     }