switch to refcounted buffers
[nihav.git] / nihav-indeo / src / codecs / indeo3.rs
index f4b2d3c01da2b52c2fe72b531e592a00a39cedf2..a99db74667b8ac2085569746cf9864b3747b97ab 100644 (file)
@@ -65,7 +65,7 @@ impl Buffers {
             let width  = if planeno == 0 { self.width }  else { self.width >> 2 };
             let height = if planeno == 0 { self.height } else { self.height >> 2 };
             let src = if self.fbuf { &self.buf1[0..] } else { &self.buf2[0..] };
-            let mut dst = fbuf.get_data_mut();
+            let dst = fbuf.get_data_mut().unwrap();
             for _ in 0..height {
                 for x in 0..width {
                     dst[doff + x] = src[soff + x] * 2;
@@ -237,6 +237,9 @@ fn fill_block8x8(bufs: &mut Buffers, doff: usize, stride: usize, h: usize, topli
     }
 
     let start = if !topline { 0 } else { 1 };
+    if topline {
+        didx += stride;
+    }
     if bufs.fbuf {
         for _ in start..h {
             for i in 0..8 { bufs.buf1[didx + i] = buf[i]; }
@@ -804,7 +807,7 @@ mod test {
         let mut dec_reg = RegisteredDecoders::new();
         indeo_register_all_codecs(&mut dec_reg);
 
-        test_file_decoding("avi", "assets/iv32_example.avi", Some(10), true, false, None, &dmx_reg, &dec_reg);
+        test_file_decoding("avi", "assets/Indeo/iv32_example.avi", Some(10), true, false, None, &dmx_reg, &dec_reg);
     }
 }