Home | History | Annotate | Download | only in utils

Lines Matching refs:br

51 void VP8LoadFinalBytes(VP8BitReader* const br);
56 // makes sure br->value_ has at least BITS bits worth of data
58 void VP8LoadNewBytes(VP8BitReader* const br) {
59 assert(br != NULL && br->buf_ != NULL);
61 if (br->buf_ < br->buf_max_) {
67 lbit_t* p_buf_ = (lbit_t*)br->buf_;
80 memcpy(&in_bits, br->buf_, sizeof(in_bits));
82 br->buf_ += BITS >> 3;
99 br->value_ = bits | (br->value_ << BITS);
100 br->bits_ += BITS;
102 VP8LoadFinalBytes(br); // no need to be inlined
107 static WEBP_INLINE int VP8GetBit(VP8BitReader* const br, int prob) {
110 // alter br->range_ value.
111 range_t range = br->range_;
112 if (br->bits_ < 0) {
113 VP8LoadNewBytes(br);
116 const int pos = br->bits_;
118 const range_t value = (range_t)(br->value_ >> pos);
122 br->value_ -= (bit_t)(split + 1) << pos;
129 br->bits_ -= shift;
131 br->range_ = range - 1;
138 int VP8GetSigned(VP8BitReader* const br, int v) {
139 if (br->bits_ < 0) {
140 VP8LoadNewBytes(br);
143 const int pos = br->bits_;
144 const range_t split = br->range_ >> 1;
145 const range_t value = (range_t)(br->value_ >> pos);
147 br->bits_ -= 1;
148 br->range_ += mask;
149 br->range_ |= 1;
150 br->value_ -= (bit_t)((split + 1) & mask) << pos;
155 static WEBP_INLINE int VP8GetBitAlt(VP8BitReader* const br, int prob) {
158 // alter br->range_ value.
159 range_t range = br->range_;
160 if (br->bits_ < 0) {
161 VP8LoadNewBytes(br);
164 const int pos = br->bits_;
166 const range_t value = (range_t)(br->value_ >> pos);
170 br->value_ -= (bit_t)(split + 1) << pos;
179 br->bits_ -= shift;
181 br->range_ = range;