Lines Matching defs:self
56 static void InitBlockTypeCodeCalculator(BlockTypeCodeCalculator* self) {
57 self->last_type = 1;
58 self->second_last_type = 0;
842 static void InitBlockEncoder(BlockEncoder* self, size_t histogram_length,
845 self->histogram_length_ = histogram_length;
846 self->num_block_types_ = num_block_types;
847 self->block_types_ = block_types;
848 self->block_lengths_ = block_lengths;
849 self->num_blocks_ = num_blocks;
850 InitBlockTypeCodeCalculator(&self->block_split_code_.type_code_calculator);
851 self->block_ix_ = 0;
852 self->block_len_ = num_blocks == 0 ? 0 : block_lengths[0];
853 self->entropy_ix_ = 0;
854 self->depths_ = 0;
855 self->bits_ = 0;
858 static void CleanupBlockEncoder(MemoryManager* m, BlockEncoder* self) {
859 BROTLI_FREE(m, self->depths_);
860 BROTLI_FREE(m, self->bits_);
865 static void BuildAndStoreBlockSwitchEntropyCodes(BlockEncoder* self,
867 BuildAndStoreBlockSplitCode(self->block_types_, self->block_lengths_,
868 self->num_blocks_, self->num_block_types_, tree, &self->block_split_code_,
874 static void StoreSymbol(BlockEncoder* self, size_t symbol, size_t* storage_ix,
876 if (self->block_len_ == 0) {
877 size_t block_ix = ++self->block_ix_;
878 uint32_t block_len = self->block_lengths_[block_ix];
879 uint8_t block_type = self->block_types_[block_ix];
880 self->block_len_ = block_len;
881 self->entropy_ix_ = block_type * self->histogram_length_;
882 StoreBlockSwitch(&self->block_split_code_, block_len, block_type, 0,
885 --self->block_len_;
887 size_t ix = self->entropy_ix_ + symbol;
888 BrotliWriteBits(self->depths_[ix], self->bits_[ix], storage_ix, storage);
895 static void StoreSymbolWithContext(BlockEncoder* self, size_t symbol,
898 if (self->block_len_ == 0) {
899 size_t block_ix = ++self->block_ix_;
900 uint32_t block_len = self->block_lengths_[block_ix];
901 uint8_t block_type = self->block_types_[block_ix];
902 self->block_len_ = block_len;
903 self->entropy_ix_ = (size_t)block_type << context_bits;
904 StoreBlockSwitch(&self->block_split_code_, block_len, block_type, 0,
907 --self->block_len_;
909 size_t histo_ix = context_map[self->entropy_ix_ + context];
910 size_t ix = histo_ix * self->histogram_length_ + symbol;
911 BrotliWriteBits(self->depths_[ix], self->bits_[ix], storage_ix, storage);