Lines Matching refs:words
66 static const unsigned FLAC__BITWRITER_DEFAULT_CAPACITY = 32768u / sizeof(uint32_t); /* size in words */
68 static const unsigned FLAC__BITWRITER_DEFAULT_INCREMENT = 4096u / sizeof(uint32_t); /* size in words */
70 #define FLAC__WORDS_TO_BITS(words) ((words) * FLAC__BITS_PER_WORD)
71 #define FLAC__TOTAL_BITS(bw) (FLAC__WORDS_TO_BITS((bw)->words) + (bw)->bits)
76 unsigned capacity; /* capacity of buffer in words */
77 unsigned words; /* # of complete words in buffer */
93 /* calculate total words needed to store 'bits_to_add' additional bits */
94 new_capacity = bw->words + ((bw->bits + bits_to_add + FLAC__BITS_PER_WORD - 1) / FLAC__BITS_PER_WORD);
108 FLAC__ASSERT(new_capacity >= bw->words + ((bw->bits + bits_to_add + FLAC__BITS_PER_WORD - 1) / FLAC__BITS_PER_WORD));
150 bw->words = bw->bits = 0;
167 bw->words = bw->bits = 0;
172 bw->words = bw->bits = 0;
182 fprintf(out, "bitwriter: capacity=%u words=%u bits=%u total_bits=%u\n", bw->capacity, bw->words, bw->bits, FLAC__TOTAL_BITS(bw));
184 for(i = 0; i < bw->words; i++) {
247 FLAC__ASSERT(bw->words <= bw->capacity);
248 if(bw->words == bw->capacity && !bitwriter_grow_(bw, FLAC__BITS_PER_WORD))
251 bw->buffer[bw->words] = SWAP_BE_WORD_TO_HOST(bw->accum << (FLAC__BITS_PER_WORD-bw->bits));
255 *bytes = (FLAC__BYTES_PER_WORD * bw->words) + (bw->bits >> 3);
276 /* slightly pessimistic size check but faster than "<= bw->words + (bw->bits+bits+FLAC__BITS_PER_WORD-1)/FLAC__BITS_PER_WORD" */
277 if(bw->capacity <= bw->words + bits && !bitwriter_grow_(bw, bits))
286 bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(bw->accum);
292 /* do whole words */
294 bw->buffer[bw->words++] = 0;
309 /* WATCHOUT: code does not work with <32bit words; we can make things much faster with this assertion */
319 /* slightly pessimistic size check but faster than "<= bw->words + (bw->bits+bits+FLAC__BITS_PER_WORD-1)/FLAC__BITS_PER_WORD" */
320 if(bw->capacity <= bw->words + bits && !bitwriter_grow_(bw, bits))
332 bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(bw->accum);
338 bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(val);
518 /* WATCHOUT: code does not work with <32bit words; we can make things much faster with this assertion */
538 /* slightly pessimistic size check but faster than "<= bw->words
540 if(bw->capacity <= bw->words + bw->bits + msbits + 1/*lsbits always fit in 1 uint32_t*/ && !bitwriter_grow_(bw, msbits+lsbits))
555 bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(bw->accum);
559 /* do whole words */
561 bw->buffer[bw->words++] = 0;
589 bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(bw->accum);