X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-itu%2Fsrc%2Fcodecs%2Fh264%2Fmod.rs;h=220ed9c6ed9e2b788287953a09dd87e494586656;hp=a0a94a4e3095c91a46de0a137871278474e291f2;hb=42005e259dd77147b77c7a0057aa3cf033e331d0;hpb=15845d1a4eafe534d6f9064ef8a3622d377c4be6 diff --git a/nihav-itu/src/codecs/h264/mod.rs b/nihav-itu/src/codecs/h264/mod.rs index a0a94a4..220ed9c 100644 --- a/nihav-itu/src/codecs/h264/mod.rs +++ b/nihav-itu/src/codecs/h264/mod.rs @@ -594,7 +594,7 @@ println!("PAFF?"); } else { 0 }; - recon_mb(&mut frm, slice_hdr, &mb_info, &mut self.sstate, &self.frame_refs, &mut self.mc_dsp, weight_mode); + recon_mb(&mut frm, slice_hdr, mb_info, &mut self.sstate, &self.frame_refs, &mut self.mc_dsp, weight_mode); } else { for (dline, src) in frm.data[frm.offset[0] + xpos + ypos * frm.stride[0]..].chunks_mut(frm.stride[0]).take(16).zip(self.ipcm_buf.chunks(16)) { dline[..16].copy_from_slice(src); @@ -655,8 +655,7 @@ _ => {}, ]; let mut mb_idx = slice_hdr.first_mb_in_slice as usize; - let mut mb_info = CurrentMBInfo::default(); - mb_info.qp_y = slice_hdr.slice_qp; + let mut mb_info = CurrentMBInfo { qp_y: slice_hdr.slice_qp, ..Default::default() }; let skip_type = if slice_hdr.slice_type.is_p() { MBType::PSkip } else { MBType::BSkip }; while br.tell() < full_size && mb_idx < self.num_mbs { mb_info.coded = [false; 25]; @@ -754,8 +753,7 @@ _ => {}, let skip_type = if slice_hdr.slice_type.is_p() { MBType::PSkip } else { MBType::BSkip }; let mut last_qp_diff = false; - let mut mb_info = CurrentMBInfo::default(); - mb_info.qp_y = slice_hdr.slice_qp; + let mut mb_info = CurrentMBInfo { qp_y: slice_hdr.slice_qp, ..Default::default() }; while mb_idx < self.num_mbs { mb_info.coded = [false; 25]; @@ -771,7 +769,7 @@ _ => {}, if self.is_mbaff && (((mb_idx & 1) == 0) || (prev_mb_skipped && ((mb_idx & 1) == 1))) { let _mb_field_decoding = cabac.decode_bit(70); } - let mut mb_type = cabac_decode_mb_type(cabac, &slice_hdr, &self.sstate); + let mut mb_type = cabac_decode_mb_type(cabac, slice_hdr, &self.sstate); mb_info.mb_type = mb_type; mb_info.transform_size_8x8 = false; if mb_type == MBType::PCM {