projects
/
nihav.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
switch NACodecInfo to Arc
[nihav.git]
/
nihav-rad
/
src
/
codecs
/
binkvid.rs
diff --git
a/nihav-rad/src/codecs/binkvid.rs
b/nihav-rad/src/codecs/binkvid.rs
index bf8f201f79abaadd81a459594d522a93caae47aa..2f95ed6b58c1add29a8d1f437e1043663c06e56e 100644
(file)
--- a/
nihav-rad/src/codecs/binkvid.rs
+++ b/
nihav-rad/src/codecs/binkvid.rs
@@
-474,7
+474,7
@@
impl Default for QuantMats {
#[derive(Default)]
struct BinkDecoder {
#[derive(Default)]
struct BinkDecoder {
- info:
Rc<NACodecInfo>
,
+ info:
NACodecInfoRef
,
ips: IPShuffler,
hams: HAMShuffler,
ips: IPShuffler,
hams: HAMShuffler,
@@
-719,7
+719,7
@@
println!(" copy from {}.{} + {},{}({})", bx*8, by*8, xoff, yoff, ybias);
let stride = buf.get_stride(plane_no);
let mut off = buf.get_offset(plane_no);
let (width, height) = buf.get_dimensions(plane_no);
let stride = buf.get_stride(plane_no);
let mut off = buf.get_offset(plane_no);
let (width, height) = buf.get_dimensions(plane_no);
- let
mut data = buf.get_data_mut
();
+ let
data = buf.get_data_mut().unwrap
();
let dst = data.as_mut_slice();
let bw = (width + 7) >> 3;
let bh = (height + 7) >> 3;
let dst = data.as_mut_slice();
let bw = (width + 7) >> 3;
let bh = (height + 7) >> 3;
@@
-928,7
+928,7
@@
println!(" blk {}.{} type {}", bx,by,btype);
let stride = buf.get_stride(plane_no);
let mut off = buf.get_offset(plane_no);
let (width, height) = buf.get_dimensions(plane_no);
let stride = buf.get_stride(plane_no);
let mut off = buf.get_offset(plane_no);
let (width, height) = buf.get_dimensions(plane_no);
- let
mut data = buf.get_data_mut
();
+ let
data = buf.get_data_mut().unwrap
();
let dst = data.as_mut_slice();
let bw = (width + 7) >> 3;
let bh = (height + 7) >> 3;
let dst = data.as_mut_slice();
let bw = (width + 7) >> 3;
let bh = (height + 7) >> 3;
@@
-1157,7
+1157,7
@@
const BINK_FLAG_ALPHA: u32 = 0x00100000;
const BINK_FLAG_GRAY: u32 = 0x00020000;
impl NADecoder for BinkDecoder {
const BINK_FLAG_GRAY: u32 = 0x00020000;
impl NADecoder for BinkDecoder {
- fn init(&mut self, info:
Rc<NACodecInfo>
) -> DecoderResult<()> {
+ fn init(&mut self, info:
NACodecInfoRef
) -> DecoderResult<()> {
if let NACodecTypeInfo::Video(vinfo) = info.get_properties() {
let w = vinfo.get_width();
let h = vinfo.get_height();
if let NACodecTypeInfo::Video(vinfo) = info.get_properties() {
let w = vinfo.get_width();
let h = vinfo.get_height();
@@
-1192,7
+1192,7
@@
impl NADecoder for BinkDecoder {
None, None, None, None, 0, 1);
}
let myinfo = NACodecTypeInfo::Video(NAVideoInfo::new(w, h, false, fmt));
None, None, None, None, 0, 1);
}
let myinfo = NACodecTypeInfo::Video(NAVideoInfo::new(w, h, false, fmt));
- self.info =
Rc::new(NACodecInfo::new_ref(info.get_name(), myinfo, info.get_extradata())
);
+ self.info =
NACodecInfo::new_ref(info.get_name(), myinfo, info.get_extradata()).into_ref(
);
//self.init_bundle_lengths(w.max(8), (w + 7) >> 3);
self.init_bundle_bufs((w + 7) >> 3, (h + 7) >> 3);
//self.init_bundle_lengths(w.max(8), (w + 7) >> 3);
self.init_bundle_bufs((w + 7) >> 3, (h + 7) >> 3);
@@
-1220,7
+1220,7
@@
impl NADecoder for BinkDecoder {
} else {
let bufret = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 4);
if let Err(_) = bufret { return Err(DecoderError::InvalidData); }
} else {
let bufret = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 4);
if let Err(_) = bufret { return Err(DecoderError::InvalidData); }
- let
mut
bufinfo = bufret.unwrap();
+ let bufinfo = bufret.unwrap();
buf = bufinfo.get_vbuf().unwrap();
self.key_frame = true;
self.hams.add_frame(buf);
buf = bufinfo.get_vbuf().unwrap();
self.key_frame = true;
self.hams.add_frame(buf);
@@
-1229,7
+1229,7
@@
impl NADecoder for BinkDecoder {
} else {
let bufret = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 4);
if let Err(_) = bufret { return Err(DecoderError::InvalidData); }
} else {
let bufret = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 4);
if let Err(_) = bufret { return Err(DecoderError::InvalidData); }
- let
mut
bufinfo = bufret.unwrap();
+ let bufinfo = bufret.unwrap();
buf = bufinfo.get_vbuf().unwrap();
}
buf = bufinfo.get_vbuf().unwrap();
}
@@
-1253,7
+1253,7
@@
println!("decode frame {} b={} i={}", pkt.get_pts().unwrap(), self.is_ver_b, sel
self.decode_plane(&mut br, plane_idx, &mut buf)?;
}
}
self.decode_plane(&mut br, plane_idx, &mut buf)?;
}
}
- let
mut
bufinfo = NABufferType::Video(buf);
+ let bufinfo = NABufferType::Video(buf);
if !self.is_ver_b {
self.ips.add_frame(bufinfo.get_vbuf().unwrap());
}
if !self.is_ver_b {
self.ips.add_frame(bufinfo.get_vbuf().unwrap());
}