| Index: third_party/brotli/enc/block_encoder_inc.h
|
| diff --git a/third_party/brotli/enc/block_encoder_inc.h b/third_party/brotli/enc/block_encoder_inc.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2a08f904fd65e169b21c267ad04d162a621a9775
|
| --- /dev/null
|
| +++ b/third_party/brotli/enc/block_encoder_inc.h
|
| @@ -0,0 +1,33 @@
|
| +/* NOLINT(build/header_guard) */
|
| +/* Copyright 2014 Google Inc. All Rights Reserved.
|
| +
|
| + Distributed under MIT license.
|
| + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
|
| +*/
|
| +
|
| +/* template parameters: FN */
|
| +
|
| +#define HistogramType FN(Histogram)
|
| +
|
| +/* Creates entropy codes for all block types and stores them to the bit
|
| + stream. */
|
| +static void FN(BuildAndStoreEntropyCodes)(MemoryManager* m, BlockEncoder* self,
|
| + const HistogramType* histograms, const size_t histograms_size,
|
| + HuffmanTree* tree, size_t* storage_ix, uint8_t* storage) {
|
| + const size_t alphabet_size = self->alphabet_size_;
|
| + const size_t table_size = histograms_size * alphabet_size;
|
| + self->depths_ = BROTLI_ALLOC(m, uint8_t, table_size);
|
| + self->bits_ = BROTLI_ALLOC(m, uint16_t, table_size);
|
| + if (BROTLI_IS_OOM(m)) return;
|
| +
|
| + {
|
| + size_t i;
|
| + for (i = 0; i < histograms_size; ++i) {
|
| + size_t ix = i * alphabet_size;
|
| + BuildAndStoreHuffmanTree(&histograms[i].data_[0], alphabet_size, tree,
|
| + &self->depths_[ix], &self->bits_[ix], storage_ix, storage);
|
| + }
|
| + }
|
| +}
|
| +
|
| +#undef HistogramType
|
|
|