Index: third_party/brotli/common/constants.h |
diff --git a/third_party/brotli/common/constants.h b/third_party/brotli/common/constants.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..49dd055b9223f4219a6a197a729bffa10f1548ea |
--- /dev/null |
+++ b/third_party/brotli/common/constants.h |
@@ -0,0 +1,54 @@ |
+/* Copyright 2016 Google Inc. All Rights Reserved. |
+ |
+ Distributed under MIT license. |
+ See file LICENSE for detail or copy at https://opensource.org/licenses/MIT |
+*/ |
+ |
+#ifndef BROTLI_COMMON_CONSTANTS_H_ |
+#define BROTLI_COMMON_CONSTANTS_H_ |
+ |
+/* Specification: 7.3. Encoding of the context map */ |
+#define BROTLI_CONTEXT_MAP_MAX_RLE 16 |
+ |
+/* Specification: 2. Compressed representation overview */ |
+#define BROTLI_MAX_NUMBER_OF_BLOCK_TYPES 256 |
+ |
+/* Specification: 3.3. Alphabet sizes: insert-and-copy length */ |
+#define BROTLI_NUM_LITERAL_SYMBOLS 256 |
+#define BROTLI_NUM_COMMAND_SYMBOLS 704 |
+#define BROTLI_NUM_BLOCK_LEN_SYMBOLS 26 |
+#define BROTLI_MAX_CONTEXT_MAP_SYMBOLS (BROTLI_MAX_NUMBER_OF_BLOCK_TYPES + \ |
+ BROTLI_CONTEXT_MAP_MAX_RLE) |
+#define BROTLI_MAX_BLOCK_TYPE_SYMBOLS (BROTLI_MAX_NUMBER_OF_BLOCK_TYPES + 2) |
+ |
+/* Specification: 3.5. Complex prefix codes */ |
+#define BROTLI_REPEAT_PREVIOUS_CODE_LENGTH 16 |
+#define BROTLI_REPEAT_ZERO_CODE_LENGTH 17 |
+#define BROTLI_CODE_LENGTH_CODES (BROTLI_REPEAT_ZERO_CODE_LENGTH + 1) |
+/* "code length of 8 is repeated" */ |
+#define BROTLI_INITIAL_REPEATED_CODE_LENGTH 8 |
+ |
+/* Specification: 4. Encoding of distances */ |
+#define BROTLI_NUM_DISTANCE_SHORT_CODES 16 |
+#define BROTLI_MAX_NPOSTFIX 3 |
+#define BROTLI_MAX_NDIRECT 120 |
+#define BROTLI_MAX_DISTANCE_BITS 24U |
+/* BROTLI_NUM_DISTANCE_SYMBOLS == 520 */ |
+#define BROTLI_NUM_DISTANCE_SYMBOLS (BROTLI_NUM_DISTANCE_SHORT_CODES + \ |
+ BROTLI_MAX_NDIRECT + \ |
+ (BROTLI_MAX_DISTANCE_BITS << \ |
+ (BROTLI_MAX_NPOSTFIX + 1))) |
+ |
+/* 7.1. Context modes and context ID lookup for literals */ |
+/* "context IDs for literals are in the range of 0..63" */ |
+#define BROTLI_LITERAL_CONTEXT_BITS 6 |
+ |
+/* 7.2. Context ID for distances */ |
+#define BROTLI_DISTANCE_CONTEXT_BITS 2 |
+ |
+/* 9.1. Format of the Stream Header */ |
+/* Number of slack bytes for window size. Don't confuse |
+ with BROTLI_NUM_DISTANCE_SHORT_CODES. */ |
+#define BROTLI_WINDOW_GAP 16 |
+ |
+#endif /* BROTLI_COMMON_CONSTANTS_H_ */ |