fix import crate for codec tests
[nihav.git] / nihav-rad / src / codecs / binkvid.rs
index 69e30fe2a65d9abbb9664a91aa822648e03901cc..d4216bc93b02da7ae0c539eda3fdc4fe7a9055d2 100644 (file)
@@ -3,6 +3,7 @@ use nihav_core::codecs::*;
 use nihav_core::io::byteio::*;
 use nihav_core::io::bitreader::*;
 use nihav_core::io::codebook::*;
+use nihav_codec_support::codecs::{IPShuffler, HAMShuffler};
 
 const SKIP_BLOCK: u8 = 0;
 const SCALED_BLOCK: u8 = 1;
@@ -1149,7 +1150,7 @@ fn read_residue(br: &mut BitReader, block: &mut [i32; 64], mut masks_count: usiz
         }
         mask >>= 1;
     }
-    
+
     Ok(())
 }
 
@@ -1209,7 +1210,7 @@ impl NADecoder for BinkDecoder {
     fn decode(&mut self, _supp: &mut NADecoderSupport, pkt: &NAPacket) -> DecoderResult<NAFrameRef> {
         let src = pkt.get_buffer();
 
-        let mut br = BitReader::new(&src, src.len(), BitReaderMode::LE);
+        let mut br = BitReader::new(&src, BitReaderMode::LE);
 
         let mut buf;
         self.key_frame = pkt.is_keyframe();
@@ -1258,9 +1259,12 @@ println!("decode frame {} b={} i={}", pkt.get_pts().unwrap(), self.is_ver_b, sel
         frm.set_frame_type(FrameType::P);
         Ok(frm.into_ref())
     }
+    fn flush(&mut self) {
+        self.ips.clear();
+    }
 }
 
-pub fn get_decoder() -> Box<dyn NADecoder> {
+pub fn get_decoder() -> Box<dyn NADecoder + Send> {
     Box::new(BinkDecoder::new())
 }
 
@@ -1268,9 +1272,9 @@ pub fn get_decoder() -> Box<dyn NADecoder> {
 mod test {
     use nihav_core::codecs::RegisteredDecoders;
     use nihav_core::demuxers::RegisteredDemuxers;
-    use nihav_core::test::dec_video::*;
-    use crate::codecs::rad_register_all_codecs;
-    use crate::demuxers::rad_register_all_demuxers;
+    use nihav_codec_support::test::dec_video::*;
+    use crate::rad_register_all_codecs;
+    use crate::rad_register_all_demuxers;
     #[test]
     fn test_binkvid() {
         let mut dmx_reg = RegisteredDemuxers::new();