]> git.nihav.org Git - nihav.git/commitdiff
nihav_codec_support: fix or prune some clippy warnings
authorKostya Shishkov <kostya.shishkov@gmail.com>
Wed, 6 Nov 2024 17:03:44 +0000 (18:03 +0100)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 9 Nov 2024 14:24:40 +0000 (15:24 +0100)
nihav-codec-support/src/lib.rs
nihav-codec-support/src/test/dec_video.rs
nihav-codec-support/src/vq/generic_elbg.rs

index 076b0ae1fa86c05abd160ab362eee75113dbf30d..974e4d49f0e5539d50720cbc5c839f317c4c22eb 100644 (file)
@@ -1,22 +1,12 @@
 //! Code and data for easier development of NihAV decoders.
-#[allow(clippy::cast_lossless)]
-#[allow(clippy::identity_op)]
-#[allow(clippy::too_many_arguments)]
-#[allow(clippy::unreadable_literal)]
 pub mod codecs;
 
 #[cfg(feature="dsp")]
-#[allow(clippy::excessive_precision)]
-#[allow(clippy::identity_op)]
-#[allow(clippy::manual_memcpy)]
-#[allow(clippy::needless_range_loop)]
-#[allow(clippy::unreadable_literal)]
 pub mod dsp;
 
 pub mod data;
 
 #[allow(clippy::identity_op)]
-#[allow(clippy::many_single_char_names)]
 pub mod imgwrite;
 
 #[allow(clippy::too_many_arguments)]
@@ -24,7 +14,6 @@ pub mod imgwrite;
 pub mod test;
 
 #[cfg(feature="vq")]
-#[allow(clippy::needless_range_loop)]
 pub mod vq;
 
 extern crate nihav_core;
index 9833f23b3af58bea2ab4f3138d757ea8c935e316..ba2853598efbee8bf676c93a1b4aee0a74d3e56e 100644 (file)
@@ -13,6 +13,8 @@ pub use super::ExpectedTestResult;
 
 const OUTPUT_PREFIX: &str = "assets/test_out/";
 
+type PossibleDecoder = Option<(Box<NADecoderSupport>, Box<dyn NADecoder>)>;
+
 /*fn open_wav_out(pfx: &str, strno: usize) -> WavWriter {
     let name = format!("assets/{}out{:02}.wav", pfx, strno);
     let mut file = File::create(name).unwrap();
@@ -42,7 +44,7 @@ pub fn test_file_decoding(demuxer: &str, name: &str, limit: Option<u64>,
     let mut br = ByteReader::new(&mut fr);
     let mut dmx = create_demuxer(dmx_f, &mut br).unwrap();
 
-    let mut decs: Vec<Option<(Box<NADecoderSupport>, Box<dyn NADecoder>)>> = Vec::new();
+    let mut decs: Vec<PossibleDecoder> = Vec::new();
     for i in 0..dmx.get_num_streams() {
         let s = dmx.get_stream(i).unwrap();
         let info = s.get_info();
@@ -98,7 +100,7 @@ pub fn test_decode_audio(demuxer: &str, name: &str, limit: Option<u64>, audio_pf
     let mut br = ByteReader::new(&mut fr);
     let mut dmx = create_demuxer(dmx_f, &mut br).unwrap();
 
-    let mut decs: Vec<Option<(Box<NADecoderSupport>, Box<dyn NADecoder>)>> = Vec::new();
+    let mut decs: Vec<PossibleDecoder> = Vec::new();
     for i in 0..dmx.get_num_streams() {
         let s = dmx.get_stream(i).unwrap();
         let info = s.get_info();
@@ -268,7 +270,7 @@ pub fn test_decoding(demuxer: &str, dec_name: &str, filename: &str, limit: Optio
     let mut br = ByteReader::new(&mut fr);
     let mut dmx = create_demuxer(dmx_f, &mut br).unwrap();
 
-    let mut decs: Vec<Option<(Box<NADecoderSupport>, Box<dyn NADecoder>)>> = Vec::new();
+    let mut decs: Vec<PossibleDecoder> = Vec::new();
     let mut found = false;
     for i in 0..dmx.get_num_streams() {
         let s = dmx.get_stream(i).unwrap();
@@ -654,7 +656,7 @@ pub fn test_decode_images(demuxer: &str, name: &str, video_pfx: &str, limit: Opt
     let mut br = ByteReader::new(&mut fr);
     let mut dmx = create_demuxer(dmx_f, &mut br).unwrap();
 
-    let mut decs: Vec<Option<(Box<NADecoderSupport>, Box<dyn NADecoder>)>> = Vec::new();
+    let mut decs: Vec<PossibleDecoder> = Vec::new();
     for i in 0..dmx.get_num_streams() {
         let s = dmx.get_stream(i).unwrap();
         let info = s.get_info();
index d6c30d2a6de791d9d39268ea7c8d17a05810a53d..3925914fdb072a97b97b0330da1ab7f458819d05 100644 (file)
@@ -253,11 +253,11 @@ impl<T: VQElement+Default, TS: VQElementSum<T>> ELBG<T, TS> {
                     let mut closest_idx = *low_idx;
                     let mut closest_dist = std::u32::MAX;
                     let low_centr = self.clusters[*low_idx].centroid;
-                    for i in 0..dst.len() {//low_u.iter() {
-                        if i == *low_idx || used[i] {
+                    for (i, (&used, cluster)) in used.iter().zip(self.clusters.iter()).take(dst.len()).enumerate() {
+                        if i == *low_idx || used {
                             continue;
                         }
-                        let dist = self.clusters[i].centroid.dist(low_centr);
+                        let dist = cluster.centroid.dist(low_centr);
                         if closest_dist > dist {
                             closest_dist = dist;
                             closest_idx  = i;