aboutsummaryrefslogtreecommitdiffstats
path: root/nihav-duck/src
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2020-02-11 12:31:35 +0100
committerKostya Shishkov <kostya.shishkov@gmail.com>2020-02-11 12:31:35 +0100
commitfa90ccfb8676a917a02fbb56381f86aa1962d313 (patch)
treeb9a8787d975720c99a23e908a3ef448fbab45530 /nihav-duck/src
parent5b9e314dc124b8325325f940d7863d39c012dd2e (diff)
downloadnihav-fa90ccfb8676a917a02fbb56381f86aa1962d313.tar.gz
Make BitReader rely on passed slice size without the additional arguments.
Diffstat (limited to 'nihav-duck/src')
-rw-r--r--nihav-duck/src/codecs/on2avc.rs4
-rw-r--r--nihav-duck/src/codecs/truemotion2.rs6
-rw-r--r--nihav-duck/src/codecs/truemotionrt.rs2
-rw-r--r--nihav-duck/src/codecs/vp3.rs2
-rw-r--r--nihav-duck/src/codecs/vp56.rs2
-rw-r--r--nihav-duck/src/codecs/vp6.rs2
6 files changed, 9 insertions, 9 deletions
diff --git a/nihav-duck/src/codecs/on2avc.rs b/nihav-duck/src/codecs/on2avc.rs
index 8740389..dc229b0 100644
--- a/nihav-duck/src/codecs/on2avc.rs
+++ b/nihav-duck/src/codecs/on2avc.rs
@@ -1012,7 +1012,7 @@ impl NADecoder for AVCDecoder {
if self.version == 500 {
abuf = alloc_audio_buffer(self.ainfo, COEFFS, self.chmap.clone())?;
let mut adata = abuf.get_abuf_f32().unwrap();
- let mut br = BitReader::new(src.as_slice(), src.len(), BitReaderMode::BE);
+ let mut br = BitReader::new(src.as_slice(), BitReaderMode::BE);
self.decode_frame(&mut br, &mut adata, 0)?;
} else {
let mut offsets: Vec<usize> = Vec::new();
@@ -1034,7 +1034,7 @@ impl NADecoder for AVCDecoder {
let mut adata = abuf.get_abuf_f32().unwrap();
let mut aoffset = 0;
for (o, s) in offsets.iter().zip(sizes.iter()) {
- let mut br = BitReader::new(&src[*o..], *s, BitReaderMode::BE);
+ let mut br = BitReader::new(&src[*o..][..*s], BitReaderMode::BE);
self.decode_frame(&mut br, &mut adata, aoffset)?;
aoffset += COEFFS;
}
diff --git a/nihav-duck/src/codecs/truemotion2.rs b/nihav-duck/src/codecs/truemotion2.rs
index 469147f..0d937e0 100644
--- a/nihav-duck/src/codecs/truemotion2.rs
+++ b/nihav-duck/src/codecs/truemotion2.rs
@@ -149,7 +149,7 @@ impl TM2Stream {
Ok(())
}
fn read_deltas(&mut self, src: &[u8]) -> DecoderResult<usize> {
- let mut br = BitReader::new(src, src.len(), BitReaderMode::LE32MSB);
+ let mut br = BitReader::new(src, BitReaderMode::LE32MSB);
let coded_deltas = br.read(9)? as usize;
let bits = br.read(5)? as u8;
validate!((coded_deltas <= TM2_MAX_DELTAS) && (bits > 0));
@@ -168,7 +168,7 @@ impl TM2Stream {
Ok(((br.tell() + 31) >> 5) << 2)
}
fn read_huff_tree(&mut self, src: &[u8], htree: &mut HuffTree) -> DecoderResult<usize> {
- let mut br = BitReader::new(src, src.len(), BitReaderMode::LE32MSB);
+ let mut br = BitReader::new(src, BitReaderMode::LE32MSB);
let val_bits = br.read(5)? as u8;
let max_bits = br.read(5)? as u8;
@@ -190,7 +190,7 @@ impl TM2Stream {
Ok(((br.tell() + 31) >> 5) << 2)
}
fn read_tokens(&mut self, src: &[u8], htree: &HuffTree, ntoks: usize) -> DecoderResult<usize> {
- let mut br = BitReader::new(src, src.len(), BitReaderMode::LE32MSB);
+ let mut br = BitReader::new(src, BitReaderMode::LE32MSB);
if let Some(ref cb) = htree.cb {
for _ in 0..ntoks {
diff --git a/nihav-duck/src/codecs/truemotionrt.rs b/nihav-duck/src/codecs/truemotionrt.rs
index 1aa8a29..2ea7a1b 100644
--- a/nihav-duck/src/codecs/truemotionrt.rs
+++ b/nihav-duck/src/codecs/truemotionrt.rs
@@ -63,7 +63,7 @@ impl NADecoder for TMRTDecoder {
let bufinfo = alloc_video_buffer(myinfo, 2)?;
let mut buf = bufinfo.get_vbuf().unwrap();
- let mut br = BitReader::new(&src[hdr_size..], src.len() - hdr_size, BitReaderMode::LE);
+ let mut br = BitReader::new(&src[hdr_size..], BitReaderMode::LE);
let size = br.read(32)? as usize;
validate!(size <= src.len() - hdr_size);
for plane in 0..3 {
diff --git a/nihav-duck/src/codecs/vp3.rs b/nihav-duck/src/codecs/vp3.rs
index ccb0262..9a67388 100644
--- a/nihav-duck/src/codecs/vp3.rs
+++ b/nihav-duck/src/codecs/vp3.rs
@@ -1824,7 +1824,7 @@ impl NADecoder for VP34Decoder {
fn decode(&mut self, supp: &mut NADecoderSupport, pkt: &NAPacket) -> DecoderResult<NAFrameRef> {
let src = pkt.get_buffer();
validate!(src.len() > 0);
- let mut br = BitReader::new(&src, src.len(), BitReaderMode::BE);
+ let mut br = BitReader::new(&src, BitReaderMode::BE);
self.parse_header(&mut br)?;
if self.is_intra {
diff --git a/nihav-duck/src/codecs/vp56.rs b/nihav-duck/src/codecs/vp56.rs
index 3a691ed..de3a849 100644
--- a/nihav-duck/src/codecs/vp56.rs
+++ b/nihav-duck/src/codecs/vp56.rs
@@ -524,7 +524,7 @@ impl VP56Decoder {
let bc2 = BoolCoder::new(&src[off..])?;
cr = CoeffReader::Bool(bc2);
} else {
- let br = BitReader::new(&src[off..], aoffset - off, BitReaderMode::BE);
+ let br = BitReader::new(&src[off..aoffset], BitReaderMode::BE);
cr = CoeffReader::Huff(br);
}
} else {
diff --git a/nihav-duck/src/codecs/vp6.rs b/nihav-duck/src/codecs/vp6.rs
index 82963fa..fdf6252 100644
--- a/nihav-duck/src/codecs/vp6.rs
+++ b/nihav-duck/src/codecs/vp6.rs
@@ -36,7 +36,7 @@ impl VP56Parser for VP6BR {
let mut hdr = VP56Header::default();
// horrible hack to match VP6 header parsing
let src = bc.src;
- let mut br = BitReader::new(src, src.len(), BitReaderMode::BE);
+ let mut br = BitReader::new(src, BitReaderMode::BE);
hdr.is_intra = !br.read_bool()?;
hdr.is_golden = hdr.is_intra;