-use io::byteio::{ByteReader,MemoryReader};
-use io::bitreader::*;
-use io::codebook::*;
-use formats;
+use crate::io::byteio::{ByteReader,MemoryReader};
+use crate::io::bitreader::*;
+use crate::io::codebook::*;
+use crate::formats;
use super::*;
use std::fmt;
use std::ops::{Add, Sub};
0
};
if src.len() <= off + 1 { return Err(DecoderError::ShortData); }
+
+ if (src[off] & 0x7F) == 0x30 {
+ let mut frm = NAFrame::new_from_pkt(pkt, self.info.clone(), NABufferType::None);
+ frm.set_keyframe(false);
+ frm.set_frame_type(FrameType::Skip);
+ return Ok(Rc::new(RefCell::new(frm)));
+ }
+
let is_intra = (src[off] & 2) == 2;
let mut br = BitReader::new(&src[(off + 1)..], src.len() - (off + 1), BitReaderMode::BE);
#[cfg(test)]
mod test {
- use test::dec_video::test_file_decoding;
+ use crate::test::dec_video::test_file_decoding;
#[test]
fn test_clv() {
- test_file_decoding("avi", "assets/TalkingHead_352x288.avi", Some(10), true, false, Some("clv"));
+ test_file_decoding("avi", "assets/TalkingHead_352x288.avi", Some(10), true, false, None/*Some("clv")*/);
// test_file_decoding("avi", "assets/basketball.avi", None/*Some(10)*/, true, false, Some("clv1"));
//panic!("debug");
}