Lines Matching refs:buffer
62 const struct lc3_bits_buffer *buffer = &bits->buffer; in get_bits_left() local
66 uintptr_t end = (uintptr_t)buffer->p_bw + in get_bits_left()
69 uintptr_t start = (uintptr_t)buffer->p_fw - in get_bits_left()
81 enum lc3_bits_mode mode, void *buffer, int len) in lc3_setup_bits() argument
92 .buffer = { in lc3_setup_bits()
93 .start = (uint8_t *)buffer, .end = (uint8_t *)buffer + len, in lc3_setup_bits()
94 .p_fw = (uint8_t *)buffer, .p_bw = (uint8_t *)buffer + len, in lc3_setup_bits()
101 struct lc3_bits_buffer *buffer = &bits->buffer; in lc3_setup_bits() local
103 ac->low = ac_get(buffer) << 16; in lc3_setup_bits()
104 ac->low |= ac_get(buffer) << 8; in lc3_setup_bits()
105 ac->low |= ac_get(buffer); in lc3_setup_bits()
107 accu_load(accu, buffer); in lc3_setup_bits()
140 struct lc3_bits_accu *accu, struct lc3_bits_buffer *buffer) in accu_flush() argument
143 LC3_MAX(buffer->p_bw - buffer->p_fw, 0)); in accu_flush()
148 *(--buffer->p_bw) = accu->v & 0xff; in accu_flush()
159 static inline void ac_put(struct lc3_bits_buffer *buffer, int byte) in ac_put() argument
161 if (buffer->p_fw < buffer->end) in ac_put()
162 *(buffer->p_fw++) = byte; in ac_put()
171 struct lc3_bits_ac *ac, struct lc3_bits_buffer *buffer) in ac_shift() argument
176 ac_put(buffer, ac->cache + ac->carry); in ac_shift()
179 ac_put(buffer, ac->carry ? 0x00 : 0xff); in ac_shift()
197 struct lc3_bits_buffer *buffer) in ac_terminate() argument
224 ac_shift(ac, buffer); in ac_terminate()
225 ac_shift(ac, buffer); in ac_terminate()
230 ac_put(buffer, ac->cache); in ac_terminate()
232 ac_put(buffer, 0xff); in ac_terminate()
237 if (buffer->p_fw < buffer->end) { in ac_terminate()
238 *buffer->p_fw &= 0xff >> nbits; in ac_terminate()
239 *buffer->p_fw |= end_val << (8 - nbits); in ac_terminate()
250 struct lc3_bits_buffer *buffer = &bits->buffer; in lc3_flush_bits() local
252 int nleft = buffer->p_bw - buffer->p_fw; in lc3_flush_bits()
256 accu_flush(accu, buffer); in lc3_flush_bits()
258 ac_terminate(ac, buffer); in lc3_flush_bits()
277 accu_flush(accu, &bits->buffer); in lc3_put_bits_generic()
293 ac_shift(ac, &bits->buffer); in lc3_ac_write_renorm()
306 static inline int ac_get(struct lc3_bits_buffer *buffer) in ac_get() argument
308 return buffer->p_fw < buffer->end ? *(buffer->p_fw++) : 0; in ac_get()
317 struct lc3_bits_buffer *buffer) in accu_load() argument
319 int nbytes = LC3_MIN(accu->n >> 3, buffer->p_bw - buffer->start); in accu_load()
325 accu->v |= (unsigned)*(--buffer->p_bw) << (LC3_ACCU_BITS - 8); in accu_load()
342 struct lc3_bits_buffer *buffer = &bits->buffer; in lc3_get_bits_generic() local
346 accu_load(accu, buffer); in lc3_get_bits_generic()
357 accu_load(accu, buffer); in lc3_get_bits_generic()
374 ac->low = ((ac->low << 8) | ac_get(&bits->buffer)) & 0xffffff; in lc3_ac_read_renorm()