use nihav_core::formats::YUV420_FORMAT;
-use nihav_core::frame::{NABufferType, NAVideoInfo, NAVideoBuffer, FrameType, alloc_video_buffer};
+use nihav_core::frame::{NABufferType, NAVideoInfo, NAVideoBuffer, NAVideoBufferRef, FrameType, alloc_video_buffer};
use nihav_core::codecs::{MV, ZERO_MV, DecoderError, DecoderResult, IPBShuffler};
use nihav_core::io::bitreader::{BitReader,BitReaderMode};
use nihav_core::io::intcode::*;
let csize = if comp == 0 { size } else { size >> 1 };
let dstride = buf.get_stride(comp);
let doffset = buf.get_offset(comp) + xoff + yoff * dstride;
- let mut data = buf.get_data_mut();
+ let data = buf.get_data_mut().unwrap();
let dst: &mut [u8] = data.as_mut_slice();
let sstride = avg_buf.get_stride(comp);
ratio2: u32,
is_b: bool,
mbinfo: Vec<RV34MBInfo>,
- avg_buf: NAVideoBuffer<u8>,
+ avg_buf: NAVideoBufferRef<u8>,
base_ts: u64,
}
impl RV34Decoder {
pub fn new(is_rv30: bool, dsp: Box<RV34DSP>) -> Self {
let tmp_vinfo = NAVideoInfo::new(16, 16, false, YUV420_FORMAT);
- let mut vt = alloc_video_buffer(tmp_vinfo, 4).unwrap();
+ let vt = alloc_video_buffer(tmp_vinfo, 4).unwrap();
let vb = vt.get_vbuf();
let avg_buf = vb.unwrap();
RV34Decoder {
}
let stride = buf.get_stride(0);
let mut offset = buf.get_offset(0) + sstate.mb_x * 16 + sstate.mb_y * 16 * stride;
- let mut data = buf.get_data_mut();
+ let data = buf.get_data_mut().unwrap();
let framebuf: &mut [u8] = data.as_mut_slice();
if is_16 {
for comp in 1..3 {
let stride = buf.get_stride(comp);
let mut offset = buf.get_offset(comp) + sstate.mb_x * 8 + sstate.mb_y * 8 * stride;
- let mut data = buf.get_data_mut();
+ let data = buf.get_data_mut().unwrap();
let framebuf: &mut [u8] = data.as_mut_slice();
if is_16 {
let im8 = imode.get_pred8_type(sstate.has_top, sstate.has_left);
}
let stride = buf.get_stride(0);
let mut offset = buf.get_offset(0) + sstate.mb_x * 16 + sstate.mb_y * 16 * stride;
- let mut data = buf.get_data_mut();
+ let data = buf.get_data_mut().unwrap();
let framebuf: &mut [u8] = data.as_mut_slice();
for y in 0..4 {
for comp in 1..3 {
let stride = buf.get_stride(comp);
let mut offset = buf.get_offset(comp) + sstate.mb_x * 8 + sstate.mb_y * 8 * stride;
- let mut data = buf.get_data_mut();
+ let data = buf.get_data_mut().unwrap();
let framebuf: &mut [u8] = data.as_mut_slice();
for _ in 0..2 {
for x in 0..2 {
let vinfo = NAVideoInfo::new(hdr0.width, hdr0.height, false, YUV420_FORMAT);
let bufret = alloc_video_buffer(vinfo, 4);
if let Err(_) = bufret { return Err(DecoderError::InvalidData); }
- let mut bufinfo = bufret.unwrap();
+ let bufinfo = bufret.unwrap();
let mut buf = bufinfo.get_vbuf().unwrap();
sstate.q = q;