From 583c797b4020b6a37e48b31d72aaa433e45f65b5 Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Wed, 25 May 2022 22:17:50 -0500 Subject: [PATCH] move --- src/pixie/fileformats/jpeg.nim | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/pixie/fileformats/jpeg.nim b/src/pixie/fileformats/jpeg.nim index 1f4418c..450aa9e 100644 --- a/src/pixie/fileformats/jpeg.nim +++ b/src/pixie/fileformats/jpeg.nim @@ -533,6 +533,17 @@ proc getBit(state: var DecoderState): int = state.bitBuffer = state.bitBuffer shl 1 dec state.bitsBuffered +proc getBits(state: var DecoderState, n: int): int = + ## Get n number of bits as a unsigned integer. + if n notin 0 .. 16: + failInvalid() + if state.bitsBuffered < n: + state.fillBitBuffer() + let k = lrot(state.bitBuffer, n) + state.bitBuffer = k and (not bitMasks[n]) + result = (k and bitMasks[n]).int + state.bitsBuffered -= n + proc getBitsAsSignedInt(state: var DecoderState, n: int): int = ## Get n number of bits as a signed integer. # TODO: Investigate why 15 not 16? @@ -547,17 +558,6 @@ proc getBitsAsSignedInt(state: var DecoderState, n: int): int = state.bitsBuffered -= n result = k.int + (biases[n] and (not sign)) -proc getBits(state: var DecoderState, n: int): int = - ## Get n number of bits as a unsigned integer. - if n notin 0 .. 16: - failInvalid() - if state.bitsBuffered < n: - state.fillBitBuffer() - let k = lrot(state.bitBuffer, n) - state.bitBuffer = k and (not bitMasks[n]) - result = (k and bitMasks[n]).int - state.bitsBuffered -= n - proc decodeRegularBlock( state: var DecoderState, component: int, data: var array[64, int16] ) =