Skip to content

Commit 9650381

Browse files
committed
BitStreamer::reload(): resulting fill level has predictable value
1 parent 8074acd commit 9650381

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/librawspeed/bitstreams/BitStreamer.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,12 @@ class BitStreamer {
204204
auto replacement = BitStreamer(replenisher.input);
205205
if (bsPos.bytePos != 0)
206206
replacement.replenisher.markNumBytesAsConsumed(bsPos.bytePos);
207-
replacement.fill();
207+
replacement.fill(Cache::MaxGetBits);
208208
replacement.skipBitsNoFill(bsPos.numBitsToSkip);
209+
invariant(
210+
replacement.getFillLevel() >
211+
(Cache::MaxGetBits -
212+
CHAR_BIT * BitStreamTraits<Traits::Tag>::MinLoadStepByteMultiple));
209213
*this = std::move(replacement);
210214
}
211215

0 commit comments

Comments
 (0)