diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:54:23 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:54:44 +0000 |
commit | 836b47cb7e99a977c5a23b059ca1d0b5065d310e (patch) | |
tree | 1604da8f482d02effa033c94a84be42bc0c848c3 /web/server/h2o/libh2o/deps/brotli/enc/histogram.cc | |
parent | Releasing debian version 1.44.3-2. (diff) | |
download | netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.tar.xz netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.zip |
Merging upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'web/server/h2o/libh2o/deps/brotli/enc/histogram.cc')
-rw-r--r-- | web/server/h2o/libh2o/deps/brotli/enc/histogram.cc | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/web/server/h2o/libh2o/deps/brotli/enc/histogram.cc b/web/server/h2o/libh2o/deps/brotli/enc/histogram.cc deleted file mode 100644 index 75235902f..000000000 --- a/web/server/h2o/libh2o/deps/brotli/enc/histogram.cc +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright 2013 Google Inc. All Rights Reserved. - - Distributed under MIT license. - See file LICENSE for detail or copy at https://opensource.org/licenses/MIT -*/ - -// Build per-context histograms of literals, commands and distance codes. - -#include "./histogram.h" - -#include <cmath> - -#include "./block_splitter.h" -#include "./command.h" -#include "./context.h" -#include "./prefix.h" - -namespace brotli { - -void BuildHistograms( - const Command* cmds, - const size_t num_commands, - const BlockSplit& literal_split, - const BlockSplit& insert_and_copy_split, - const BlockSplit& dist_split, - const uint8_t* ringbuffer, - size_t start_pos, - size_t mask, - uint8_t prev_byte, - uint8_t prev_byte2, - const std::vector<ContextType>& context_modes, - std::vector<HistogramLiteral>* literal_histograms, - std::vector<HistogramCommand>* insert_and_copy_histograms, - std::vector<HistogramDistance>* copy_dist_histograms) { - size_t pos = start_pos; - BlockSplitIterator literal_it(literal_split); - BlockSplitIterator insert_and_copy_it(insert_and_copy_split); - BlockSplitIterator dist_it(dist_split); - for (size_t i = 0; i < num_commands; ++i) { - const Command &cmd = cmds[i]; - insert_and_copy_it.Next(); - (*insert_and_copy_histograms)[insert_and_copy_it.type_].Add( - cmd.cmd_prefix_); - for (size_t j = cmd.insert_len_; j != 0; --j) { - literal_it.Next(); - size_t context = (literal_it.type_ << kLiteralContextBits) + - Context(prev_byte, prev_byte2, context_modes[literal_it.type_]); - (*literal_histograms)[context].Add(ringbuffer[pos & mask]); - prev_byte2 = prev_byte; - prev_byte = ringbuffer[pos & mask]; - ++pos; - } - pos += cmd.copy_len_; - if (cmd.copy_len_ > 0) { - prev_byte2 = ringbuffer[(pos - 2) & mask]; - prev_byte = ringbuffer[(pos - 1) & mask]; - if (cmd.cmd_prefix_ >= 128) { - dist_it.Next(); - size_t context = (dist_it.type_ << kDistanceContextBits) + - cmd.DistanceContext(); - (*copy_dist_histograms)[context].Add(cmd.dist_prefix_); - } - } - } -} - -} // namespace brotli |