tiles: Vec<IVITile>,
num_tiles: [[usize; 4]; 4],
tile_start: [[usize; 4]; 4],
+
+ scalable: bool,
}
impl IVIDecoder {
- pub fn new() -> Self {
+ pub fn new(scalable: bool) -> Self {
let mut bands: Vec<BandHeader> = Vec::with_capacity(12);
bands.resize(12, BandHeader::new_empty(42, 42));
IVIDecoder {
bands,
band_tiles: 0,
tiles: Vec::new(), tile_start: [[0; 4]; 4], num_tiles: [[0; 4]; 4],
+
+ scalable,
}
}
self.ftype = IVIFrameType::Intra;
}
}
+ if self.bref.is_some() && self.ftype == IVIFrameType::Inter {
+ let mut bref: Option<NABufferType> = Some(res.unwrap());
+ mem::swap(&mut bref, &mut self.bref);
+ return Ok(bref.unwrap());
+ }
if let Ok(NABufferType::None) = res {
if self.bref.is_some() {
let mut bref: Option<NABufferType> = None;