diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 12:08:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 12:08:18 +0000 |
commit | 5da14042f70711ea5cf66e034699730335462f66 (patch) | |
tree | 0f6354ccac934ed87a2d555f45be4c831cf92f4a /web/server/h2o/libh2o/deps/brotli/enc/histogram.cc | |
parent | Releasing debian version 1.44.3-2. (diff) | |
download | netdata-5da14042f70711ea5cf66e034699730335462f66.tar.xz netdata-5da14042f70711ea5cf66e034699730335462f66.zip |
Merging upstream version 1.45.3+dfsg.
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 |