diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2020-02-11 12:31:35 +0100 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2020-02-11 12:31:35 +0100 |
commit | fa90ccfb8676a917a02fbb56381f86aa1962d313 (patch) | |
tree | b9a8787d975720c99a23e908a3ef448fbab45530 /nihav-duck/src | |
parent | 5b9e314dc124b8325325f940d7863d39c012dd2e (diff) | |
download | nihav-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.rs | 4 | ||||
-rw-r--r-- | nihav-duck/src/codecs/truemotion2.rs | 6 | ||||
-rw-r--r-- | nihav-duck/src/codecs/truemotionrt.rs | 2 | ||||
-rw-r--r-- | nihav-duck/src/codecs/vp3.rs | 2 | ||||
-rw-r--r-- | nihav-duck/src/codecs/vp56.rs | 2 | ||||
-rw-r--r-- | nihav-duck/src/codecs/vp6.rs | 2 |
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; |