X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-indeo%2Fsrc%2Fcodecs%2Findeo3.rs;h=186eb4f268dc4ca7661cc140d72f5bfc331bb939;hb=c2a4fa57b414ec496948a1812344a60bd72e1845;hp=ebf941c6be9c249ea26dac252b9fa1692ef7597a;hpb=2422d9699cd56cbb86ac32b3e8dd026e20a89db5;p=nihav.git diff --git a/nihav-indeo/src/codecs/indeo3.rs b/nihav-indeo/src/codecs/indeo3.rs index ebf941c..186eb4f 100644 --- a/nihav-indeo/src/codecs/indeo3.rs +++ b/nihav-indeo/src/codecs/indeo3.rs @@ -223,7 +223,7 @@ fn fill_block8x8(bufs: &mut Buffers, doff: usize, stride: usize, h: usize, topli } else if bufs.fbuf { for i in 0..8 { buf[i] = bufs.buf1[doff - stride + i]; } } else { - for i in 0..8 { buf[i] = bufs.buf1[doff - stride + i]; } + for i in 0..8 { buf[i] = bufs.buf2[doff - stride + i]; } } if topline && !firstline { for i in 0..4 { buf[i * 2 + 1] = buf[i * 2]; } @@ -688,7 +688,7 @@ const FLAG_KEYFRAME: u16 = 1 << 2; const FLAG_NONREF: u16 = 1 << 8; impl NADecoder for Indeo3Decoder { - fn init(&mut self, info: NACodecInfoRef) -> DecoderResult<()> { + fn init(&mut self, _supp: &mut NADecoderSupport, info: NACodecInfoRef) -> DecoderResult<()> { if let NACodecTypeInfo::Video(vinfo) = info.get_properties() { let w = vinfo.get_width(); let h = vinfo.get_height(); @@ -701,7 +701,7 @@ impl NADecoder for Indeo3Decoder { Err(DecoderError::InvalidData) } } - fn decode(&mut self, pkt: &NAPacket) -> DecoderResult { + fn decode(&mut self, _supp: &mut NADecoderSupport, pkt: &NAPacket) -> DecoderResult { let src = pkt.get_buffer(); let mut mr = MemoryReader::new_read(&src); let mut br = ByteReader::new(&mut mr); @@ -783,11 +783,11 @@ impl NADecoder for Indeo3Decoder { let mut frm = NAFrame::new_from_pkt(pkt, self.info.clone(), bufinfo); frm.set_keyframe(intraframe); frm.set_frame_type(if intraframe { FrameType::I } else { FrameType::P }); - Ok(Rc::new(RefCell::new(frm))) + Ok(frm.into_ref()) } } -pub fn get_decoder() -> Box { +pub fn get_decoder() -> Box { Box::new(Indeo3Decoder::new()) }