diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2018-02-04 18:49:49 +0100 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2018-02-04 18:49:49 +0100 |
commit | 9e8a5d2d663e9e88cac9cff09d12385320331c3d (patch) | |
tree | 5fc6e68dcad4609139a21048565db5d6fcd5e1c3 /src | |
parent | e12e2ad3f0756e3ab0c9a35f07b22997db773caf (diff) | |
download | nihav-9e8a5d2d663e9e88cac9cff09d12385320331c3d.tar.gz |
clearvideo: implement skip frame
Diffstat (limited to 'src')
-rw-r--r-- | src/codecs/clearvideo.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/codecs/clearvideo.rs b/src/codecs/clearvideo.rs index 6b880e1..7b31c0d 100644 --- a/src/codecs/clearvideo.rs +++ b/src/codecs/clearvideo.rs @@ -721,6 +721,14 @@ impl NADecoder for ClearVideoDecoder { 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); |