X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-duck%2Fsrc%2Fcodecs%2Fvp8.rs;h=de5d32ab79c9d73b6b03892b82e421f8dcfe4fa3;hb=f44bddc9b5520507c7571b89763de668238d790a;hp=2969bfa9e697021fced83f83f935181fa574b94c;hpb=d0d21988dc679ac5d87968da01a55ec3dc375fee;p=nihav.git diff --git a/nihav-duck/src/codecs/vp8.rs b/nihav-duck/src/codecs/vp8.rs index 2969bfa..de5d32a 100644 --- a/nihav-duck/src/codecs/vp8.rs +++ b/nihav-duck/src/codecs/vp8.rs @@ -1281,13 +1281,10 @@ impl NADecoder for VP8Decoder { for start in part_offs[num_partitions..].iter_mut() { *start = data_start; } - let mut bc_src = unsafe { - let mut arr: [BoolCoder; 8] = std::mem::MaybeUninit::uninit().assume_init(); - for (bc, &off) in arr.iter_mut().zip(part_offs.iter()) { - std::ptr::write(bc, BoolCoder::new(&src[off..]).unwrap()); - } - arr - }; + let mut bc_src = Vec::new(); + for &off in part_offs.iter() { + bc_src.push(BoolCoder::new(&src[off..]).unwrap()); + } let vinfo = NAVideoInfo::new(self.width, self.height, false, YUV420_FORMAT); let ret = supp.pool_u8.get_free(); @@ -1547,6 +1544,7 @@ mod test { use crate::duck_register_all_decoders; use crate::duck_register_all_demuxers; + // all samples are from the official VP8 test bitstreams set fn test_vp8_core(name: &str, hash: [u32; 4]) { let mut dmx_reg = RegisteredDemuxers::new(); duck_register_all_demuxers(&mut dmx_reg);