]> git.nihav.org Git - nihav.git/blobdiff - src/codecs/indeo/imc.rs
fix let mut foo = &mut bar warning
[nihav.git] / src / codecs / indeo / imc.rs
index b96b8a739a4132ace6c315e21617b7afbdbcccad..5ba1575bdc03703666ba3fe653c5b4ed241445db 100644 (file)
@@ -434,7 +434,7 @@ impl IMCDecoder {
     }
 
     fn read_level_coeffs_raw(&mut self, br: &mut BitReader, ch: usize) -> DecoderResult<()> {
-        let mut ch_data = &mut self.ch_data[ch];
+        let ch_data = &mut self.ch_data[ch];
         let maxc_pos = br.read(5)? as usize;
         let max_coef = br.read(7)? as u8;
 
@@ -458,7 +458,7 @@ impl IMCDecoder {
     }
 
     fn calculate_channel_values(&mut self, ch: usize) {
-        let mut ch_data = &mut self.ch_data[ch];
+        let ch_data = &mut self.ch_data[ch];
         let mut tmp2: [f32; BANDS+1] = [0.0; BANDS+1];
         let mut tmp3: [f32; BANDS] = [0.0; BANDS];
 
@@ -526,7 +526,7 @@ impl IMCDecoder {
             self.ba.keep_flag[i] = level[i] == 16;
         }
         if reset {
-            let mut ch_data = &mut self.ch_data[ch];
+            let ch_data = &mut self.ch_data[ch];
             let (mut c1, mut c2) = calc_maxcoef(level[0] as f32);
             ch_data.new_floor[0] = c1;
             ch_data.log_floor[0] = c2;
@@ -550,7 +550,7 @@ impl IMCDecoder {
                 }
             }
         } else {
-            let mut ch_data = &mut self.ch_data[ch];
+            let ch_data = &mut self.ch_data[ch];
             for i in 0..BANDS {
                 if level[i] < 16 {
                     let lval = level[i] - 7;
@@ -582,7 +582,7 @@ impl IMCDecoder {
     }
 
     fn read_skip_flags(&mut self, br: &mut BitReader) -> DecoderResult<()> {
-        let mut ba = &mut self.ba;
+        let ba = &mut self.ba;
         for band in 0..BANDS {
             if !ba.band_present[band] || ba.band_width[band] == 0 { continue; }
 
@@ -697,7 +697,7 @@ impl IMCDecoder {
 
     fn inv_quant(&mut self, ch: usize, raw_coeffs: bool) {
         let qidx: usize = if raw_coeffs { 1 } else { 0 };
-        let mut ch_data = &mut self.ch_data[ch];
+        let ch_data = &mut self.ch_data[ch];
         for band in 0..BANDS {
             for i in IMC_BANDS[band]..IMC_BANDS[band + 1] {
                 ch_data.cw[i] = 0.0;
@@ -1107,69 +1107,15 @@ const IMC_CB_SELECTOR: [[usize; BANDS]; 4] = [
 
 #[cfg(test)]
 mod test {
-    use codecs::*;
-    use demuxers::*;
-    use io::byteio::*;
-    use test::wavwriter::WavWriter;
-
+    use test::dec_video::*;
     #[test]
     fn test_imc() {
-        let avi_dmx = find_demuxer("avi").unwrap();
-//        let mut file = File::open("assets/neal73_saber.avi").unwrap();
-//        let mut file = File::open("assets/IMC/hvalen.avi").unwrap();
-//        let mut file = File::open("assets/IMC/8khz.avi").unwrap();
-//        let mut file = File::open("assets/STsKlassFist-1a.avi").unwrap();
-        let mut file = File::open("assets/IMC/Angel Bday.avi").unwrap();
-        let mut fr = FileReader::new_read(&mut file);
-        let mut br = ByteReader::new(&mut fr);
-        let mut dmx = avi_dmx.new_demuxer(&mut br);
-        dmx.open().unwrap();
-
-        let mut file = File::create("assets/imc-out.wav").unwrap();
-        let mut fw = FileWriter::new_write(&mut file);
-        let mut wr = ByteWriter::new(&mut fw);
-        let mut wwr = WavWriter::new(&mut wr);
-        let mut wrote_header = false;
-
-        let mut decs: Vec<Option<Box<NADecoder>>> = Vec::new();
-        for i in 0..dmx.get_num_streams() {
-            let s = dmx.get_stream(i).unwrap();
-            let info = s.get_info();
-            let decfunc = find_decoder(info.get_name());
-            if let Some(df) = decfunc {
-                if info.is_audio() {
-                    let mut dec = (df)();
-                    dec.init(info).unwrap();
-                    decs.push(Some(dec));
-                } else {
-                    decs.push(None);
-                }
-            } else {
-                decs.push(None);
-            }
-        }
-
-        loop {
-            let pktres = dmx.get_frame();
-            if let Err(e) = pktres {
-                if e == DemuxerError::EOF { break; }
-                panic!("error");
-            }
-            let pkt = pktres.unwrap();
-            //if pkt.get_pts().unwrap() > 10 { break; }
-            let streamno = pkt.get_stream().get_id() as usize;
-            if let Some(ref mut dec) = decs[streamno] {
-                let frm_ = dec.decode(&pkt).unwrap();
-                let frm = frm_.borrow();
-                if frm.get_info().is_audio() {
-                    if !wrote_header {
-                        wwr.write_header(frm.get_info().as_ref().get_properties().get_audio_info().unwrap()).unwrap();
-                        wrote_header = true;
-                    }
-                    wwr.write_frame(frm.get_buffer()).unwrap();
-                }
-            }
-        }
-panic!("the end");
+//        let file = "assets/neal73_saber.avi";
+//        let file = "assets/IMC/hvalen.avi";
+        let file = "assets/IMC/8khz.avi";
+//        let file = "assets/STsKlassFist-1a.avi";
+//        let file = "assets/IMC/Angel Bday.avi";
+        test_decode_audio("avi", file, None, "imc");
+        //test_file_decoding("avi", file, None, false, true, None);
     }
 }