projects
/
nihav.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make HAMShuffler generic
[nihav.git]
/
nihav-indeo
/
src
/
codecs
/
indeo2.rs
diff --git
a/nihav-indeo/src/codecs/indeo2.rs
b/nihav-indeo/src/codecs/indeo2.rs
index 7556e6aefe0bc3f2b957e33b40a6c3047d889b00..960bc0b4c9a01708ade3edb2a10f533e41f24a21 100644
(file)
--- a/
nihav-indeo/src/codecs/indeo2.rs
+++ b/
nihav-indeo/src/codecs/indeo2.rs
@@
-2,6
+2,7
@@
use nihav_core::io::bitreader::*;
use nihav_core::io::codebook::*;
use nihav_core::formats;
use nihav_core::codecs::*;
use nihav_core::io::codebook::*;
use nihav_core::formats;
use nihav_core::codecs::*;
+use nihav_codec_support::codecs::HAMShuffler;
static INDEO2_DELTA_TABLE: [[u8; 256]; 4] = [
[
static INDEO2_DELTA_TABLE: [[u8; 256]; 4] = [
[
@@
-186,7
+187,7
@@
impl CodebookDescReader<u8> for IR2CodeReader {
struct Indeo2Decoder {
info: NACodecInfoRef,
cb: Codebook<u8>,
struct Indeo2Decoder {
info: NACodecInfoRef,
cb: Codebook<u8>,
- frmmgr: HAMShuffler,
+ frmmgr: HAMShuffler
<u8>
,
}
impl Indeo2Decoder {
}
impl Indeo2Decoder {
@@
-326,7
+327,7
@@
impl NADecoder for Indeo2Decoder {
if src.len() <= IR2_START { return Err(DecoderError::ShortData); }
let interframe = src[18];
let tabs = src[34];
if src.len() <= IR2_START { return Err(DecoderError::ShortData); }
let interframe = src[18];
let tabs = src[34];
- let mut br = BitReader::new(&src[IR2_START..],
src.len() - IR2_START,
BitReaderMode::LE);
+ let mut br = BitReader::new(&src[IR2_START..], BitReaderMode::LE);
let luma_tab = tabs & 3;
let chroma_tab = (tabs >> 2) & 3;
if interframe != 0 {
let luma_tab = tabs & 3;
let chroma_tab = (tabs >> 2) & 3;
if interframe != 0 {
@@
-364,6
+365,12
@@
impl NADecoder for Indeo2Decoder {
}
}
}
}
+impl NAOptionHandler for Indeo2Decoder {
+ fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] }
+ fn set_options(&mut self, _options: &[NAOption]) { }
+ fn query_option_value(&self, _name: &str) -> Option<NAValue> { None }
+}
+
pub fn get_decoder() -> Box<dyn NADecoder + Send> {
Box::new(Indeo2Decoder::new())
}
pub fn get_decoder() -> Box<dyn NADecoder + Send> {
Box::new(Indeo2Decoder::new())
}
@@
-372,9
+379,9
@@
pub fn get_decoder() -> Box<dyn NADecoder + Send> {
mod test {
use nihav_core::codecs::RegisteredDecoders;
use nihav_core::demuxers::RegisteredDemuxers;
mod test {
use nihav_core::codecs::RegisteredDecoders;
use nihav_core::demuxers::RegisteredDemuxers;
- use nihav_co
re
::test::dec_video::*;
- use crate::
codecs::
indeo_register_all_codecs;
- use nihav_commonfmt::
demuxers::
generic_register_all_demuxers;
+ use nihav_co
dec_support
::test::dec_video::*;
+ use crate::indeo_register_all_codecs;
+ use nihav_commonfmt::generic_register_all_demuxers;
#[test]
fn test_indeo2() {
let mut dmx_reg = RegisteredDemuxers::new();
#[test]
fn test_indeo2() {
let mut dmx_reg = RegisteredDemuxers::new();