]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/BrotliCompress/common/constants.h
BaseTools: Update Brotli Compress to the latest one 1.0.6
[mirror_edk2.git] / BaseTools / Source / C / BrotliCompress / common / constants.h
index f82a89bb81d52666f0e651c4e4858517e13e2848..1a29f035e899e8fa6183fababf69bb0adefc9458 100644 (file)
 /* "code length of 8 is repeated" */\r
 #define BROTLI_INITIAL_REPEATED_CODE_LENGTH 8\r
 \r
+/* "Large Window Brotli" */\r
+#define BROTLI_LARGE_MAX_DISTANCE_BITS 62U\r
+#define BROTLI_LARGE_MIN_WBITS 10\r
+#define BROTLI_LARGE_MAX_WBITS 30\r
+\r
 /* Specification: 4. Encoding of distances */\r
 #define BROTLI_NUM_DISTANCE_SHORT_CODES 16\r
 #define BROTLI_MAX_NPOSTFIX 3\r
 #define BROTLI_MAX_NDIRECT 120\r
-/* BROTLI_NUM_DISTANCE_SYMBOLS == 520 */\r
-#define BROTLI_NUM_DISTANCE_SYMBOLS (BROTLI_NUM_DISTANCE_SHORT_CODES + \\r
-                                     BROTLI_MAX_NDIRECT +              \\r
-                                     (24 << (BROTLI_MAX_NPOSTFIX + 1)))\r
+#define BROTLI_MAX_DISTANCE_BITS 24U\r
+#define BROTLI_DISTANCE_ALPHABET_SIZE(NPOSTFIX, NDIRECT, MAXNBITS) ( \\r
+    BROTLI_NUM_DISTANCE_SHORT_CODES + (NDIRECT) +                    \\r
+    ((MAXNBITS) << ((NPOSTFIX) + 1)))\r
+/* BROTLI_NUM_DISTANCE_SYMBOLS == 1128 */\r
+#define BROTLI_NUM_DISTANCE_SYMBOLS \\r
+    BROTLI_DISTANCE_ALPHABET_SIZE(  \\r
+        BROTLI_MAX_NDIRECT, BROTLI_MAX_NPOSTFIX, BROTLI_LARGE_MAX_DISTANCE_BITS)\r
+#define BROTLI_MAX_DISTANCE 0x3FFFFFC\r
+#define BROTLI_MAX_ALLOWED_DISTANCE 0x7FFFFFFC\r
 \r
 /* 7.1. Context modes and context ID lookup for literals */\r
 /* "context IDs for literals are in the range of 0..63" */\r
 /* 7.2. Context ID for distances */\r
 #define BROTLI_DISTANCE_CONTEXT_BITS 2\r
 \r
+/* 9.1. Format of the Stream Header */\r
+/* Number of slack bytes for window size. Don't confuse\r
+   with BROTLI_NUM_DISTANCE_SHORT_CODES. */\r
+#define BROTLI_WINDOW_GAP 16\r
+#define BROTLI_MAX_BACKWARD_LIMIT(W) (((size_t)1 << (W)) - BROTLI_WINDOW_GAP)\r
+\r
 #endif  /* BROTLI_COMMON_CONSTANTS_H_ */\r