X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fcodecs%2Findeo%2Findeo2.rs;h=61f1c777c8945fc583bb0b8e3355963a8d9b5057;hb=4a9d2671dbfa6cab657ef52d321f153174cb6e1b;hp=681101fe62a3a41fb7af5bc3f2d3b0c7f85f8b1e;hpb=88c58b1b958a5478dca6595e2efc3a1a6b5f7e19;p=nihav.git diff --git a/src/codecs/indeo/indeo2.rs b/src/codecs/indeo/indeo2.rs index 681101f..61f1c77 100644 --- a/src/codecs/indeo/indeo2.rs +++ b/src/codecs/indeo/indeo2.rs @@ -1,6 +1,6 @@ -use io::bitreader::*; -use io::codebook::*; -use formats; +use crate::io::bitreader::*; +use crate::io::codebook::*; +use crate::formats; use super::super::*; static INDEO2_DELTA_TABLE: [[u8; 256]; 4] = [ @@ -206,7 +206,7 @@ impl Indeo2Decoder { let cb = &self.cb; let mut data = buf.get_data_mut(); - let mut framebuf: &mut [u8] = data.as_mut_slice(); + let framebuf: &mut [u8] = data.as_mut_slice(); let table = &INDEO2_DELTA_TABLE[tableno]; @@ -269,7 +269,7 @@ impl Indeo2Decoder { let cb = &self.cb; let mut data = buf.get_data_mut(); - let mut framebuf: &mut [u8] = data.as_mut_slice(); + let framebuf: &mut [u8] = data.as_mut_slice(); let table = &INDEO2_DELTA_TABLE[tableno]; @@ -367,51 +367,9 @@ pub fn get_decoder() -> Box { #[cfg(test)] mod test { - use codecs::*; - use demuxers::*; - use io::byteio::*; - + use crate::test::dec_video::test_file_decoding; #[test] fn test_indeo2() { - let avi_dmx = find_demuxer("avi").unwrap(); - let mut file = File::open("assets/laser05.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 decs: Vec>> = 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 { - let mut dec = (df)(); - dec.init(info).unwrap(); - decs.push(Some(dec)); - } 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(); -// if pkt.get_stream().get_info().is_video() { -// write_pgmyuv("iv2", streamno, pkt.get_pts().unwrap(), frm); -// } else { -// write_sound("iv2", streamno, frm, pkt.get_pts().unwrap() == 0); -// } - } - } + test_file_decoding("avi", "assets/laser05.avi", Some(10), true, false, None); } }