use nihav_core::codecs::*;
-use nihav_core::dsp::dct::*;
-use nihav_core::dsp::fft::*;
+use nihav_codec_support::dsp::dct::*;
+use nihav_codec_support::dsp::fft::*;
use nihav_core::io::bitreader::*;
use std::f32::consts;
use std::str::FromStr;
transform: Transform::None,
version_b: false,
len: 0,
- quants: quants,
+ quants,
bands: [MAX_BANDS + 1; 26],
num_bands: 0,
duration: 0,
if let NACodecTypeInfo::Audio(_) = info.get_properties() {
let pktbuf = pkt.get_buffer();
validate!(pktbuf.len() > 1);
- let mut br = BitReader::new(&pktbuf, pktbuf.len(), BitReaderMode::LE);
+ let mut br = BitReader::new(&pktbuf, BitReaderMode::LE);
let nsamples = br.read(32)? as usize;
// validate!(nsamples % self.duration == 0);
Err(DecoderError::InvalidData)
}
}
+ fn flush(&mut self) {
+ self.delay = [[0.0; 256]; 2];
+ }
}
-pub fn get_decoder_dct() -> Box<dyn NADecoder> {
+pub fn get_decoder_dct() -> Box<dyn NADecoder + Send> {
Box::new(BinkAudioDecoder::new(true))
}
-pub fn get_decoder_rdft() -> Box<dyn NADecoder> {
+pub fn get_decoder_rdft() -> Box<dyn NADecoder + Send> {
Box::new(BinkAudioDecoder::new(false))
}
mod test {
use nihav_core::codecs::RegisteredDecoders;
use nihav_core::demuxers::RegisteredDemuxers;
- use nihav_core::test::dec_video::*;
- use crate::codecs::rad_register_all_codecs;
- use crate::demuxers::rad_register_all_demuxers;
+ use nihav_codec_support::test::dec_video::*;
+ use crate::rad_register_all_codecs;
+ use crate::rad_register_all_demuxers;
+
+ #[test]
+ fn test_bink_audio_dct() {
+ let mut dmx_reg = RegisteredDemuxers::new();
+ rad_register_all_demuxers(&mut dmx_reg);
+ let mut dec_reg = RegisteredDecoders::new();
+ rad_register_all_codecs(&mut dec_reg);
+ let file = "assets/RAD/ActivisionLogo.bik";
+ test_decode_audio("bink", file, None, None/*Some("bink")*/, &dmx_reg, &dec_reg);
+ }
#[test]
- fn test_bink_audio() {
+ fn test_bink_audio_rdft() {
let mut dmx_reg = RegisteredDemuxers::new();
rad_register_all_demuxers(&mut dmx_reg);
let mut dec_reg = RegisteredDecoders::new();
rad_register_all_codecs(&mut dec_reg);
-// let file = "assets/RAD/ActivisionLogo.bik";
- let file = "assets/RAD/original.bik";
-// let file = "assets/RAD/Snd0a110c51.dee";
-// let file = "assets/RAD/NEW.BIK";
-// let file = "assets/RAD/ge_video_86l.bk2";
- test_decode_audio("bink", file, None, "bink", &dmx_reg, &dec_reg);
+ let file = "assets/RAD/NWCLOGO.BIK";
+ test_decode_audio("bink", file, None, None/*Some("bink")*/, &dmx_reg, &dec_reg);
}
}