X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fio%2Fbitreader.rs;h=99bb34f743c1a93aaa2d2b0516be47e328b98360;hb=5076115b9a0c4ef344802af408b0e8fe7f7d95fa;hp=ba783eb7b1ef4e9e5343115b6536be30ff355709;hpb=a961f92b2a5f61d2e0776e9614a72dd5c8394071;p=nihav.git diff --git a/src/io/bitreader.rs b/src/io/bitreader.rs index ba783eb..99bb34f 100644 --- a/src/io/bitreader.rs +++ b/src/io/bitreader.rs @@ -155,6 +155,16 @@ impl<'a> BitReader<'a> { Ok(res) } + pub fn read_bool(&mut self) -> BitReaderResult { + if self.bits < 1 { + if let Err(err) = self.refill() { return Err(err) } + if self.bits < 1 { return Err(BitstreamEnd) } + } + let res = self.read_cache(1); + self.skip_cache(1); + Ok(res == 1) + } + pub fn peek(&mut self, nbits: u8) -> u32 { if nbits > 32 { return 0 } if self.bits < nbits { let _ = self.refill(); }