Lines Matching defs:bits

335  * @brief The number of bits, trits, and quints needed for a quant level.
339 /** @brief The number of bits. */
340 uint8_t bits:6;
350 * @brief The table of bits, trits, and quints needed for a quant encode.
379 * The length of a quantized sequence in bits is:
436 * @brief Write up to 8 bits at an arbitrary bit offset.
438 * The stored value is at most 8 bits, but can be stored at an offset of between 0 and 7 bits so may
442 * @param bitcount The number of bits to write, starting from LSB.
467 * @brief Read up to 8 bits at an arbitrary bit offset.
469 * The stored value is at most 8 bits, but can be stored at an offset of between 0 and 7 bits so may
472 * @param bitcount The number of bits to read.
502 unsigned int bits = btq_counts[quant_level].bits;
505 unsigned int mask = (1 << bits) - 1;
507 // Write out trits and bits
515 unsigned int i4 = input_data[i + 4] >> bits;
516 unsigned int i3 = input_data[i + 3] >> bits;
517 unsigned int i2 = input_data[i + 2] >> bits;
518 unsigned int i1 = input_data[i + 1] >> bits;
519 unsigned int i0 = input_data[i + 0] >> bits;
524 // pack a single MX value with the following 1 or 2 T bits.
528 pack = (input_data[i++] & mask) | (((T >> 0) & 0x3) << bits);
529 write_bits(pack, bits + 2, bit_offset, output_data);
530 bit_offset += bits + 2;
533 pack = (input_data[i++] & mask) | (((T >> 2) & 0x3) << bits);
534 write_bits(pack, bits + 2, bit_offset, output_data);
535 bit_offset += bits + 2;
538 pack = (input_data[i++] & mask) | (((T >> 4) & 0x1) << bits);
539 write_bits(pack, bits + 1, bit_offset, output_data);
540 bit_offset += bits + 1;
543 pack = (input_data[i++] & mask) | (((T >> 5) & 0x3) << bits);
544 write_bits(pack, bits + 2, bit_offset, output_data);
545 bit_offset += bits + 2;
548 pack = (input_data[i++] & mask) | (((T >> 7) & 0x1) << bits);
549 write_bits(pack, bits + 1, bit_offset, output_data);
550 bit_offset += bits + 1;
559 unsigned int i3 = i + 3 >= character_count ? 0 : input_data[i + 3] >> bits;
560 unsigned int i2 = i + 2 >= character_count ? 0 : input_data[i + 2] >> bits;
561 unsigned int i1 = i + 1 >= character_count ? 0 : input_data[i + 1] >> bits;
562 unsigned int i0 = input_data[i + 0] >> bits;
573 (((T >> tshift[j]) & ((1 << tbits[j]) - 1)) << bits);
575 write_bits(pack, bits + tbits[j], bit_offset, output_data);
576 bit_offset += bits + tbits[j];
580 // Write out quints and bits
588 unsigned int i2 = input_data[i + 2] >> bits;
589 unsigned int i1 = input_data[i + 1] >> bits;
590 unsigned int i0 = input_data[i + 0] >> bits;
595 // pack a single M value with the following 2 or 3 T bits.
599 pack = (input_data[i++] & mask) | (((T >> 0) & 0x7) << bits);
600 write_bits(pack, bits + 3, bit_offset, output_data);
601 bit_offset += bits + 3;
604 pack = (input_data[i++] & mask) | (((T >> 3) & 0x3) << bits);
605 write_bits(pack, bits + 2, bit_offset, output_data);
606 bit_offset += bits + 2;
609 pack = (input_data[i++] & mask) | (((T >> 5) & 0x3) << bits);
610 write_bits(pack, bits + 2, bit_offset, output_data);
611 bit_offset += bits + 2;
620 unsigned int i1 = i + 1 >= character_count ? 0 : input_data[i + 1] >> bits;
621 unsigned int i0 = input_data[i + 0] >> bits;
632 (((T >> tshift[j]) & ((1 << tbits[j]) - 1)) << bits);
634 write_bits(pack, bits + tbits[j], bit_offset, output_data);
635 bit_offset += bits + tbits[j];
639 // Write out just bits
644 write_bits(input_data[i], bits, bit_offset, output_data);
645 bit_offset += bits;
666 unsigned int bits = btq_counts[quant_level].bits;
673 // Collect bits for each element, as well as bits for any trit-blocks and quint-blocks.
676 results[i] = static_cast<uint8_t>(read_bits(bits, bit_offset, input_data));
677 bit_offset += bits;
714 results[5 * i ] |= tritptr[0] << bits;
715 results[5 * i + 1] |= tritptr[1] << bits;
716 results[5 * i + 2] |= tritptr[2] << bits;
717 results[5 * i + 3] |= tritptr[3] << bits;
718 results[5 * i + 4] |= tritptr[4] << bits;
729 results[3 * i ] |= quintptr[0] << bits;
730 results[3 * i + 1] |= quintptr[1] << bits;
731 results[3 * i + 2] |= quintptr[2] << bits;