]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.c
MdeModulePkg/BrotliCustomDecompressLib: Make brotli a submodule
[mirror_edk2.git] / MdeModulePkg / Library / BrotliCustomDecompressLib / common / transform.c
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.c b/MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.c
deleted file mode 100644 (file)
index fbe3dde..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.\r
-\r
-   Distributed under MIT license.\r
-   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
-*/\r
-\r
-#include "./transform.h"\r
-\r
-#if defined(__cplusplus) || defined(c_plusplus)\r
-extern "C" {\r
-#endif\r
-\r
-/* RFC 7932 transforms string data */\r
-static const char kPrefixSuffix[] =\r
-      "\1 \2, \10 of the \4 of \2s \1.\5 and \4 "\r
-/* 0x  _0 _2  __5        _E    _3  _6 _8     _E */\r
-      "in \1\"\4 to \2\">\1\n\2. \1]\5 for \3 a \6 "\r
-/* 2x     _3_ _5    _A_  _D_ _F  _2 _4     _A   _E */\r
-      "that \1\'\6 with \6 from \4 by \1(\6. T"\r
-/* 4x       _5_ _7      _E      _5    _A _C */\r
-      "he \4 on \4 as \4 is \4ing \2\n\t\1:\3ed "\r
-/* 6x     _3    _8    _D    _2    _7_ _ _A _C */\r
-      "\2=\"\4 at \3ly \1,\2=\'\5.com/\7. This \5"\r
-/* 8x  _0 _ _3    _8   _C _E _ _1     _7       _F */\r
-      " not \3er \3al \4ful \4ive \5less \4es"\r
-/* Ax       _5   _9   _D    _2    _7     _D */\r
-      "t \4ize \2\xc2\xa0\4ous \5 the \2e \0";\r
-/* Cx    _2    _7___ ___ _A    _F     _5  _8 */\r
-\r
-static const uint16_t kPrefixSuffixMap[50] = {\r
-  0x00, 0x02, 0x05, 0x0E, 0x13, 0x16, 0x18, 0x1E, 0x23, 0x25,\r
-  0x2A, 0x2D, 0x2F, 0x32, 0x34, 0x3A, 0x3E, 0x45, 0x47, 0x4E,\r
-  0x55, 0x5A, 0x5C, 0x63, 0x68, 0x6D, 0x72, 0x77, 0x7A, 0x7C,\r
-  0x80, 0x83, 0x88, 0x8C, 0x8E, 0x91, 0x97, 0x9F, 0xA5, 0xA9,\r
-  0xAD, 0xB2, 0xB7, 0xBD, 0xC2, 0xC7, 0xCA, 0xCF, 0xD5, 0xD8\r
-};\r
-\r
-/* RFC 7932 transforms */\r
-static const uint8_t kTransformsData[] = {\r
-  49, BROTLI_TRANSFORM_IDENTITY, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 0,\r
-   0, BROTLI_TRANSFORM_IDENTITY, 0,\r
-  49, BROTLI_TRANSFORM_OMIT_FIRST_1, 49,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 0,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 47,\r
-   0, BROTLI_TRANSFORM_IDENTITY, 49,\r
-   4, BROTLI_TRANSFORM_IDENTITY, 0,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 3,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 6,\r
-  49, BROTLI_TRANSFORM_OMIT_FIRST_2, 49,\r
-  49, BROTLI_TRANSFORM_OMIT_LAST_1, 49,\r
-   1, BROTLI_TRANSFORM_IDENTITY, 0,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 1,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 0,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 7,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 9,\r
-  48, BROTLI_TRANSFORM_IDENTITY, 0,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 8,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 5,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 10,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 11,\r
-  49, BROTLI_TRANSFORM_OMIT_LAST_3, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 13,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 14,\r
-  49, BROTLI_TRANSFORM_OMIT_FIRST_3, 49,\r
-  49, BROTLI_TRANSFORM_OMIT_LAST_2, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 15,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 16,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 12,\r
-   5, BROTLI_TRANSFORM_IDENTITY, 49,\r
-   0, BROTLI_TRANSFORM_IDENTITY, 1,\r
-  49, BROTLI_TRANSFORM_OMIT_FIRST_4, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 18,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 17,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 19,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 20,\r
-  49, BROTLI_TRANSFORM_OMIT_FIRST_5, 49,\r
-  49, BROTLI_TRANSFORM_OMIT_FIRST_6, 49,\r
-  47, BROTLI_TRANSFORM_IDENTITY, 49,\r
-  49, BROTLI_TRANSFORM_OMIT_LAST_4, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 22,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 23,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 24,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 25,\r
-  49, BROTLI_TRANSFORM_OMIT_LAST_7, 49,\r
-  49, BROTLI_TRANSFORM_OMIT_LAST_1, 26,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 27,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 28,\r
-   0, BROTLI_TRANSFORM_IDENTITY, 12,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 29,\r
-  49, BROTLI_TRANSFORM_OMIT_FIRST_9, 49,\r
-  49, BROTLI_TRANSFORM_OMIT_FIRST_7, 49,\r
-  49, BROTLI_TRANSFORM_OMIT_LAST_6, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 21,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 1,\r
-  49, BROTLI_TRANSFORM_OMIT_LAST_8, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 31,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 32,\r
-  47, BROTLI_TRANSFORM_IDENTITY, 3,\r
-  49, BROTLI_TRANSFORM_OMIT_LAST_5, 49,\r
-  49, BROTLI_TRANSFORM_OMIT_LAST_9, 49,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 1,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 8,\r
-   5, BROTLI_TRANSFORM_IDENTITY, 21,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 0,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 10,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 30,\r
-   0, BROTLI_TRANSFORM_IDENTITY, 5,\r
-  35, BROTLI_TRANSFORM_IDENTITY, 49,\r
-  47, BROTLI_TRANSFORM_IDENTITY, 2,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 17,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 36,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 33,\r
-   5, BROTLI_TRANSFORM_IDENTITY, 0,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 21,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 5,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 37,\r
-   0, BROTLI_TRANSFORM_IDENTITY, 30,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 38,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_ALL, 0,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 39,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_ALL, 49,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 34,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 8,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 12,\r
-   0, BROTLI_TRANSFORM_IDENTITY, 21,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 40,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 12,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 41,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 42,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 17,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 43,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 5,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 10,\r
-   0, BROTLI_TRANSFORM_IDENTITY, 34,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 33,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 44,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 5,\r
-  45, BROTLI_TRANSFORM_IDENTITY, 49,\r
-   0, BROTLI_TRANSFORM_IDENTITY, 33,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 30,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 30,\r
-  49, BROTLI_TRANSFORM_IDENTITY, 46,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 1,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 34,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 33,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_ALL, 30,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_ALL, 1,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 33,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 21,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 12,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_ALL, 5,\r
-  49, BROTLI_TRANSFORM_UPPERCASE_ALL, 34,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_ALL, 12,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 30,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_ALL, 34,\r
-   0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 34,\r
-};\r
-\r
-static BrotliTransforms kBrotliTransforms = {\r
-  sizeof(kPrefixSuffix),\r
-  (const uint8_t*)kPrefixSuffix,\r
-  kPrefixSuffixMap,\r
-  sizeof(kTransformsData) / (3 * sizeof(kTransformsData[0])),\r
-  kTransformsData,\r
-  {0, 12, 27, 23, 42, 63, 56, 48, 59, 64}\r
-};\r
-\r
-const BrotliTransforms* BrotliGetTransforms(void) {\r
-  return &kBrotliTransforms;\r
-}\r
-\r
-static int ToUpperCase(uint8_t* p) {\r
-  if (p[0] < 0xC0) {\r
-    if (p[0] >= 'a' && p[0] <= 'z') {\r
-      p[0] ^= 32;\r
-    }\r
-    return 1;\r
-  }\r
-  /* An overly simplified uppercasing model for UTF-8. */\r
-  if (p[0] < 0xE0) {\r
-    p[1] ^= 32;\r
-    return 2;\r
-  }\r
-  /* An arbitrary transform for three byte characters. */\r
-  p[2] ^= 5;\r
-  return 3;\r
-}\r
-\r
-int BrotliTransformDictionaryWord(uint8_t* dst, const uint8_t* word, int len,\r
-    const BrotliTransforms* transforms, int transfom_idx) {\r
-  int idx = 0;\r
-  const uint8_t* prefix = BROTLI_TRANSFORM_PREFIX(transforms, transfom_idx);\r
-  uint8_t type = BROTLI_TRANSFORM_TYPE(transforms, transfom_idx);\r
-  const uint8_t* suffix = BROTLI_TRANSFORM_SUFFIX(transforms, transfom_idx);\r
-  {\r
-    int prefix_len = *prefix++;\r
-    while (prefix_len--) { dst[idx++] = *prefix++; }\r
-  }\r
-  {\r
-    const int t = type;\r
-    int i = 0;\r
-    if (t <= BROTLI_TRANSFORM_OMIT_LAST_9) {\r
-      len -= t;\r
-    } else if (t >= BROTLI_TRANSFORM_OMIT_FIRST_1\r
-        && t <= BROTLI_TRANSFORM_OMIT_FIRST_9) {\r
-      int skip = t - (BROTLI_TRANSFORM_OMIT_FIRST_1 - 1);\r
-      word += skip;\r
-      len -= skip;\r
-    }\r
-    while (i < len) { dst[idx++] = word[i++]; }\r
-    if (t == BROTLI_TRANSFORM_UPPERCASE_FIRST) {\r
-      ToUpperCase(&dst[idx - len]);\r
-    } else if (t == BROTLI_TRANSFORM_UPPERCASE_ALL) {\r
-      uint8_t* uppercase = &dst[idx - len];\r
-      while (len > 0) {\r
-        int step = ToUpperCase(uppercase);\r
-        uppercase += step;\r
-        len -= step;\r
-      }\r
-    }\r
-  }\r
-  {\r
-    int suffix_len = *suffix++;\r
-    while (suffix_len--) { dst[idx++] = *suffix++; }\r
-    return idx;\r
-  }\r
-}\r
-\r
-#if defined(__cplusplus) || defined(c_plusplus)\r
-}  /* extern "C" */\r
-#endif\r