X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-rad%2Fsrc%2Fcodecs%2Fbink2.rs;h=e56bff7fc192bc6137e82eab93074c98221b37ea;hb=f9be4e750dccff762b9a3d894faec50ffdb59233;hp=eb3158b1a8261d5376b2aae11ce8bde5c5f930dc;hpb=c2a4fa57b414ec496948a1812344a60bd72e1845;p=nihav.git diff --git a/nihav-rad/src/codecs/bink2.rs b/nihav-rad/src/codecs/bink2.rs index eb3158b..e56bff7 100644 --- a/nihav-rad/src/codecs/bink2.rs +++ b/nihav-rad/src/codecs/bink2.rs @@ -1713,11 +1713,11 @@ fn decode_cbp_luma_old(br: &mut BitReader, prev_cbp: u32) -> DecoderResult if !br.read_bool()? { nib1 = br.read(4)?; } - new_cbp = new_cbp | (nib1 << 4); + new_cbp |= nib1 << 4; if !br.read_bool()? { nib1 = br.read(4)?; } - new_cbp = new_cbp | (nib1 << 8); + new_cbp |= nib1 << 8; if !br.read_bool()? { nib1 = br.read(4)?; } @@ -1926,9 +1926,7 @@ impl NADecoder for Bink2Decoder { let mut buf; self.key_frame = pkt.is_keyframe(); - let bufret = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 5); - if let Err(_) = bufret { return Err(DecoderError::InvalidData); } - let bufinfo = bufret.unwrap(); + let bufinfo = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 5)?; buf = bufinfo.get_vbuf().unwrap(); self.decode_frame_new(&mut br, &mut buf, pkt.is_keyframe())?; @@ -1939,6 +1937,9 @@ impl NADecoder for Bink2Decoder { frm.set_frame_type(if self.key_frame { FrameType::I } else { FrameType::P }); Ok(frm.into_ref()) } + fn flush(&mut self) { + self.ips.clear(); + } } pub fn get_decoder() -> Box {