X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-indeo%2Fsrc%2Fcodecs%2Fimc.rs;h=c766861bad6d36ad560bcc0223c3306f01489763;hb=7d57ae2f680d7a1eba7af2ee831f305b2f0f9324;hp=4b7c9908e511bbc37e163b12ed3313def9ef2103;hpb=f9be4e750dccff762b9a3d894faec50ffdb59233;p=nihav.git diff --git a/nihav-indeo/src/codecs/imc.rs b/nihav-indeo/src/codecs/imc.rs index 4b7c990..c766861 100644 --- a/nihav-indeo/src/codecs/imc.rs +++ b/nihav-indeo/src/codecs/imc.rs @@ -7,8 +7,8 @@ use nihav_core::frame::*; use nihav_core::codecs::*; use nihav_core::io::bitreader::*; use nihav_core::io::codebook::*; -use nihav_core::dsp::fft::*; -use nihav_core::dsp::window::*; +use nihav_codec_support::dsp::fft::*; +use nihav_codec_support::dsp::window::*; const BANDS: usize = 32; const COEFFS: usize = 256; @@ -728,7 +728,7 @@ impl IMCDecoder { } fn decode_block(&mut self, data: &[u8], ch: usize, dst: &mut [f32]) -> DecoderResult<()> { - let mut br = BitReader::new(&data[BLOCK_SIZE*ch..], BLOCK_SIZE, BitReaderMode::LE16MSB); + let mut br = BitReader::new(&data[BLOCK_SIZE*ch..][..BLOCK_SIZE], BitReaderMode::LE16MSB); let hdr = br.read(9)?; validate!((hdr & 0x18) == 0); @@ -926,11 +926,17 @@ impl NADecoder for IMCDecoder { } } -pub fn get_decoder_imc() -> Box { +impl NAOptionHandler for IMCDecoder { + fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] } + fn set_options(&mut self, _options: &[NAOption]) { } + fn query_option_value(&self, _name: &str) -> Option { None } +} + +pub fn get_decoder_imc() -> Box { Box::new(IMCDecoder::new(true)) } -pub fn get_decoder_iac() -> Box { +pub fn get_decoder_iac() -> Box { Box::new(IMCDecoder::new(false)) } @@ -1111,9 +1117,9 @@ const IMC_CB_SELECTOR: [[usize; BANDS]; 4] = [ mod test { use nihav_core::codecs::RegisteredDecoders; use nihav_core::demuxers::RegisteredDemuxers; - use nihav_core::test::dec_video::*; - use crate::codecs::indeo_register_all_codecs; - use nihav_commonfmt::demuxers::generic_register_all_demuxers; + use nihav_codec_support::test::dec_video::*; + use crate::indeo_register_all_codecs; + use nihav_commonfmt::generic_register_all_demuxers; #[test] fn test_imc() { let mut dmx_reg = RegisteredDemuxers::new(); @@ -1126,7 +1132,7 @@ mod test { let file = "assets/Indeo/IMC/8khz.avi"; // let file = "assets/Indeo/STsKlassFist-1a.avi"; // let file = "assets/Indeo/IMC/Angel Bday.avi"; - test_decode_audio("avi", file, None, "imc", &dmx_reg, &dec_reg); + test_decode_audio("avi", file, None, None/*Some("imc")*/, &dmx_reg, &dec_reg); //test_file_decoding("avi", file, None, false, true, None); } }