• Home
  • Raw
  • Download

Lines Matching full:br

25 void VP8BitReaderSetBuffer(VP8BitReader* const br,  in VP8BitReaderSetBuffer()  argument
28 br->buf_ = start; in VP8BitReaderSetBuffer()
29 br->buf_end_ = start + size; in VP8BitReaderSetBuffer()
30 br->buf_max_ = in VP8BitReaderSetBuffer()
35 void VP8InitBitReader(VP8BitReader* const br, in VP8InitBitReader() argument
37 assert(br != NULL); in VP8InitBitReader()
40 br->range_ = 255 - 1; in VP8InitBitReader()
41 br->value_ = 0; in VP8InitBitReader()
42 br->bits_ = -8; // to load the very first 8bits in VP8InitBitReader()
43 br->eof_ = 0; in VP8InitBitReader()
44 VP8BitReaderSetBuffer(br, start, size); in VP8InitBitReader()
45 VP8LoadNewBytes(br); in VP8InitBitReader()
48 void VP8RemapBitReader(VP8BitReader* const br, ptrdiff_t offset) { in VP8RemapBitReader() argument
49 if (br->buf_ != NULL) { in VP8RemapBitReader()
50 br->buf_ += offset; in VP8RemapBitReader()
51 br->buf_end_ += offset; in VP8RemapBitReader()
52 br->buf_max_ += offset; in VP8RemapBitReader()
88 void VP8LoadFinalBytes(VP8BitReader* const br) { in VP8LoadFinalBytes() argument
89 assert(br != NULL && br->buf_ != NULL); in VP8LoadFinalBytes()
91 if (br->buf_ < br->buf_end_) { in VP8LoadFinalBytes()
92 br->bits_ += 8; in VP8LoadFinalBytes()
93 br->value_ = (bit_t)(*br->buf_++) | (br->value_ << 8); in VP8LoadFinalBytes()
94 } else if (!br->eof_) { in VP8LoadFinalBytes()
95 br->value_ <<= 8; in VP8LoadFinalBytes()
96 br->bits_ += 8; in VP8LoadFinalBytes()
97 br->eof_ = 1; in VP8LoadFinalBytes()
99 br->bits_ = 0; // This is to avoid undefined behaviour with shifts. in VP8LoadFinalBytes()
106 uint32_t VP8GetValue(VP8BitReader* const br, int bits, const char label[]) { in VP8GetValue() argument
109 v |= VP8GetBit(br, 0x80, label) << bits; in VP8GetValue()
114 int32_t VP8GetSignedValue(VP8BitReader* const br, int bits, in VP8GetSignedValue() argument
116 const int value = VP8GetValue(br, bits, label); in VP8GetSignedValue()
117 return VP8Get(br, label) ? -value : value; in VP8GetSignedValue()
142 void VP8LInitBitReader(VP8LBitReader* const br, const uint8_t* const start, in VP8LInitBitReader() argument
146 assert(br != NULL); in VP8LInitBitReader()
150 br->len_ = length; in VP8LInitBitReader()
151 br->val_ = 0; in VP8LInitBitReader()
152 br->bit_pos_ = 0; in VP8LInitBitReader()
153 br->eos_ = 0; in VP8LInitBitReader()
155 if (length > sizeof(br->val_)) { in VP8LInitBitReader()
156 length = sizeof(br->val_); in VP8LInitBitReader()
161 br->val_ = value; in VP8LInitBitReader()
162 br->pos_ = length; in VP8LInitBitReader()
163 br->buf_ = start; in VP8LInitBitReader()
166 void VP8LBitReaderSetBuffer(VP8LBitReader* const br, in VP8LBitReaderSetBuffer() argument
168 assert(br != NULL); in VP8LBitReaderSetBuffer()
171 br->buf_ = buf; in VP8LBitReaderSetBuffer()
172 br->len_ = len; in VP8LBitReaderSetBuffer()
174 br->eos_ = (br->pos_ > br->len_) || VP8LIsEndOfStream(br); in VP8LBitReaderSetBuffer()
177 static void VP8LSetEndOfStream(VP8LBitReader* const br) { in VP8LSetEndOfStream() argument
178 br->eos_ = 1; in VP8LSetEndOfStream()
179 br->bit_pos_ = 0; // To avoid undefined behaviour with shifts. in VP8LSetEndOfStream()
183 static void ShiftBytes(VP8LBitReader* const br) { in ShiftBytes() argument
184 while (br->bit_pos_ >= 8 && br->pos_ < br->len_) { in ShiftBytes()
185 br->val_ >>= 8; in ShiftBytes()
186 br->val_ |= ((vp8l_val_t)br->buf_[br->pos_]) << (VP8L_LBITS - 8); in ShiftBytes()
187 ++br->pos_; in ShiftBytes()
188 br->bit_pos_ -= 8; in ShiftBytes()
190 if (VP8LIsEndOfStream(br)) { in ShiftBytes()
191 VP8LSetEndOfStream(br); in ShiftBytes()
195 void VP8LDoFillBitWindow(VP8LBitReader* const br) { in VP8LDoFillBitWindow() argument
196 assert(br->bit_pos_ >= VP8L_WBITS); in VP8LDoFillBitWindow()
198 if (br->pos_ + sizeof(br->val_) < br->len_) { in VP8LDoFillBitWindow()
199 br->val_ >>= VP8L_WBITS; in VP8LDoFillBitWindow()
200 br->bit_pos_ -= VP8L_WBITS; in VP8LDoFillBitWindow()
201 br->val_ |= (vp8l_val_t)HToLE32(WebPMemToUint32(br->buf_ + br->pos_)) << in VP8LDoFillBitWindow()
203 br->pos_ += VP8L_LOG8_WBITS; in VP8LDoFillBitWindow()
207 ShiftBytes(br); // Slow path. in VP8LDoFillBitWindow()
210 uint32_t VP8LReadBits(VP8LBitReader* const br, int n_bits) { in VP8LReadBits() argument
213 if (!br->eos_ && n_bits <= VP8L_MAX_NUM_BIT_READ) { in VP8LReadBits()
214 const uint32_t val = VP8LPrefetchBits(br) & kBitMask[n_bits]; in VP8LReadBits()
215 const int new_bits = br->bit_pos_ + n_bits; in VP8LReadBits()
216 br->bit_pos_ = new_bits; in VP8LReadBits()
217 ShiftBytes(br); in VP8LReadBits()
220 VP8LSetEndOfStream(br); in VP8LReadBits()
271 void BitTrace(const struct VP8BitReader* const br, const char label[]) { in BitTrace() argument
276 buf_start = br->buf_; in BitTrace()
279 pos = (int)(br->buf_ - buf_start) * 8 - br->bits_; in BitTrace()
282 buf_start = br->buf_; in BitTrace()
286 if (br->range_ >= 0x7f) pos += kVP8Log2Range[br->range_ - 0x7f]; in BitTrace()