X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-commonfmt%2Fsrc%2Fcodecs%2Fclearvideo.rs;h=3c3ae9ad489ce46046e07dc5f2baf043d7937cb0;hb=1a967e6bad5f17943b4de0607078eb940ad5adfe;hp=85431784dee3ef3ad039c7541346538497367e36;hpb=38953fb529efad1b0b609eec77f7839e62ad2719;p=nihav.git diff --git a/nihav-commonfmt/src/codecs/clearvideo.rs b/nihav-commonfmt/src/codecs/clearvideo.rs index 8543178..3c3ae9a 100644 --- a/nihav-commonfmt/src/codecs/clearvideo.rs +++ b/nihav-commonfmt/src/codecs/clearvideo.rs @@ -5,7 +5,6 @@ use nihav_core::io::bitreader::*; use nihav_core::io::codebook::*; use nihav_core::formats; use nihav_core::codecs::*; -use nihav_core::frame::*; use std::fmt; use std::ops::{Add, Sub}; @@ -271,7 +270,7 @@ fn put_blocks(buf: &mut NAVideoBuffer, xpos: usize, ypos: usize, blk: &[[i32 let mut idxu = buf.get_offset(1) + xpos * 8 + ypos * 8 * strideu; let mut idxv = buf.get_offset(2) + xpos * 8 + ypos * 8 * stridev; - let mut data = buf.get_data_mut(); + let data = buf.get_data_mut().unwrap(); let framebuf: &mut [u8] = data.as_mut_slice(); for j in 0..8 { @@ -329,7 +328,7 @@ fn copy_block(dst: &mut NAVideoBuffer, src: &NAVideoBuffer, let sbuf: &[u8] = sdta.as_slice(); let dstride = dst.get_stride(plane); let mut doff = dst.get_offset(plane) + x + y * dstride; - let mut ddta = dst.get_data_mut(); + let ddta = dst.get_data_mut().unwrap(); let dbuf: &mut [u8] = ddta.as_mut_slice(); for _ in 0..size { let dst = &mut dbuf[doff..][..size]; @@ -352,7 +351,7 @@ fn copyadd_block(dst: &mut NAVideoBuffer, src: &NAVideoBuffer, let sbuf: &[u8] = sdta.as_slice(); let dstride = dst.get_stride(plane); let mut doff = dst.get_offset(plane) + x + y * dstride; - let mut ddta = dst.get_data_mut(); + let ddta = dst.get_data_mut().unwrap(); let dbuf: &mut [u8] = ddta.as_mut_slice(); for _ in 0..size { let dst = &mut dbuf[doff..][..size]; @@ -405,7 +404,7 @@ fn extend_edges(buf: &mut NAVideoBuffer, tile_size: usize) { let size = if comp == 0 { tile_size } else { tile_size >> 1 }; let stride = buf.get_stride(comp); let planeoff = buf.get_offset(comp); - let mut data = buf.get_data_mut(); + let data = buf.get_data_mut().unwrap(); let framebuf: &mut [u8] = data.as_mut_slice(); let right = size - (w & (size - 1)); @@ -738,7 +737,7 @@ impl NADecoder for ClearVideoDecoder { let vinfo = self.info.get_properties().get_video_info().unwrap(); let bufret = alloc_video_buffer(vinfo, self.tsize); if let Err(_) = bufret { return Err(DecoderError::InvalidData); } - let mut bufinfo = bufret.unwrap(); + let bufinfo = bufret.unwrap(); let mut buf = bufinfo.get_vbuf().unwrap(); if is_intra { @@ -774,11 +773,19 @@ pub fn get_decoder_rm() -> Box { #[cfg(test)] mod test { - use crate::test::dec_video::test_file_decoding; + use nihav_core::codecs::RegisteredDecoders; + use nihav_core::demuxers::RegisteredDemuxers; + use nihav_core::test::dec_video::test_file_decoding; + use crate::codecs::generic_register_all_codecs; + use crate::demuxers::generic_register_all_demuxers; #[test] fn test_clv() { - test_file_decoding("avi", "assets/TalkingHead_352x288.avi", Some(10), true, false, None/*Some("clv")*/); -// test_file_decoding("avi", "assets/basketball.avi", None/*Some(10)*/, true, false, Some("clv1")); + let mut dmx_reg = RegisteredDemuxers::new(); + generic_register_all_demuxers(&mut dmx_reg); + let mut dec_reg = RegisteredDecoders::new(); + generic_register_all_codecs(&mut dec_reg); + test_file_decoding("avi", "assets/Misc/TalkingHead_352x288.avi", Some(10), true, false, None/*Some("clv")*/, &dmx_reg, &dec_reg); +// test_file_decoding("avi", "assets/Misc/basketball.avi", None/*Some(10)*/, true, false, Some("clv1")); //panic!("debug"); } }