}
let mut iw = Indeo3Writer::new(dbuf);
- self.cframe.plane[planeno].encode_tree(&mut iw, &tree, &mut self.cenc, is_intra, ref_plane);
+ self.cframe.plane[planeno].encode_tree(&mut iw, tree, &mut self.cenc, ref_plane);
drop(iw);
while (dbuf.len() & 3) != 0 {
dbuf.push(0);
}
}
}
+ fn get_capabilities(&self) -> u64 { ENC_CAPS_SKIPFRAME }
fn init(&mut self, stream_id: u32, encinfo: EncodeParameters) -> EncoderResult<NAStreamRef> {
match encinfo.format {
NACodecTypeInfo::None => Err(EncoderError::FormatError),
let fsize = dbuf.len() as u32;
self.rc.advance(fsize);
+ self.frameno += 1;
self.pkt = Some(NAPacket::new(self.stream.clone().unwrap(), frm.ts, false, dbuf));
return Ok(());
self.encode_planes(&mut dbuf, &trees, is_intra)?;
let cur_quant = self.cenc.quant.unwrap_or(42);
- if !is_intra && cur_quant < 8 {
+ if self.try_again && !is_intra && cur_quant < 8 {
let expected_size = self.rc.get_expected_size();
if expected_size > 0 {
let cur_size = dbuf.len() as u32;