make edge_emu() accept block alignment
[nihav.git] / nihav-duck / src / codecs / vp6.rs
index 82963fadb0a99b88d1c993ae0972687daf813f01..241a13a72ef947b3e76874de7bdb647f92026ad3 100644 (file)
@@ -1,6 +1,7 @@
 use nihav_core::codecs::*;
 use nihav_core::io::bitreader::*;
-use nihav_core::codecs::blockdsp::edge_emu;
+use nihav_codec_support::codecs::{MV, ZIGZAG};
+use nihav_codec_support::codecs::blockdsp::edge_emu;
 use super::vpcommon::*;
 use super::vp56::*;
 
@@ -36,7 +37,7 @@ impl VP56Parser for VP6BR {
         let mut hdr = VP56Header::default();
 // horrible hack to match VP6 header parsing
         let src = bc.src;
-        let mut br = BitReader::new(src, src.len(), BitReaderMode::BE);
+        let mut br = BitReader::new(src, BitReaderMode::BE);
 
         hdr.is_intra                            = !br.read_bool()?;
         hdr.is_golden = hdr.is_intra;
@@ -556,7 +557,7 @@ fn get_block(dst: &mut [u8], dstride: usize, src: NAVideoBufferRef<u8>, comp: us
     if (sx - 2 < 0) || (sx + 8 + 2 > (w as isize)) ||
        (sy - 2 < 0) || (sy + 8 + 2 > (h as isize)) {
         edge_emu(&src, sx - 2, sy - 2, 8 + 2 + 2, 8 + 2 + 2,
-                 dst, dstride, comp);
+                 dst, dstride, comp, 0);
     } else {
         let sstride = src.get_stride(comp);
         let soff    = src.get_offset(comp);
@@ -726,9 +727,9 @@ pub fn get_decoder_vp6_alpha() -> Box<NADecoder + Send> {
 mod test {
     use nihav_core::codecs::RegisteredDecoders;
     use nihav_core::demuxers::RegisteredDemuxers;
-    use nihav_core::test::dec_video::*;
-    use crate::codecs::duck_register_all_codecs;
-    use nihav_commonfmt::demuxers::generic_register_all_demuxers;
+    use nihav_codec_support::test::dec_video::*;
+    use crate::duck_register_all_codecs;
+    use nihav_commonfmt::generic_register_all_demuxers;
 
     #[test]
     fn test_vp6() {