}
}
pub fn is_fwd(self) -> bool {
- match self {
+ matches!(self,
MBType::MBP16x16 | MBType::MBP16x16Mix |
MBType::MBP16x8 | MBType::MBP8x16 | MBType::MBP8x8 |
- MBType::MBForward => true,
- _ => false,
- }
+ MBType::MBForward)
}
pub fn is_bwd(self) -> bool {
- match self {
- MBType::MBBidir | MBType::MBBackward => true,
- _ => false,
- }
+ matches!(self, MBType::MBBidir | MBType::MBBackward)
}
pub fn has_mv_dir(self, fwd: bool) -> bool {
match self {
}
}
pub fn is_nomv(self) -> bool {
- match self {
- MBType::MBIntra | MBType::MBIntra16 | MBType::MBSkip | MBType::MBDirect => true,
- _ => false,
- }
+ matches!(self, MBType::MBIntra | MBType::MBIntra16 | MBType::MBSkip | MBType::MBDirect)
}
/*pub fn is_16x16(self) -> bool {
match self {
}
fn reset(&mut self) {
let size = self.w * self.h;
- self.mv_f.truncate(0);
+ self.mv_f.clear();
self.mv_f.resize(size, ZERO_MV);
- self.mv_b.truncate(0);
+ self.mv_b.clear();
self.mv_b.resize(size, ZERO_MV);
- self.has_f.truncate(0);
+ self.has_f.clear();
self.has_f.resize(size >> 2, false);
- self.has_b.truncate(0);
+ self.has_b.clear();
self.has_b.resize(size >> 2, false);
}
fn fill(&mut self, mb_x: usize, mb_y: usize, fwd: bool, mv: MV) {
fn parse_slice_offsets(src: &[u8], offsets: &mut Vec<usize>) -> DecoderResult<()> {
let num_slices = (src[0] as usize) + 1;
let ini_off = num_slices * 8 + 1;
- offsets.truncate(0);
+ offsets.clear();
if ini_off >= src.len() { return Err(DecoderError::ShortData); }
}
Ok(())
}
- fn fill_deblock_flags(&self, sstate: &SState, mb_pos: usize, mbinfo: &mut Vec<RV34MBInfo>) {
+ fn fill_deblock_flags(&self, sstate: &SState, mb_pos: usize, mbinfo: &mut [RV34MBInfo]) {
let mbt = mbinfo[mb_pos].mbtype;
let mut hmvmask = 0;
let mut vmvmask = 0;
}
}
- #[allow(clippy::cyclomatic_complexity)]
+ #[allow(clippy::cognitive_complexity)]
pub fn parse_frame(&mut self, supp: &mut NADecoderSupport, src: &[u8], bd: &mut dyn RV34BitstreamDecoder) -> DecoderResult<(NABufferType, FrameType, u64)> {
let mut slice_offs: Vec<usize> = Vec::new();
parse_slice_offsets(src, &mut slice_offs)?;