X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-itu%2Fsrc%2Fcodecs%2Fh264%2Fmod.rs;h=3034e0768608feb4fba3679de15d61ad97216bc6;hb=9f9a08fb5b882313f5d1ff4f909d4836f008b660;hp=976b8b575a47178af71eb5095132ef5fff33fa3c;hpb=4a1ca15c9298340e8f2cb2ad6016109375cc45b9;p=nihav.git diff --git a/nihav-itu/src/codecs/h264/mod.rs b/nihav-itu/src/codecs/h264/mod.rs index 976b8b5..3034e07 100644 --- a/nihav-itu/src/codecs/h264/mod.rs +++ b/nihav-itu/src/codecs/h264/mod.rs @@ -194,7 +194,7 @@ struct H264Decoder { fn unescape_nal(src: &[u8], dst: &mut Vec) -> usize { let mut off = 0; let mut zrun = 0; - dst.truncate(0); + dst.clear(); dst.reserve(src.len()); while off < src.len() { dst.push(src[off]); @@ -657,7 +657,7 @@ println!("PAFF?"); } } } - #[allow(clippy::cyclomatic_complexity)] + #[allow(clippy::cognitive_complexity)] fn handle_macroblock(&mut self, mb_info: &mut CurrentMBInfo) { let pps = &self.pps[self.cur_pps]; @@ -1461,6 +1461,7 @@ mod test { use crate::itu_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; + // samples if not specified otherwise come from H.264 conformance suite mod raw_demux; mod conformance; use self::raw_demux::RawH264DemuxerCreator; @@ -1503,6 +1504,7 @@ mod test { [0xa90454f5, 0x7875d5db, 0xbab234bd, 0xe6ce1193]])); } + // mostly static music video downloaded with youtube-dl #[test] fn test_h264_real1() { let mut dmx_reg = RegisteredDemuxers::new(); @@ -1576,6 +1578,7 @@ mod test { [0x94fee093, 0x78ad89b3, 0xf20e882b, 0x941425db], [0xc3eb1a78, 0x4b4e098a, 0xcbcf9bb4, 0xfd5b5426]])); } + // a sample downloaded from gfycat.com #[test] fn test_h264_real2() { let mut dmx_reg = RegisteredDemuxers::new();