X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-qt%2Fsrc%2Fcodecs%2Fsvq3.rs;fp=nihav-qt%2Fsrc%2Fcodecs%2Fsvq3.rs;h=1a87ca62200fd76958a8f8ba898789ef0f38a2c2;hp=3852d6d5c22c95c79a36049dbfba6c972dd88c8d;hb=e6aaad5c5273cd814b5748b7faf3751835a37217;hpb=625751036014b099fd9c126397bc973cb0543130 diff --git a/nihav-qt/src/codecs/svq3.rs b/nihav-qt/src/codecs/svq3.rs index 3852d6d..1a87ca6 100644 --- a/nihav-qt/src/codecs/svq3.rs +++ b/nihav-qt/src/codecs/svq3.rs @@ -261,7 +261,7 @@ fn decode_alt_slice(br: &mut BitReader, blk: &mut [i16; 16], mut idx: usize, end SVQ3_RUNLEVEL_ALT[val as usize] } else { let run = (val & 0x7) as usize; - (run, ((val >> 3) as i16) + RUN_ADD_ALT[(run as usize).min(RUN_ADD_ALT.len() - 1)]) + (run, ((val >> 3) as i16) + RUN_ADD_ALT[run.min(RUN_ADD_ALT.len() - 1)]) }; idx += run; validate!(idx < end); @@ -289,7 +289,7 @@ fn decode_block(br: &mut BitReader, blk: &mut [i16; 16], start: usize, alt: bool SVQ3_RUNLEVEL[val as usize] } else { let run = (val & 0xF) as usize; - (run, ((val >> 4) as i16) + RUN_ADD[(run as usize).min(RUN_ADD.len() - 1)]) + (run, ((val >> 4) as i16) + RUN_ADD[run.min(RUN_ADD.len() - 1)]) }; idx += run; validate!(idx < blk.len()); @@ -674,7 +674,7 @@ unimplemented!(); } else { MCMode::Pixel }; - let (bw, bh) = SVQ3_PART_SIZES[mb_type as usize]; + let (bw, bh) = SVQ3_PART_SIZES[mb_type]; let bw = (bw >> 2) as usize; let bh = (bh >> 2) as usize; @@ -1167,9 +1167,7 @@ impl NADecoder for SVQ3Decoder { } let ret = self.decode_slice(&mut br, &hdr, &mut dframe); std::mem::swap(&mut sbuf, &mut self.slice_buf); - if let Err(err) = ret { - return Err(err); - } + ret?; slice_prepared = false; off += slice_len; }