• Home
  • Raw
  • Download

Lines Matching full:br

24 void VP8BitReaderSetBuffer(VP8BitReader* const br,  in VP8BitReaderSetBuffer()  argument
27 br->buf_ = start; in VP8BitReaderSetBuffer()
28 br->buf_end_ = start + size; in VP8BitReaderSetBuffer()
29 br->buf_max_ = in VP8BitReaderSetBuffer()
34 void VP8InitBitReader(VP8BitReader* const br, in VP8InitBitReader() argument
36 assert(br != NULL); in VP8InitBitReader()
39 br->range_ = 255 - 1; in VP8InitBitReader()
40 br->value_ = 0; in VP8InitBitReader()
41 br->bits_ = -8; // to load the very first 8bits in VP8InitBitReader()
42 br->eof_ = 0; in VP8InitBitReader()
43 VP8BitReaderSetBuffer(br, start, size); in VP8InitBitReader()
44 VP8LoadNewBytes(br); in VP8InitBitReader()
47 void VP8RemapBitReader(VP8BitReader* const br, ptrdiff_t offset) { in VP8RemapBitReader() argument
48 if (br->buf_ != NULL) { in VP8RemapBitReader()
49 br->buf_ += offset; in VP8RemapBitReader()
50 br->buf_end_ += offset; in VP8RemapBitReader()
51 br->buf_max_ += offset; in VP8RemapBitReader()
87 void VP8LoadFinalBytes(VP8BitReader* const br) { in VP8LoadFinalBytes() argument
88 assert(br != NULL && br->buf_ != NULL); in VP8LoadFinalBytes()
90 if (br->buf_ < br->buf_end_) { in VP8LoadFinalBytes()
91 br->bits_ += 8; in VP8LoadFinalBytes()
92 br->value_ = (bit_t)(*br->buf_++) | (br->value_ << 8); in VP8LoadFinalBytes()
93 } else if (!br->eof_) { in VP8LoadFinalBytes()
94 br->value_ <<= 8; in VP8LoadFinalBytes()
95 br->bits_ += 8; in VP8LoadFinalBytes()
96 br->eof_ = 1; in VP8LoadFinalBytes()
98 br->bits_ = 0; // This is to avoid undefined behaviour with shifts. in VP8LoadFinalBytes()
105 uint32_t VP8GetValue(VP8BitReader* const br, int bits, const char label[]) { in VP8GetValue() argument
108 v |= VP8GetBit(br, 0x80, label) << bits; in VP8GetValue()
113 int32_t VP8GetSignedValue(VP8BitReader* const br, int bits, in VP8GetSignedValue() argument
115 const int value = VP8GetValue(br, bits, label); in VP8GetSignedValue()
116 return VP8Get(br, label) ? -value : value; in VP8GetSignedValue()
140 void VP8LInitBitReader(VP8LBitReader* const br, const uint8_t* const start, in VP8LInitBitReader() argument
144 assert(br != NULL); in VP8LInitBitReader()
148 br->len_ = length; in VP8LInitBitReader()
149 br->val_ = 0; in VP8LInitBitReader()
150 br->bit_pos_ = 0; in VP8LInitBitReader()
151 br->eos_ = 0; in VP8LInitBitReader()
153 if (length > sizeof(br->val_)) { in VP8LInitBitReader()
154 length = sizeof(br->val_); in VP8LInitBitReader()
159 br->val_ = value; in VP8LInitBitReader()
160 br->pos_ = length; in VP8LInitBitReader()
161 br->buf_ = start; in VP8LInitBitReader()
164 void VP8LBitReaderSetBuffer(VP8LBitReader* const br, in VP8LBitReaderSetBuffer() argument
166 assert(br != NULL); in VP8LBitReaderSetBuffer()
169 br->buf_ = buf; in VP8LBitReaderSetBuffer()
170 br->len_ = len; in VP8LBitReaderSetBuffer()
172 br->eos_ = (br->pos_ > br->len_) || VP8LIsEndOfStream(br); in VP8LBitReaderSetBuffer()
175 static void VP8LSetEndOfStream(VP8LBitReader* const br) { in VP8LSetEndOfStream() argument
176 br->eos_ = 1; in VP8LSetEndOfStream()
177 br->bit_pos_ = 0; // To avoid undefined behaviour with shifts. in VP8LSetEndOfStream()
181 static void ShiftBytes(VP8LBitReader* const br) { in ShiftBytes() argument
182 while (br->bit_pos_ >= 8 && br->pos_ < br->len_) { in ShiftBytes()
183 br->val_ >>= 8; in ShiftBytes()
184 br->val_ |= ((vp8l_val_t)br->buf_[br->pos_]) << (VP8L_LBITS - 8); in ShiftBytes()
185 ++br->pos_; in ShiftBytes()
186 br->bit_pos_ -= 8; in ShiftBytes()
188 if (VP8LIsEndOfStream(br)) { in ShiftBytes()
189 VP8LSetEndOfStream(br); in ShiftBytes()
193 void VP8LDoFillBitWindow(VP8LBitReader* const br) { in VP8LDoFillBitWindow() argument
194 assert(br->bit_pos_ >= VP8L_WBITS); in VP8LDoFillBitWindow()
196 if (br->pos_ + sizeof(br->val_) < br->len_) { in VP8LDoFillBitWindow()
197 br->val_ >>= VP8L_WBITS; in VP8LDoFillBitWindow()
198 br->bit_pos_ -= VP8L_WBITS; in VP8LDoFillBitWindow()
199 br->val_ |= (vp8l_val_t)HToLE32(WebPMemToUint32(br->buf_ + br->pos_)) << in VP8LDoFillBitWindow()
201 br->pos_ += VP8L_LOG8_WBITS; in VP8LDoFillBitWindow()
205 ShiftBytes(br); // Slow path. in VP8LDoFillBitWindow()
208 uint32_t VP8LReadBits(VP8LBitReader* const br, int n_bits) { in VP8LReadBits() argument
211 if (!br->eos_ && n_bits <= VP8L_MAX_NUM_BIT_READ) { in VP8LReadBits()
212 const uint32_t val = VP8LPrefetchBits(br) & kBitMask[n_bits]; in VP8LReadBits()
213 const int new_bits = br->bit_pos_ + n_bits; in VP8LReadBits()
214 br->bit_pos_ = new_bits; in VP8LReadBits()
215 ShiftBytes(br); in VP8LReadBits()
218 VP8LSetEndOfStream(br); in VP8LReadBits()
269 void BitTrace(const struct VP8BitReader* const br, const char label[]) { in BitTrace() argument
274 buf_start = br->buf_; in BitTrace()
277 pos = (int)(br->buf_ - buf_start) * 8 - br->bits_; in BitTrace()
280 buf_start = br->buf_; in BitTrace()
284 if (br->range_ >= 0x7f) pos += kVP8Log2Range[br->range_ - 0x7f]; in BitTrace()