X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-itu%2Fsrc%2Fcodecs%2Fh264%2Fpic_ref.rs;h=17a1b3b2ca1d5edc4a89447dd52899d136eac65a;hp=88d453d724fbbbae602ffbdbc91224bd65fd423d;hb=379524159c95f1c3639976ccf35f9d47cd9732ac;hpb=696e4e20bf7167121352f247893370cb83213d5c diff --git a/nihav-itu/src/codecs/h264/pic_ref.rs b/nihav-itu/src/codecs/h264/pic_ref.rs index 88d453d..17a1b3b 100644 --- a/nihav-itu/src/codecs/h264/pic_ref.rs +++ b/nihav-itu/src/codecs/h264/pic_ref.rs @@ -200,8 +200,8 @@ impl FrameRefs { self.long_term.resize(arg1 as usize, None); }, 5 => { - self.ref_pics.truncate(0); - self.long_term.truncate(0); + self.ref_pics.clear(); + self.long_term.clear(); }, 6 => { // assign an long term index to current pic - done elsewhere @@ -212,12 +212,13 @@ impl FrameRefs { Ok(()) } pub fn clear_refs(&mut self) { - self.ref_pics.truncate(0); - self.long_term.truncate(0); + self.ref_pics.clear(); + self.long_term.clear(); } + #[allow(clippy::cognitive_complexity)] pub fn select_refs(&mut self, sps: &SeqParameterSet, slice_hdr: &SliceHeader, cur_id: u32) { - self.ref_list0.truncate(0); - self.ref_list1.truncate(0); + self.ref_list0.clear(); + self.ref_list1.clear(); let pic_num_mask = if sps.log2_max_frame_num == 16 { 0xFFFF } else { @@ -408,7 +409,7 @@ impl FrameRefs { } } -fn form_ref_list(ref_list: &mut Vec>, ref_pics: &Vec, long_term: &Vec>, reord_info: &ReorderingInfo, cur_id: u16, pic_num_mask: u16) { +fn form_ref_list(ref_list: &mut Vec>, ref_pics: &[PictureInfo], long_term: &[Option], reord_info: &ReorderingInfo, cur_id: u16, pic_num_mask: u16) { let mut ref_pic_id = cur_id; for (&op, &num) in reord_info.reordering_of_pic_nums_idc.iter().zip(reord_info.abs_diff_or_num.iter()).take(reord_info.num_ops) { if op < 2 {