}
fn decode_block(&mut self, quant: u8, intra: bool, coded: bool, blk: &mut [i16; 64]) -> DecoderResult<()> {
- let mut br = &mut self.br;
+ let br = &mut self.br;
let mut idx = 0;
if intra {
let mut dc = br.read(8)?;
#[allow(unused_variables)]
fn decode_pichdr(&mut self) -> DecoderResult<PicInfo> {
- let mut br = &mut self.br;
+ let br = &mut self.br;
let syncw = br.read(22)?;
validate!(syncw == 0x000020);
- let tr = br.read(8)? as u8;
+ let tr = (br.read(8)? << 8) as u16;
check_marker(br)?;
let id = br.read(1)?;
validate!(id == 0);
let ftype = if is_intra { Type::I } else { Type::P };
let plusinfo = if deblock { Some(PlusInfo::new(false, deblock, false, false)) } else { None };
- let picinfo = PicInfo::new(w, h, ftype, umv, apm, quant as u8, tr, pbinfo, plusinfo);
+ let mvmode = if umv { MVMode::UMV } else { MVMode::Old };
+ let picinfo = PicInfo::new(w, h, ftype, mvmode, umv, apm, quant as u8, tr, pbinfo, plusinfo);
Ok(picinfo)
}
#[allow(unused_variables)]
fn decode_slice_header(&mut self, info: &PicInfo) -> DecoderResult<SliceInfo> {
- let mut br = &mut self.br;
+ let br = &mut self.br;
let gbsc = br.read(17)?;
validate!(gbsc == 1);
let gn = br.read(5)?;
#[allow(unused_variables)]
fn decode_block_header(&mut self, info: &PicInfo, slice: &SliceInfo, sstate: &SliceState) -> DecoderResult<BlockInfo> {
- let mut br = &mut self.br;
+ let br = &mut self.br;
let mut q = slice.get_quant();
match info.get_mode() {
Type::I => {
}
fn is_slice_end(&mut self) -> bool { self.br.peek(16) == 0 }
-
- fn is_gob(&mut self) -> bool { true }
}
impl Intel263Decoder {
Intel263Decoder{
info: Rc::new(DUMMY_CODEC_INFO),
- dec: H263BaseDecoder::new(),
+ dec: H263BaseDecoder::new(true),
tables: tables,
bdsp: H263BlockDSP::new(),
}
use test::dec_video::test_file_decoding;
#[test]
fn test_intel263() {
- test_file_decoding("avi", "assets/neal73_saber.avi", Some(16), true, false, Some("i263"));
+ test_file_decoding("avi", "assets/neal73_saber.avi", Some(16), true, false, None/*Some("i263")*/);
}
}