From 0c055a714a93ecc387dd1a28c46d81b4bf8f0475 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Sat, 22 Aug 2026 19:11:51 +0200 Subject: [PATCH] vp8: use padded buffer for (near)empty data partitions --- nihav-duck/src/codecs/vp8.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nihav-duck/src/codecs/vp8.rs b/nihav-duck/src/codecs/vp8.rs index 465474f..32682b9 100644 --- a/nihav-duck/src/codecs/vp8.rs +++ b/nihav-duck/src/codecs/vp8.rs @@ -1274,8 +1274,13 @@ impl NADecoder for VP8Decoder { *start = data_start; } let mut bc_src = Vec::new(); + let mut tail_buf = [0; 8]; + let copy_len = src.len().min(4); + tail_buf[..copy_len].copy_from_slice(&src[src.len() - copy_len..]); for &off in part_offs.iter() { - bc_src.push(BoolCoder::new(&src[off..]).unwrap()); + let tail_len = src.len() - off; + let bc_s = if tail_len >= 4 { &src[off..] } else { &tail_buf[4 - tail_len..] }; + bc_src.push(BoolCoder::new(bc_s).unwrap()); } let vinfo = NAVideoInfo::new(self.width, self.height, false, YUV420_FORMAT); -- 2.39.5