summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/brotli/src/brotli/enc/command.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/brotli/src/brotli/enc/command.h')
-rw-r--r--chromium/third_party/brotli/src/brotli/enc/command.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/chromium/third_party/brotli/src/brotli/enc/command.h b/chromium/third_party/brotli/src/brotli/enc/command.h
new file mode 100644
index 00000000000..f9799738437
--- /dev/null
+++ b/chromium/third_party/brotli/src/brotli/enc/command.h
@@ -0,0 +1,50 @@
+// Copyright 2013 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This class models a sequence of literals and a backward reference copy.
+
+#ifndef BROTLI_ENC_COMMAND_H_
+#define BROTLI_ENC_COMMAND_H_
+
+#include <stdint.h>
+
+namespace brotli {
+
+// Command holds a sequence of literals and a backward reference copy.
+class Command {
+ public:
+ // distance_code_ is initialized to 17 because it refers to the distance
+ // code of a backward distance of 1, this way the last insert-only command
+ // won't use the last-distance short code, and accordingly distance_prefix_ is
+ // set to 16
+ Command() : insert_length_(0), copy_length_(0), copy_length_code_(0),
+ copy_distance_(0), distance_code_(17),
+ distance_prefix_(16), command_prefix_(0),
+ distance_extra_bits_(0), distance_extra_bits_value_(0) {}
+
+ uint32_t insert_length_;
+ uint32_t copy_length_;
+ uint32_t copy_length_code_;
+ uint32_t copy_distance_;
+ // Values <= 16 are short codes, values > 16 are distances shifted by 16.
+ uint32_t distance_code_;
+ uint16_t distance_prefix_;
+ uint16_t command_prefix_;
+ int distance_extra_bits_;
+ uint32_t distance_extra_bits_value_;
+};
+
+} // namespace brotli
+
+#endif // BROTLI_ENC_COMMAND_H_