LCOV - code coverage report
Current view: top level - libavcodec - hqxvlc.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 7 8 87.5 %
Date: 2017-12-16 13:57:32 Functions: 1 1 100.0 %

          Line data    Source code
       1             : /*
       2             :  * Canopus HQX decoder
       3             :  *
       4             :  * This file is part of FFmpeg.
       5             :  *
       6             :  * FFmpeg is free software; you can redistribute it and/or
       7             :  * modify it under the terms of the GNU Lesser General Public
       8             :  * License as published by the Free Software Foundation; either
       9             :  * version 2.1 of the License, or (at your option) any later version.
      10             :  *
      11             :  * FFmpeg is distributed in the hope that it will be useful,
      12             :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      13             :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      14             :  * Lesser General Public License for more details.
      15             :  *
      16             :  * You should have received a copy of the GNU Lesser General Public
      17             :  * License along with FFmpeg; if not, write to the Free Software
      18             :  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
      19             :  */
      20             : 
      21             : #include "hqx.h"
      22             : 
      23             : static const uint8_t cbp_vlc_bits[16] = {
      24             :     0x04, 0x1C, 0x1D, 0x09, 0x1E, 0x0B, 0x1B, 0x08,
      25             :     0x1F, 0x1A, 0x0C, 0x07, 0x0A, 0x06, 0x05, 0x00,
      26             : };
      27             : 
      28             : static const uint8_t cbp_vlc_lens[16] = {
      29             :     4, 5, 5, 4, 5, 4, 5, 4, 5, 5, 4, 4, 4, 4, 4, 2,
      30             : };
      31             : 
      32             : static const uint16_t dc9_vlc_bits[512] = {
      33             :     0x0010, 0x0008, 0x0022, 0x0024, 0x0026, 0x0028, 0x002A, 0x002C,
      34             :     0x002E, 0x0030, 0x0032, 0x0034, 0x0074, 0x0076, 0x0078, 0x007A,
      35             :     0x007C, 0x0000, 0x0002, 0x0004, 0x0006, 0x0008, 0x000A, 0x000C,
      36             :     0x000E, 0x0050, 0x0052, 0x0054, 0x0056, 0x0058, 0x005A, 0x005C,
      37             :     0x005E, 0x0020, 0x0022, 0x0024, 0x0026, 0x0028, 0x002A, 0x002C,
      38             :     0x002E, 0x0030, 0x0032, 0x0034, 0x0036, 0x0038, 0x003A, 0x003C,
      39             :     0x003E, 0x00C0, 0x00C2, 0x00C4, 0x00C6, 0x00C8, 0x00CA, 0x00CC,
      40             :     0x00CE, 0x00D0, 0x00D2, 0x00D4, 0x00D6, 0x00D8, 0x00DA, 0x00DC,
      41             :     0x00DE, 0x01C0, 0x01C2, 0x01C4, 0x01C6, 0x01C8, 0x01CA, 0x01CC,
      42             :     0x01CE, 0x01D0, 0x01D2, 0x01D4, 0x01D6, 0x01D8, 0x01DA, 0x01DC,
      43             :     0x01DE, 0x01E0, 0x01E2, 0x01E4, 0x01E6, 0x01E8, 0x01EA, 0x01EC,
      44             :     0x01EE, 0x01F0, 0x01F2, 0x01F4, 0x01F6, 0x01F8, 0x01FA, 0x01FC,
      45             :     0x01FE, 0x06C0, 0x06C2, 0x06C4, 0x06C6, 0x06C8, 0x06CA, 0x06CC,
      46             :     0x06CE, 0x06D0, 0x06D2, 0x06D4, 0x06D6, 0x06D8, 0x06DA, 0x06DC,
      47             :     0x06DE, 0x06E0, 0x06E2, 0x06E4, 0x06E6, 0x06E8, 0x06EA, 0x06EC,
      48             :     0x06EE, 0x06F0, 0x06F2, 0x06F4, 0x06F6, 0x06F8, 0x06FA, 0x06FC,
      49             :     0x06FE, 0x0E00, 0x0E02, 0x0E04, 0x0E06, 0x0E08, 0x0E0A, 0x0E0C,
      50             :     0x0E0E, 0x0E10, 0x0E12, 0x0E14, 0x0E16, 0x0E18, 0x0E1A, 0x0E1C,
      51             :     0x0E1E, 0x0E20, 0x0E22, 0x0E24, 0x0E26, 0x0E28, 0x0E2A, 0x0E2C,
      52             :     0x0E2E, 0x0E30, 0x0E32, 0x0E34, 0x0E36, 0x0E38, 0x0E3A, 0x0E3C,
      53             :     0x0E3E, 0x0E40, 0x0E42, 0x0E44, 0x0E46, 0x0E48, 0x0E4A, 0x0E4C,
      54             :     0x0E4E, 0x0E50, 0x0E52, 0x0E54, 0x0E56, 0x0E58, 0x0E5A, 0x0E5C,
      55             :     0x0E5E, 0x0E60, 0x0E62, 0x0E64, 0x0E66, 0x0E68, 0x0E6A, 0x0E6C,
      56             :     0x0E6E, 0x0E70, 0x0E72, 0x0E74, 0x0E76, 0x0E78, 0x0E7A, 0x0E7C,
      57             :     0x0E7E, 0x1F80, 0x1F82, 0x1F84, 0x1F86, 0x1F88, 0x1F8A, 0x1F8C,
      58             :     0x1F8E, 0x1F90, 0x1F92, 0x1F94, 0x1F96, 0x1F98, 0x1F9A, 0x1F9C,
      59             :     0x1F9E, 0x1FA0, 0x1FA2, 0x1FA4, 0x1FA6, 0x1FA8, 0x1FAA, 0x1FAC,
      60             :     0x1FAE, 0x1FB0, 0x1FB2, 0x1FB4, 0x1FB6, 0x1FB8, 0x1FBA, 0x1FBC,
      61             :     0x1FBE, 0x1FC0, 0x1FC2, 0x1FC4, 0x1FC6, 0x1FC8, 0x1FCA, 0x1FCC,
      62             :     0x1FCE, 0x1FD0, 0x1FD2, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FDA, 0x1FDC,
      63             :     0x1FDE, 0x1FE0, 0x1FE2, 0x1FE4, 0x1FE6, 0x1FE8, 0x1FEA, 0x1FEC,
      64             :     0x1FEE, 0x1FF0, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FF8, 0x1FFA, 0x1FFC,
      65             :     0x0FFF, 0x1FFD, 0x1FFB, 0x1FF9, 0x1FF7, 0x1FF5, 0x1FF3, 0x1FF1,
      66             :     0x1FEF, 0x1FED, 0x1FEB, 0x1FE9, 0x1FE7, 0x1FE5, 0x1FE3, 0x1FE1,
      67             :     0x1FDF, 0x1FDD, 0x1FDB, 0x1FD9, 0x1FD7, 0x1FD5, 0x1FD3, 0x1FD1,
      68             :     0x1FCF, 0x1FCD, 0x1FCB, 0x1FC9, 0x1FC7, 0x1FC5, 0x1FC3, 0x1FC1,
      69             :     0x1FBF, 0x1FBD, 0x1FBB, 0x1FB9, 0x1FB7, 0x1FB5, 0x1FB3, 0x1FB1,
      70             :     0x1FAF, 0x1FAD, 0x1FAB, 0x1FA9, 0x1FA7, 0x1FA5, 0x1FA3, 0x1FA1,
      71             :     0x1F9F, 0x1F9D, 0x1F9B, 0x1F99, 0x1F97, 0x1F95, 0x1F93, 0x1F91,
      72             :     0x1F8F, 0x1F8D, 0x1F8B, 0x1F89, 0x1F87, 0x1F85, 0x1F83, 0x1F81,
      73             :     0x0E7F, 0x0E7D, 0x0E7B, 0x0E79, 0x0E77, 0x0E75, 0x0E73, 0x0E71,
      74             :     0x0E6F, 0x0E6D, 0x0E6B, 0x0E69, 0x0E67, 0x0E65, 0x0E63, 0x0E61,
      75             :     0x0E5F, 0x0E5D, 0x0E5B, 0x0E59, 0x0E57, 0x0E55, 0x0E53, 0x0E51,
      76             :     0x0E4F, 0x0E4D, 0x0E4B, 0x0E49, 0x0E47, 0x0E45, 0x0E43, 0x0E41,
      77             :     0x0E3F, 0x0E3D, 0x0E3B, 0x0E39, 0x0E37, 0x0E35, 0x0E33, 0x0E31,
      78             :     0x0E2F, 0x0E2D, 0x0E2B, 0x0E29, 0x0E27, 0x0E25, 0x0E23, 0x0E21,
      79             :     0x0E1F, 0x0E1D, 0x0E1B, 0x0E19, 0x0E17, 0x0E15, 0x0E13, 0x0E11,
      80             :     0x0E0F, 0x0E0D, 0x0E0B, 0x0E09, 0x0E07, 0x0E05, 0x0E03, 0x0E01,
      81             :     0x06FF, 0x06FD, 0x06FB, 0x06F9, 0x06F7, 0x06F5, 0x06F3, 0x06F1,
      82             :     0x06EF, 0x06ED, 0x06EB, 0x06E9, 0x06E7, 0x06E5, 0x06E3, 0x06E1,
      83             :     0x06DF, 0x06DD, 0x06DB, 0x06D9, 0x06D7, 0x06D5, 0x06D3, 0x06D1,
      84             :     0x06CF, 0x06CD, 0x06CB, 0x06C9, 0x06C7, 0x06C5, 0x06C3, 0x06C1,
      85             :     0x01FF, 0x01FD, 0x01FB, 0x01F9, 0x01F7, 0x01F5, 0x01F3, 0x01F1,
      86             :     0x01EF, 0x01ED, 0x01EB, 0x01E9, 0x01E7, 0x01E5, 0x01E3, 0x01E1,
      87             :     0x01DF, 0x01DD, 0x01DB, 0x01D9, 0x01D7, 0x01D5, 0x01D3, 0x01D1,
      88             :     0x01CF, 0x01CD, 0x01CB, 0x01C9, 0x01C7, 0x01C5, 0x01C3, 0x01C1,
      89             :     0x00DF, 0x00DD, 0x00DB, 0x00D9, 0x00D7, 0x00D5, 0x00D3, 0x00D1,
      90             :     0x00CF, 0x00CD, 0x00CB, 0x00C9, 0x00C7, 0x00C5, 0x00C3, 0x00C1,
      91             :     0x003F, 0x003D, 0x003B, 0x0039, 0x0037, 0x0035, 0x0033, 0x0031,
      92             :     0x002F, 0x002D, 0x002B, 0x0029, 0x0027, 0x0025, 0x0023, 0x0021,
      93             :     0x005F, 0x005D, 0x005B, 0x0059, 0x0057, 0x0055, 0x0053, 0x0051,
      94             :     0x000F, 0x000D, 0x000B, 0x0009, 0x0007, 0x0005, 0x0003, 0x0001,
      95             :     0x007D, 0x007B, 0x0079, 0x0077, 0x0075, 0x0035, 0x0033, 0x0031,
      96             :     0x002F, 0x002D, 0x002B, 0x0029, 0x0027, 0x0025, 0x0023, 0x0009,
      97             : };
      98             : 
      99             : static const uint8_t dc9_vlc_lens[512] = {
     100             :      5,  5,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  7,  7,  7,  7,
     101             :      7,  7,  7,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,
     102             :      8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
     103             :      8,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     104             :      9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     105             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     106             :     10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     107             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     108             :     11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     109             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     110             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     111             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     112             :     12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     113             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     114             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     115             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     116             :     12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     117             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     118             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     119             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     120             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     121             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     122             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     123             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     124             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     125             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     126             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     127             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     128             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     129             :      8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
     130             :      8,  8,  8,  8,  8,  8,  8,  8,  7,  7,  7,  7,  7,  7,  7,  7,
     131             :      7,  7,  7,  7,  7,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  5,
     132             : };
     133             : 
     134             : static const uint16_t dc10_vlc_bits[1024] = {
     135             :     0x0014, 0x002A, 0x002C, 0x002E, 0x0064, 0x0066, 0x0068, 0x006A,
     136             :     0x006C, 0x006E, 0x0070, 0x0072, 0x0074, 0x0076, 0x0078, 0x007A,
     137             :     0x007C, 0x0040, 0x0042, 0x0044, 0x0046, 0x0048, 0x004A, 0x004C,
     138             :     0x004E, 0x0050, 0x0052, 0x0054, 0x0056, 0x0058, 0x005A, 0x005C,
     139             :     0x005E, 0x0000, 0x0002, 0x0004, 0x0006, 0x0008, 0x000A, 0x000C,
     140             :     0x000E, 0x0010, 0x0012, 0x0014, 0x0016, 0x0018, 0x001A, 0x001C,
     141             :     0x001E, 0x00C0, 0x00C2, 0x00C4, 0x00C6, 0x00C8, 0x00CA, 0x00CC,
     142             :     0x00CE, 0x00D0, 0x00D2, 0x00D4, 0x00D6, 0x00D8, 0x00DA, 0x00DC,
     143             :     0x00DE, 0x0040, 0x0042, 0x0044, 0x0046, 0x0048, 0x004A, 0x004C,
     144             :     0x004E, 0x0050, 0x0052, 0x0054, 0x0056, 0x0058, 0x005A, 0x005C,
     145             :     0x005E, 0x0060, 0x0062, 0x0064, 0x0066, 0x0068, 0x006A, 0x006C,
     146             :     0x006E, 0x0070, 0x0072, 0x0074, 0x0076, 0x0078, 0x007A, 0x007C,
     147             :     0x007E, 0x01C0, 0x01C2, 0x01C4, 0x01C6, 0x01C8, 0x01CA, 0x01CC,
     148             :     0x01CE, 0x01D0, 0x01D2, 0x01D4, 0x01D6, 0x01D8, 0x01DA, 0x01DC,
     149             :     0x01DE, 0x01E0, 0x01E2, 0x01E4, 0x01E6, 0x01E8, 0x01EA, 0x01EC,
     150             :     0x01EE, 0x01F0, 0x01F2, 0x01F4, 0x01F6, 0x01F8, 0x01FA, 0x01FC,
     151             :     0x01FE, 0x0400, 0x0402, 0x0404, 0x0406, 0x0408, 0x040A, 0x040C,
     152             :     0x040E, 0x0410, 0x0412, 0x0414, 0x0416, 0x0418, 0x041A, 0x041C,
     153             :     0x041E, 0x0420, 0x0422, 0x0424, 0x0426, 0x0428, 0x042A, 0x042C,
     154             :     0x042E, 0x0430, 0x0432, 0x0434, 0x0436, 0x0438, 0x043A, 0x043C,
     155             :     0x043E, 0x0440, 0x0442, 0x0444, 0x0446, 0x0448, 0x044A, 0x044C,
     156             :     0x044E, 0x0450, 0x0452, 0x0454, 0x0456, 0x0458, 0x045A, 0x045C,
     157             :     0x045E, 0x0460, 0x0462, 0x0464, 0x0466, 0x0468, 0x046A, 0x046C,
     158             :     0x046E, 0x0470, 0x0472, 0x0474, 0x0476, 0x0478, 0x047A, 0x047C,
     159             :     0x047E, 0x0C00, 0x0C02, 0x0C04, 0x0C06, 0x0C08, 0x0C0A, 0x0C0C,
     160             :     0x0C0E, 0x0C10, 0x0C12, 0x0C14, 0x0C16, 0x0C18, 0x0C1A, 0x0C1C,
     161             :     0x0C1E, 0x0C20, 0x0C22, 0x0C24, 0x0C26, 0x0C28, 0x0C2A, 0x0C2C,
     162             :     0x0C2E, 0x0C30, 0x0C32, 0x0C34, 0x0C36, 0x0C38, 0x0C3A, 0x0C3C,
     163             :     0x0C3E, 0x0C40, 0x0C42, 0x0C44, 0x0C46, 0x0C48, 0x0C4A, 0x0C4C,
     164             :     0x0C4E, 0x0C50, 0x0C52, 0x0C54, 0x0C56, 0x0C58, 0x0C5A, 0x0C5C,
     165             :     0x0C5E, 0x0C60, 0x0C62, 0x0C64, 0x0C66, 0x0C68, 0x0C6A, 0x0C6C,
     166             :     0x0C6E, 0x0C70, 0x0C72, 0x0C74, 0x0C76, 0x0C78, 0x0C7A, 0x0C7C,
     167             :     0x0C7E, 0x0900, 0x0902, 0x0904, 0x0906, 0x0908, 0x090A, 0x090C,
     168             :     0x090E, 0x0910, 0x0912, 0x0914, 0x0916, 0x0918, 0x091A, 0x091C,
     169             :     0x091E, 0x0920, 0x0922, 0x0924, 0x0926, 0x0928, 0x092A, 0x092C,
     170             :     0x092E, 0x0930, 0x0932, 0x0934, 0x0936, 0x0938, 0x093A, 0x093C,
     171             :     0x093E, 0x0940, 0x0942, 0x0944, 0x0946, 0x0948, 0x094A, 0x094C,
     172             :     0x094E, 0x0950, 0x0952, 0x0954, 0x0956, 0x0958, 0x095A, 0x095C,
     173             :     0x095E, 0x0960, 0x0962, 0x0964, 0x0966, 0x0968, 0x096A, 0x096C,
     174             :     0x096E, 0x0970, 0x0972, 0x0974, 0x0976, 0x0978, 0x097A, 0x097C,
     175             :     0x097E, 0x0980, 0x0982, 0x0984, 0x0986, 0x0988, 0x098A, 0x098C,
     176             :     0x098E, 0x0990, 0x0992, 0x0994, 0x0996, 0x0998, 0x099A, 0x099C,
     177             :     0x099E, 0x09A0, 0x09A2, 0x09A4, 0x09A6, 0x09A8, 0x09AA, 0x09AC,
     178             :     0x09AE, 0x09B0, 0x09B2, 0x09B4, 0x09B6, 0x09B8, 0x09BA, 0x09BC,
     179             :     0x09BE, 0x09C0, 0x09C2, 0x09C4, 0x09C6, 0x09C8, 0x09CA, 0x09CC,
     180             :     0x09CE, 0x09D0, 0x09D2, 0x09D4, 0x09D6, 0x09D8, 0x09DA, 0x09DC,
     181             :     0x09DE, 0x09E0, 0x09E2, 0x09E4, 0x09E6, 0x09E8, 0x09EA, 0x09EC,
     182             :     0x09EE, 0x09F0, 0x09F2, 0x09F4, 0x09F6, 0x09F8, 0x09FA, 0x09FC,
     183             :     0x09FE, 0x3F00, 0x3F02, 0x3F04, 0x3F06, 0x3F08, 0x3F0A, 0x3F0C,
     184             :     0x3F0E, 0x3F10, 0x3F12, 0x3F14, 0x3F16, 0x3F18, 0x3F1A, 0x3F1C,
     185             :     0x3F1E, 0x3F20, 0x3F22, 0x3F24, 0x3F26, 0x3F28, 0x3F2A, 0x3F2C,
     186             :     0x3F2E, 0x3F30, 0x3F32, 0x3F34, 0x3F36, 0x3F38, 0x3F3A, 0x3F3C,
     187             :     0x3F3E, 0x3F40, 0x3F42, 0x3F44, 0x3F46, 0x3F48, 0x3F4A, 0x3F4C,
     188             :     0x3F4E, 0x3F50, 0x3F52, 0x3F54, 0x3F56, 0x3F58, 0x3F5A, 0x3F5C,
     189             :     0x3F5E, 0x3F60, 0x3F62, 0x3F64, 0x3F66, 0x3F68, 0x3F6A, 0x3F6C,
     190             :     0x3F6E, 0x3F70, 0x3F72, 0x3F74, 0x3F76, 0x3F78, 0x3F7A, 0x3F7C,
     191             :     0x3F7E, 0x3F80, 0x3F82, 0x3F84, 0x3F86, 0x3F88, 0x3F8A, 0x3F8C,
     192             :     0x3F8E, 0x3F90, 0x3F92, 0x3F94, 0x3F96, 0x3F98, 0x3F9A, 0x3F9C,
     193             :     0x3F9E, 0x3FA0, 0x3FA2, 0x3FA4, 0x3FA6, 0x3FA8, 0x3FAA, 0x3FAC,
     194             :     0x3FAE, 0x3FB0, 0x3FB2, 0x3FB4, 0x3FB6, 0x3FB8, 0x3FBA, 0x3FBC,
     195             :     0x3FBE, 0x3FC0, 0x3FC2, 0x3FC4, 0x3FC6, 0x3FC8, 0x3FCA, 0x3FCC,
     196             :     0x3FCE, 0x3FD0, 0x3FD2, 0x3FD4, 0x3FD6, 0x3FD8, 0x3FDA, 0x3FDC,
     197             :     0x3FDE, 0x3FE0, 0x3FE2, 0x3FE4, 0x3FE6, 0x3FE8, 0x3FEA, 0x3FEC,
     198             :     0x3FEE, 0x3FF0, 0x3FF2, 0x3FF4, 0x3FF6, 0x3FF8, 0x3FFA, 0x3FFC,
     199             :     0x1FFF, 0x3FFD, 0x3FFB, 0x3FF9, 0x3FF7, 0x3FF5, 0x3FF3, 0x3FF1,
     200             :     0x3FEF, 0x3FED, 0x3FEB, 0x3FE9, 0x3FE7, 0x3FE5, 0x3FE3, 0x3FE1,
     201             :     0x3FDF, 0x3FDD, 0x3FDB, 0x3FD9, 0x3FD7, 0x3FD5, 0x3FD3, 0x3FD1,
     202             :     0x3FCF, 0x3FCD, 0x3FCB, 0x3FC9, 0x3FC7, 0x3FC5, 0x3FC3, 0x3FC1,
     203             :     0x3FBF, 0x3FBD, 0x3FBB, 0x3FB9, 0x3FB7, 0x3FB5, 0x3FB3, 0x3FB1,
     204             :     0x3FAF, 0x3FAD, 0x3FAB, 0x3FA9, 0x3FA7, 0x3FA5, 0x3FA3, 0x3FA1,
     205             :     0x3F9F, 0x3F9D, 0x3F9B, 0x3F99, 0x3F97, 0x3F95, 0x3F93, 0x3F91,
     206             :     0x3F8F, 0x3F8D, 0x3F8B, 0x3F89, 0x3F87, 0x3F85, 0x3F83, 0x3F81,
     207             :     0x3F7F, 0x3F7D, 0x3F7B, 0x3F79, 0x3F77, 0x3F75, 0x3F73, 0x3F71,
     208             :     0x3F6F, 0x3F6D, 0x3F6B, 0x3F69, 0x3F67, 0x3F65, 0x3F63, 0x3F61,
     209             :     0x3F5F, 0x3F5D, 0x3F5B, 0x3F59, 0x3F57, 0x3F55, 0x3F53, 0x3F51,
     210             :     0x3F4F, 0x3F4D, 0x3F4B, 0x3F49, 0x3F47, 0x3F45, 0x3F43, 0x3F41,
     211             :     0x3F3F, 0x3F3D, 0x3F3B, 0x3F39, 0x3F37, 0x3F35, 0x3F33, 0x3F31,
     212             :     0x3F2F, 0x3F2D, 0x3F2B, 0x3F29, 0x3F27, 0x3F25, 0x3F23, 0x3F21,
     213             :     0x3F1F, 0x3F1D, 0x3F1B, 0x3F19, 0x3F17, 0x3F15, 0x3F13, 0x3F11,
     214             :     0x3F0F, 0x3F0D, 0x3F0B, 0x3F09, 0x3F07, 0x3F05, 0x3F03, 0x3F01,
     215             :     0x09FF, 0x09FD, 0x09FB, 0x09F9, 0x09F7, 0x09F5, 0x09F3, 0x09F1,
     216             :     0x09EF, 0x09ED, 0x09EB, 0x09E9, 0x09E7, 0x09E5, 0x09E3, 0x09E1,
     217             :     0x09DF, 0x09DD, 0x09DB, 0x09D9, 0x09D7, 0x09D5, 0x09D3, 0x09D1,
     218             :     0x09CF, 0x09CD, 0x09CB, 0x09C9, 0x09C7, 0x09C5, 0x09C3, 0x09C1,
     219             :     0x09BF, 0x09BD, 0x09BB, 0x09B9, 0x09B7, 0x09B5, 0x09B3, 0x09B1,
     220             :     0x09AF, 0x09AD, 0x09AB, 0x09A9, 0x09A7, 0x09A5, 0x09A3, 0x09A1,
     221             :     0x099F, 0x099D, 0x099B, 0x0999, 0x0997, 0x0995, 0x0993, 0x0991,
     222             :     0x098F, 0x098D, 0x098B, 0x0989, 0x0987, 0x0985, 0x0983, 0x0981,
     223             :     0x097F, 0x097D, 0x097B, 0x0979, 0x0977, 0x0975, 0x0973, 0x0971,
     224             :     0x096F, 0x096D, 0x096B, 0x0969, 0x0967, 0x0965, 0x0963, 0x0961,
     225             :     0x095F, 0x095D, 0x095B, 0x0959, 0x0957, 0x0955, 0x0953, 0x0951,
     226             :     0x094F, 0x094D, 0x094B, 0x0949, 0x0947, 0x0945, 0x0943, 0x0941,
     227             :     0x093F, 0x093D, 0x093B, 0x0939, 0x0937, 0x0935, 0x0933, 0x0931,
     228             :     0x092F, 0x092D, 0x092B, 0x0929, 0x0927, 0x0925, 0x0923, 0x0921,
     229             :     0x091F, 0x091D, 0x091B, 0x0919, 0x0917, 0x0915, 0x0913, 0x0911,
     230             :     0x090F, 0x090D, 0x090B, 0x0909, 0x0907, 0x0905, 0x0903, 0x0901,
     231             :     0x0C7F, 0x0C7D, 0x0C7B, 0x0C79, 0x0C77, 0x0C75, 0x0C73, 0x0C71,
     232             :     0x0C6F, 0x0C6D, 0x0C6B, 0x0C69, 0x0C67, 0x0C65, 0x0C63, 0x0C61,
     233             :     0x0C5F, 0x0C5D, 0x0C5B, 0x0C59, 0x0C57, 0x0C55, 0x0C53, 0x0C51,
     234             :     0x0C4F, 0x0C4D, 0x0C4B, 0x0C49, 0x0C47, 0x0C45, 0x0C43, 0x0C41,
     235             :     0x0C3F, 0x0C3D, 0x0C3B, 0x0C39, 0x0C37, 0x0C35, 0x0C33, 0x0C31,
     236             :     0x0C2F, 0x0C2D, 0x0C2B, 0x0C29, 0x0C27, 0x0C25, 0x0C23, 0x0C21,
     237             :     0x0C1F, 0x0C1D, 0x0C1B, 0x0C19, 0x0C17, 0x0C15, 0x0C13, 0x0C11,
     238             :     0x0C0F, 0x0C0D, 0x0C0B, 0x0C09, 0x0C07, 0x0C05, 0x0C03, 0x0C01,
     239             :     0x047F, 0x047D, 0x047B, 0x0479, 0x0477, 0x0475, 0x0473, 0x0471,
     240             :     0x046F, 0x046D, 0x046B, 0x0469, 0x0467, 0x0465, 0x0463, 0x0461,
     241             :     0x045F, 0x045D, 0x045B, 0x0459, 0x0457, 0x0455, 0x0453, 0x0451,
     242             :     0x044F, 0x044D, 0x044B, 0x0449, 0x0447, 0x0445, 0x0443, 0x0441,
     243             :     0x043F, 0x043D, 0x043B, 0x0439, 0x0437, 0x0435, 0x0433, 0x0431,
     244             :     0x042F, 0x042D, 0x042B, 0x0429, 0x0427, 0x0425, 0x0423, 0x0421,
     245             :     0x041F, 0x041D, 0x041B, 0x0419, 0x0417, 0x0415, 0x0413, 0x0411,
     246             :     0x040F, 0x040D, 0x040B, 0x0409, 0x0407, 0x0405, 0x0403, 0x0401,
     247             :     0x01FF, 0x01FD, 0x01FB, 0x01F9, 0x01F7, 0x01F5, 0x01F3, 0x01F1,
     248             :     0x01EF, 0x01ED, 0x01EB, 0x01E9, 0x01E7, 0x01E5, 0x01E3, 0x01E1,
     249             :     0x01DF, 0x01DD, 0x01DB, 0x01D9, 0x01D7, 0x01D5, 0x01D3, 0x01D1,
     250             :     0x01CF, 0x01CD, 0x01CB, 0x01C9, 0x01C7, 0x01C5, 0x01C3, 0x01C1,
     251             :     0x007F, 0x007D, 0x007B, 0x0079, 0x0077, 0x0075, 0x0073, 0x0071,
     252             :     0x006F, 0x006D, 0x006B, 0x0069, 0x0067, 0x0065, 0x0063, 0x0061,
     253             :     0x005F, 0x005D, 0x005B, 0x0059, 0x0057, 0x0055, 0x0053, 0x0051,
     254             :     0x004F, 0x004D, 0x004B, 0x0049, 0x0047, 0x0045, 0x0043, 0x0041,
     255             :     0x00DF, 0x00DD, 0x00DB, 0x00D9, 0x00D7, 0x00D5, 0x00D3, 0x00D1,
     256             :     0x00CF, 0x00CD, 0x00CB, 0x00C9, 0x00C7, 0x00C5, 0x00C3, 0x00C1,
     257             :     0x001F, 0x001D, 0x001B, 0x0019, 0x0017, 0x0015, 0x0013, 0x0011,
     258             :     0x000F, 0x000D, 0x000B, 0x0009, 0x0007, 0x0005, 0x0003, 0x0001,
     259             :     0x005F, 0x005D, 0x005B, 0x0059, 0x0057, 0x0055, 0x0053, 0x0051,
     260             :     0x004F, 0x004D, 0x004B, 0x0049, 0x0047, 0x0045, 0x0043, 0x0041,
     261             :     0x007D, 0x007B, 0x0079, 0x0077, 0x0075, 0x0073, 0x0071, 0x006F,
     262             :     0x006D, 0x006B, 0x0069, 0x0067, 0x0065, 0x002F, 0x002D, 0x002B,
     263             : };
     264             : 
     265             : static const uint8_t dc10_vlc_lens[1024] = {
     266             :      5,  6,  6,  6,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
     267             :      7,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
     268             :      8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
     269             :      8,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     270             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     271             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     272             :      9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     273             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     274             :     10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     275             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     276             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     277             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     278             :     11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     279             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     280             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     281             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     282             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     283             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     284             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     285             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     286             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     287             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     288             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     289             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     290             :     12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     291             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     292             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     293             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     294             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     295             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     296             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     297             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     298             :     13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     299             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     300             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     301             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     302             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     303             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     304             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     305             :     14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
     306             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     307             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     308             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     309             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     310             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     311             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     312             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     313             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     314             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     315             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     316             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     317             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     318             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     319             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     320             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     321             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     322             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     323             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     324             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     325             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     326             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     327             :      8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
     328             :      8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
     329             :      7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  6,  6,  6,
     330             : };
     331             : 
     332             : static const uint16_t dc11_vlc_bits[2048] = {
     333             :     0x0032, 0x0066, 0x0068, 0x006A, 0x006C, 0x006E, 0x0070, 0x0072,
     334             :     0x0074, 0x00F0, 0x00F2, 0x00F4, 0x00F6, 0x00F8, 0x00FA, 0x00FC,
     335             :     0x00FE, 0x0040, 0x0042, 0x0044, 0x0046, 0x0048, 0x004A, 0x004C,
     336             :     0x004E, 0x0050, 0x0052, 0x0054, 0x0056, 0x0058, 0x005A, 0x005C,
     337             :     0x005E, 0x00C0, 0x00C2, 0x00C4, 0x00C6, 0x00C8, 0x00CA, 0x00CC,
     338             :     0x00CE, 0x00D0, 0x00D2, 0x00D4, 0x00D6, 0x00D8, 0x00DA, 0x00DC,
     339             :     0x00DE, 0x00E0, 0x00E2, 0x00E4, 0x00E6, 0x00E8, 0x00EA, 0x00EC,
     340             :     0x00EE, 0x00F0, 0x00F2, 0x00F4, 0x00F6, 0x00F8, 0x00FA, 0x00FC,
     341             :     0x00FE, 0x0000, 0x0002, 0x0004, 0x0006, 0x0008, 0x000A, 0x000C,
     342             :     0x000E, 0x0010, 0x0012, 0x0014, 0x0016, 0x0018, 0x001A, 0x001C,
     343             :     0x001E, 0x0020, 0x0022, 0x0024, 0x0026, 0x0028, 0x002A, 0x002C,
     344             :     0x002E, 0x0030, 0x0032, 0x0034, 0x0036, 0x0038, 0x003A, 0x003C,
     345             :     0x003E, 0x0200, 0x0202, 0x0204, 0x0206, 0x0208, 0x020A, 0x020C,
     346             :     0x020E, 0x0210, 0x0212, 0x0214, 0x0216, 0x0218, 0x021A, 0x021C,
     347             :     0x021E, 0x0220, 0x0222, 0x0224, 0x0226, 0x0228, 0x022A, 0x022C,
     348             :     0x022E, 0x0230, 0x0232, 0x0234, 0x0236, 0x0238, 0x023A, 0x023C,
     349             :     0x023E, 0x0080, 0x0082, 0x0084, 0x0086, 0x0088, 0x008A, 0x008C,
     350             :     0x008E, 0x0090, 0x0092, 0x0094, 0x0096, 0x0098, 0x009A, 0x009C,
     351             :     0x009E, 0x00A0, 0x00A2, 0x00A4, 0x00A6, 0x00A8, 0x00AA, 0x00AC,
     352             :     0x00AE, 0x00B0, 0x00B2, 0x00B4, 0x00B6, 0x00B8, 0x00BA, 0x00BC,
     353             :     0x00BE, 0x00C0, 0x00C2, 0x00C4, 0x00C6, 0x00C8, 0x00CA, 0x00CC,
     354             :     0x00CE, 0x00D0, 0x00D2, 0x00D4, 0x00D6, 0x00D8, 0x00DA, 0x00DC,
     355             :     0x00DE, 0x00E0, 0x00E2, 0x00E4, 0x00E6, 0x00E8, 0x00EA, 0x00EC,
     356             :     0x00EE, 0x00F0, 0x00F2, 0x00F4, 0x00F6, 0x00F8, 0x00FA, 0x00FC,
     357             :     0x00FE, 0x0480, 0x0482, 0x0484, 0x0486, 0x0488, 0x048A, 0x048C,
     358             :     0x048E, 0x0490, 0x0492, 0x0494, 0x0496, 0x0498, 0x049A, 0x049C,
     359             :     0x049E, 0x04A0, 0x04A2, 0x04A4, 0x04A6, 0x04A8, 0x04AA, 0x04AC,
     360             :     0x04AE, 0x04B0, 0x04B2, 0x04B4, 0x04B6, 0x04B8, 0x04BA, 0x04BC,
     361             :     0x04BE, 0x04C0, 0x04C2, 0x04C4, 0x04C6, 0x04C8, 0x04CA, 0x04CC,
     362             :     0x04CE, 0x04D0, 0x04D2, 0x04D4, 0x04D6, 0x04D8, 0x04DA, 0x04DC,
     363             :     0x04DE, 0x04E0, 0x04E2, 0x04E4, 0x04E6, 0x04E8, 0x04EA, 0x04EC,
     364             :     0x04EE, 0x04F0, 0x04F2, 0x04F4, 0x04F6, 0x04F8, 0x04FA, 0x04FC,
     365             :     0x04FE, 0x0A00, 0x0A02, 0x0A04, 0x0A06, 0x0A08, 0x0A0A, 0x0A0C,
     366             :     0x0A0E, 0x0A10, 0x0A12, 0x0A14, 0x0A16, 0x0A18, 0x0A1A, 0x0A1C,
     367             :     0x0A1E, 0x0A20, 0x0A22, 0x0A24, 0x0A26, 0x0A28, 0x0A2A, 0x0A2C,
     368             :     0x0A2E, 0x0A30, 0x0A32, 0x0A34, 0x0A36, 0x0A38, 0x0A3A, 0x0A3C,
     369             :     0x0A3E, 0x0A40, 0x0A42, 0x0A44, 0x0A46, 0x0A48, 0x0A4A, 0x0A4C,
     370             :     0x0A4E, 0x0A50, 0x0A52, 0x0A54, 0x0A56, 0x0A58, 0x0A5A, 0x0A5C,
     371             :     0x0A5E, 0x0A60, 0x0A62, 0x0A64, 0x0A66, 0x0A68, 0x0A6A, 0x0A6C,
     372             :     0x0A6E, 0x0A70, 0x0A72, 0x0A74, 0x0A76, 0x0A78, 0x0A7A, 0x0A7C,
     373             :     0x0A7E, 0x0A80, 0x0A82, 0x0A84, 0x0A86, 0x0A88, 0x0A8A, 0x0A8C,
     374             :     0x0A8E, 0x0A90, 0x0A92, 0x0A94, 0x0A96, 0x0A98, 0x0A9A, 0x0A9C,
     375             :     0x0A9E, 0x0AA0, 0x0AA2, 0x0AA4, 0x0AA6, 0x0AA8, 0x0AAA, 0x0AAC,
     376             :     0x0AAE, 0x0AB0, 0x0AB2, 0x0AB4, 0x0AB6, 0x0AB8, 0x0ABA, 0x0ABC,
     377             :     0x0ABE, 0x0AC0, 0x0AC2, 0x0AC4, 0x0AC6, 0x0AC8, 0x0ACA, 0x0ACC,
     378             :     0x0ACE, 0x0AD0, 0x0AD2, 0x0AD4, 0x0AD6, 0x0AD8, 0x0ADA, 0x0ADC,
     379             :     0x0ADE, 0x0AE0, 0x0AE2, 0x0AE4, 0x0AE6, 0x0AE8, 0x0AEA, 0x0AEC,
     380             :     0x0AEE, 0x0AF0, 0x0AF2, 0x0AF4, 0x0AF6, 0x0AF8, 0x0AFA, 0x0AFC,
     381             :     0x0AFE, 0x1800, 0x1802, 0x1804, 0x1806, 0x1808, 0x180A, 0x180C,
     382             :     0x180E, 0x1810, 0x1812, 0x1814, 0x1816, 0x1818, 0x181A, 0x181C,
     383             :     0x181E, 0x1820, 0x1822, 0x1824, 0x1826, 0x1828, 0x182A, 0x182C,
     384             :     0x182E, 0x1830, 0x1832, 0x1834, 0x1836, 0x1838, 0x183A, 0x183C,
     385             :     0x183E, 0x1840, 0x1842, 0x1844, 0x1846, 0x1848, 0x184A, 0x184C,
     386             :     0x184E, 0x1850, 0x1852, 0x1854, 0x1856, 0x1858, 0x185A, 0x185C,
     387             :     0x185E, 0x1860, 0x1862, 0x1864, 0x1866, 0x1868, 0x186A, 0x186C,
     388             :     0x186E, 0x1870, 0x1872, 0x1874, 0x1876, 0x1878, 0x187A, 0x187C,
     389             :     0x187E, 0x1880, 0x1882, 0x1884, 0x1886, 0x1888, 0x188A, 0x188C,
     390             :     0x188E, 0x1890, 0x1892, 0x1894, 0x1896, 0x1898, 0x189A, 0x189C,
     391             :     0x189E, 0x18A0, 0x18A2, 0x18A4, 0x18A6, 0x18A8, 0x18AA, 0x18AC,
     392             :     0x18AE, 0x18B0, 0x18B2, 0x18B4, 0x18B6, 0x18B8, 0x18BA, 0x18BC,
     393             :     0x18BE, 0x18C0, 0x18C2, 0x18C4, 0x18C6, 0x18C8, 0x18CA, 0x18CC,
     394             :     0x18CE, 0x18D0, 0x18D2, 0x18D4, 0x18D6, 0x18D8, 0x18DA, 0x18DC,
     395             :     0x18DE, 0x18E0, 0x18E2, 0x18E4, 0x18E6, 0x18E8, 0x18EA, 0x18EC,
     396             :     0x18EE, 0x18F0, 0x18F2, 0x18F4, 0x18F6, 0x18F8, 0x18FA, 0x18FC,
     397             :     0x18FE, 0x1600, 0x1602, 0x1604, 0x1606, 0x1608, 0x160A, 0x160C,
     398             :     0x160E, 0x1610, 0x1612, 0x1614, 0x1616, 0x1618, 0x161A, 0x161C,
     399             :     0x161E, 0x1620, 0x1622, 0x1624, 0x1626, 0x1628, 0x162A, 0x162C,
     400             :     0x162E, 0x1630, 0x1632, 0x1634, 0x1636, 0x1638, 0x163A, 0x163C,
     401             :     0x163E, 0x1640, 0x1642, 0x1644, 0x1646, 0x1648, 0x164A, 0x164C,
     402             :     0x164E, 0x1650, 0x1652, 0x1654, 0x1656, 0x1658, 0x165A, 0x165C,
     403             :     0x165E, 0x1660, 0x1662, 0x1664, 0x1666, 0x1668, 0x166A, 0x166C,
     404             :     0x166E, 0x1670, 0x1672, 0x1674, 0x1676, 0x1678, 0x167A, 0x167C,
     405             :     0x167E, 0x1680, 0x1682, 0x1684, 0x1686, 0x1688, 0x168A, 0x168C,
     406             :     0x168E, 0x1690, 0x1692, 0x1694, 0x1696, 0x1698, 0x169A, 0x169C,
     407             :     0x169E, 0x16A0, 0x16A2, 0x16A4, 0x16A6, 0x16A8, 0x16AA, 0x16AC,
     408             :     0x16AE, 0x16B0, 0x16B2, 0x16B4, 0x16B6, 0x16B8, 0x16BA, 0x16BC,
     409             :     0x16BE, 0x16C0, 0x16C2, 0x16C4, 0x16C6, 0x16C8, 0x16CA, 0x16CC,
     410             :     0x16CE, 0x16D0, 0x16D2, 0x16D4, 0x16D6, 0x16D8, 0x16DA, 0x16DC,
     411             :     0x16DE, 0x16E0, 0x16E2, 0x16E4, 0x16E6, 0x16E8, 0x16EA, 0x16EC,
     412             :     0x16EE, 0x16F0, 0x16F2, 0x16F4, 0x16F6, 0x16F8, 0x16FA, 0x16FC,
     413             :     0x16FE, 0x1700, 0x1702, 0x1704, 0x1706, 0x1708, 0x170A, 0x170C,
     414             :     0x170E, 0x1710, 0x1712, 0x1714, 0x1716, 0x1718, 0x171A, 0x171C,
     415             :     0x171E, 0x1720, 0x1722, 0x1724, 0x1726, 0x1728, 0x172A, 0x172C,
     416             :     0x172E, 0x1730, 0x1732, 0x1734, 0x1736, 0x1738, 0x173A, 0x173C,
     417             :     0x173E, 0x1740, 0x1742, 0x1744, 0x1746, 0x1748, 0x174A, 0x174C,
     418             :     0x174E, 0x1750, 0x1752, 0x1754, 0x1756, 0x1758, 0x175A, 0x175C,
     419             :     0x175E, 0x1760, 0x1762, 0x1764, 0x1766, 0x1768, 0x176A, 0x176C,
     420             :     0x176E, 0x1770, 0x1772, 0x1774, 0x1776, 0x1778, 0x177A, 0x177C,
     421             :     0x177E, 0x1780, 0x1782, 0x1784, 0x1786, 0x1788, 0x178A, 0x178C,
     422             :     0x178E, 0x1790, 0x1792, 0x1794, 0x1796, 0x1798, 0x179A, 0x179C,
     423             :     0x179E, 0x17A0, 0x17A2, 0x17A4, 0x17A6, 0x17A8, 0x17AA, 0x17AC,
     424             :     0x17AE, 0x17B0, 0x17B2, 0x17B4, 0x17B6, 0x17B8, 0x17BA, 0x17BC,
     425             :     0x17BE, 0x17C0, 0x17C2, 0x17C4, 0x17C6, 0x17C8, 0x17CA, 0x17CC,
     426             :     0x17CE, 0x17D0, 0x17D2, 0x17D4, 0x17D6, 0x17D8, 0x17DA, 0x17DC,
     427             :     0x17DE, 0x17E0, 0x17E2, 0x17E4, 0x17E6, 0x17E8, 0x17EA, 0x17EC,
     428             :     0x17EE, 0x17F0, 0x17F2, 0x17F4, 0x17F6, 0x17F8, 0x17FA, 0x17FC,
     429             :     0x17FE, 0x7600, 0x7602, 0x7604, 0x7606, 0x7608, 0x760A, 0x760C,
     430             :     0x760E, 0x7610, 0x7612, 0x7614, 0x7616, 0x7618, 0x761A, 0x761C,
     431             :     0x761E, 0x7620, 0x7622, 0x7624, 0x7626, 0x7628, 0x762A, 0x762C,
     432             :     0x762E, 0x7630, 0x7632, 0x7634, 0x7636, 0x7638, 0x763A, 0x763C,
     433             :     0x763E, 0x7640, 0x7642, 0x7644, 0x7646, 0x7648, 0x764A, 0x764C,
     434             :     0x764E, 0x7650, 0x7652, 0x7654, 0x7656, 0x7658, 0x765A, 0x765C,
     435             :     0x765E, 0x7660, 0x7662, 0x7664, 0x7666, 0x7668, 0x766A, 0x766C,
     436             :     0x766E, 0x7670, 0x7672, 0x7674, 0x7676, 0x7678, 0x767A, 0x767C,
     437             :     0x767E, 0x7680, 0x7682, 0x7684, 0x7686, 0x7688, 0x768A, 0x768C,
     438             :     0x768E, 0x7690, 0x7692, 0x7694, 0x7696, 0x7698, 0x769A, 0x769C,
     439             :     0x769E, 0x76A0, 0x76A2, 0x76A4, 0x76A6, 0x76A8, 0x76AA, 0x76AC,
     440             :     0x76AE, 0x76B0, 0x76B2, 0x76B4, 0x76B6, 0x76B8, 0x76BA, 0x76BC,
     441             :     0x76BE, 0x76C0, 0x76C2, 0x76C4, 0x76C6, 0x76C8, 0x76CA, 0x76CC,
     442             :     0x76CE, 0x76D0, 0x76D2, 0x76D4, 0x76D6, 0x76D8, 0x76DA, 0x76DC,
     443             :     0x76DE, 0x76E0, 0x76E2, 0x76E4, 0x76E6, 0x76E8, 0x76EA, 0x76EC,
     444             :     0x76EE, 0x76F0, 0x76F2, 0x76F4, 0x76F6, 0x76F8, 0x76FA, 0x76FC,
     445             :     0x76FE, 0x7700, 0x7702, 0x7704, 0x7706, 0x7708, 0x770A, 0x770C,
     446             :     0x770E, 0x7710, 0x7712, 0x7714, 0x7716, 0x7718, 0x771A, 0x771C,
     447             :     0x771E, 0x7720, 0x7722, 0x7724, 0x7726, 0x7728, 0x772A, 0x772C,
     448             :     0x772E, 0x7730, 0x7732, 0x7734, 0x7736, 0x7738, 0x773A, 0x773C,
     449             :     0x773E, 0x7740, 0x7742, 0x7744, 0x7746, 0x7748, 0x774A, 0x774C,
     450             :     0x774E, 0x7750, 0x7752, 0x7754, 0x7756, 0x7758, 0x775A, 0x775C,
     451             :     0x775E, 0x7760, 0x7762, 0x7764, 0x7766, 0x7768, 0x776A, 0x776C,
     452             :     0x776E, 0x7770, 0x7772, 0x7774, 0x7776, 0x7778, 0x777A, 0x777C,
     453             :     0x777E, 0x7780, 0x7782, 0x7784, 0x7786, 0x7788, 0x778A, 0x778C,
     454             :     0x778E, 0x7790, 0x7792, 0x7794, 0x7796, 0x7798, 0x779A, 0x779C,
     455             :     0x779E, 0x77A0, 0x77A2, 0x77A4, 0x77A6, 0x77A8, 0x77AA, 0x77AC,
     456             :     0x77AE, 0x77B0, 0x77B2, 0x77B4, 0x77B6, 0x77B8, 0x77BA, 0x77BC,
     457             :     0x77BE, 0x77C0, 0x77C2, 0x77C4, 0x77C6, 0x77C8, 0x77CA, 0x77CC,
     458             :     0x77CE, 0x77D0, 0x77D2, 0x77D4, 0x77D6, 0x77D8, 0x77DA, 0x77DC,
     459             :     0x77DE, 0x77E0, 0x77E2, 0x77E4, 0x77E6, 0x77E8, 0x77EA, 0x77EC,
     460             :     0x77EE, 0x77F0, 0x77F2, 0x77F4, 0x77F6, 0x77F8, 0x77FA, 0x77FC,
     461             :     0x3BFF, 0x77FD, 0x77FB, 0x77F9, 0x77F7, 0x77F5, 0x77F3, 0x77F1,
     462             :     0x77EF, 0x77ED, 0x77EB, 0x77E9, 0x77E7, 0x77E5, 0x77E3, 0x77E1,
     463             :     0x77DF, 0x77DD, 0x77DB, 0x77D9, 0x77D7, 0x77D5, 0x77D3, 0x77D1,
     464             :     0x77CF, 0x77CD, 0x77CB, 0x77C9, 0x77C7, 0x77C5, 0x77C3, 0x77C1,
     465             :     0x77BF, 0x77BD, 0x77BB, 0x77B9, 0x77B7, 0x77B5, 0x77B3, 0x77B1,
     466             :     0x77AF, 0x77AD, 0x77AB, 0x77A9, 0x77A7, 0x77A5, 0x77A3, 0x77A1,
     467             :     0x779F, 0x779D, 0x779B, 0x7799, 0x7797, 0x7795, 0x7793, 0x7791,
     468             :     0x778F, 0x778D, 0x778B, 0x7789, 0x7787, 0x7785, 0x7783, 0x7781,
     469             :     0x777F, 0x777D, 0x777B, 0x7779, 0x7777, 0x7775, 0x7773, 0x7771,
     470             :     0x776F, 0x776D, 0x776B, 0x7769, 0x7767, 0x7765, 0x7763, 0x7761,
     471             :     0x775F, 0x775D, 0x775B, 0x7759, 0x7757, 0x7755, 0x7753, 0x7751,
     472             :     0x774F, 0x774D, 0x774B, 0x7749, 0x7747, 0x7745, 0x7743, 0x7741,
     473             :     0x773F, 0x773D, 0x773B, 0x7739, 0x7737, 0x7735, 0x7733, 0x7731,
     474             :     0x772F, 0x772D, 0x772B, 0x7729, 0x7727, 0x7725, 0x7723, 0x7721,
     475             :     0x771F, 0x771D, 0x771B, 0x7719, 0x7717, 0x7715, 0x7713, 0x7711,
     476             :     0x770F, 0x770D, 0x770B, 0x7709, 0x7707, 0x7705, 0x7703, 0x7701,
     477             :     0x76FF, 0x76FD, 0x76FB, 0x76F9, 0x76F7, 0x76F5, 0x76F3, 0x76F1,
     478             :     0x76EF, 0x76ED, 0x76EB, 0x76E9, 0x76E7, 0x76E5, 0x76E3, 0x76E1,
     479             :     0x76DF, 0x76DD, 0x76DB, 0x76D9, 0x76D7, 0x76D5, 0x76D3, 0x76D1,
     480             :     0x76CF, 0x76CD, 0x76CB, 0x76C9, 0x76C7, 0x76C5, 0x76C3, 0x76C1,
     481             :     0x76BF, 0x76BD, 0x76BB, 0x76B9, 0x76B7, 0x76B5, 0x76B3, 0x76B1,
     482             :     0x76AF, 0x76AD, 0x76AB, 0x76A9, 0x76A7, 0x76A5, 0x76A3, 0x76A1,
     483             :     0x769F, 0x769D, 0x769B, 0x7699, 0x7697, 0x7695, 0x7693, 0x7691,
     484             :     0x768F, 0x768D, 0x768B, 0x7689, 0x7687, 0x7685, 0x7683, 0x7681,
     485             :     0x767F, 0x767D, 0x767B, 0x7679, 0x7677, 0x7675, 0x7673, 0x7671,
     486             :     0x766F, 0x766D, 0x766B, 0x7669, 0x7667, 0x7665, 0x7663, 0x7661,
     487             :     0x765F, 0x765D, 0x765B, 0x7659, 0x7657, 0x7655, 0x7653, 0x7651,
     488             :     0x764F, 0x764D, 0x764B, 0x7649, 0x7647, 0x7645, 0x7643, 0x7641,
     489             :     0x763F, 0x763D, 0x763B, 0x7639, 0x7637, 0x7635, 0x7633, 0x7631,
     490             :     0x762F, 0x762D, 0x762B, 0x7629, 0x7627, 0x7625, 0x7623, 0x7621,
     491             :     0x761F, 0x761D, 0x761B, 0x7619, 0x7617, 0x7615, 0x7613, 0x7611,
     492             :     0x760F, 0x760D, 0x760B, 0x7609, 0x7607, 0x7605, 0x7603, 0x7601,
     493             :     0x17FF, 0x17FD, 0x17FB, 0x17F9, 0x17F7, 0x17F5, 0x17F3, 0x17F1,
     494             :     0x17EF, 0x17ED, 0x17EB, 0x17E9, 0x17E7, 0x17E5, 0x17E3, 0x17E1,
     495             :     0x17DF, 0x17DD, 0x17DB, 0x17D9, 0x17D7, 0x17D5, 0x17D3, 0x17D1,
     496             :     0x17CF, 0x17CD, 0x17CB, 0x17C9, 0x17C7, 0x17C5, 0x17C3, 0x17C1,
     497             :     0x17BF, 0x17BD, 0x17BB, 0x17B9, 0x17B7, 0x17B5, 0x17B3, 0x17B1,
     498             :     0x17AF, 0x17AD, 0x17AB, 0x17A9, 0x17A7, 0x17A5, 0x17A3, 0x17A1,
     499             :     0x179F, 0x179D, 0x179B, 0x1799, 0x1797, 0x1795, 0x1793, 0x1791,
     500             :     0x178F, 0x178D, 0x178B, 0x1789, 0x1787, 0x1785, 0x1783, 0x1781,
     501             :     0x177F, 0x177D, 0x177B, 0x1779, 0x1777, 0x1775, 0x1773, 0x1771,
     502             :     0x176F, 0x176D, 0x176B, 0x1769, 0x1767, 0x1765, 0x1763, 0x1761,
     503             :     0x175F, 0x175D, 0x175B, 0x1759, 0x1757, 0x1755, 0x1753, 0x1751,
     504             :     0x174F, 0x174D, 0x174B, 0x1749, 0x1747, 0x1745, 0x1743, 0x1741,
     505             :     0x173F, 0x173D, 0x173B, 0x1739, 0x1737, 0x1735, 0x1733, 0x1731,
     506             :     0x172F, 0x172D, 0x172B, 0x1729, 0x1727, 0x1725, 0x1723, 0x1721,
     507             :     0x171F, 0x171D, 0x171B, 0x1719, 0x1717, 0x1715, 0x1713, 0x1711,
     508             :     0x170F, 0x170D, 0x170B, 0x1709, 0x1707, 0x1705, 0x1703, 0x1701,
     509             :     0x16FF, 0x16FD, 0x16FB, 0x16F9, 0x16F7, 0x16F5, 0x16F3, 0x16F1,
     510             :     0x16EF, 0x16ED, 0x16EB, 0x16E9, 0x16E7, 0x16E5, 0x16E3, 0x16E1,
     511             :     0x16DF, 0x16DD, 0x16DB, 0x16D9, 0x16D7, 0x16D5, 0x16D3, 0x16D1,
     512             :     0x16CF, 0x16CD, 0x16CB, 0x16C9, 0x16C7, 0x16C5, 0x16C3, 0x16C1,
     513             :     0x16BF, 0x16BD, 0x16BB, 0x16B9, 0x16B7, 0x16B5, 0x16B3, 0x16B1,
     514             :     0x16AF, 0x16AD, 0x16AB, 0x16A9, 0x16A7, 0x16A5, 0x16A3, 0x16A1,
     515             :     0x169F, 0x169D, 0x169B, 0x1699, 0x1697, 0x1695, 0x1693, 0x1691,
     516             :     0x168F, 0x168D, 0x168B, 0x1689, 0x1687, 0x1685, 0x1683, 0x1681,
     517             :     0x167F, 0x167D, 0x167B, 0x1679, 0x1677, 0x1675, 0x1673, 0x1671,
     518             :     0x166F, 0x166D, 0x166B, 0x1669, 0x1667, 0x1665, 0x1663, 0x1661,
     519             :     0x165F, 0x165D, 0x165B, 0x1659, 0x1657, 0x1655, 0x1653, 0x1651,
     520             :     0x164F, 0x164D, 0x164B, 0x1649, 0x1647, 0x1645, 0x1643, 0x1641,
     521             :     0x163F, 0x163D, 0x163B, 0x1639, 0x1637, 0x1635, 0x1633, 0x1631,
     522             :     0x162F, 0x162D, 0x162B, 0x1629, 0x1627, 0x1625, 0x1623, 0x1621,
     523             :     0x161F, 0x161D, 0x161B, 0x1619, 0x1617, 0x1615, 0x1613, 0x1611,
     524             :     0x160F, 0x160D, 0x160B, 0x1609, 0x1607, 0x1605, 0x1603, 0x1601,
     525             :     0x18FF, 0x18FD, 0x18FB, 0x18F9, 0x18F7, 0x18F5, 0x18F3, 0x18F1,
     526             :     0x18EF, 0x18ED, 0x18EB, 0x18E9, 0x18E7, 0x18E5, 0x18E3, 0x18E1,
     527             :     0x18DF, 0x18DD, 0x18DB, 0x18D9, 0x18D7, 0x18D5, 0x18D3, 0x18D1,
     528             :     0x18CF, 0x18CD, 0x18CB, 0x18C9, 0x18C7, 0x18C5, 0x18C3, 0x18C1,
     529             :     0x18BF, 0x18BD, 0x18BB, 0x18B9, 0x18B7, 0x18B5, 0x18B3, 0x18B1,
     530             :     0x18AF, 0x18AD, 0x18AB, 0x18A9, 0x18A7, 0x18A5, 0x18A3, 0x18A1,
     531             :     0x189F, 0x189D, 0x189B, 0x1899, 0x1897, 0x1895, 0x1893, 0x1891,
     532             :     0x188F, 0x188D, 0x188B, 0x1889, 0x1887, 0x1885, 0x1883, 0x1881,
     533             :     0x187F, 0x187D, 0x187B, 0x1879, 0x1877, 0x1875, 0x1873, 0x1871,
     534             :     0x186F, 0x186D, 0x186B, 0x1869, 0x1867, 0x1865, 0x1863, 0x1861,
     535             :     0x185F, 0x185D, 0x185B, 0x1859, 0x1857, 0x1855, 0x1853, 0x1851,
     536             :     0x184F, 0x184D, 0x184B, 0x1849, 0x1847, 0x1845, 0x1843, 0x1841,
     537             :     0x183F, 0x183D, 0x183B, 0x1839, 0x1837, 0x1835, 0x1833, 0x1831,
     538             :     0x182F, 0x182D, 0x182B, 0x1829, 0x1827, 0x1825, 0x1823, 0x1821,
     539             :     0x181F, 0x181D, 0x181B, 0x1819, 0x1817, 0x1815, 0x1813, 0x1811,
     540             :     0x180F, 0x180D, 0x180B, 0x1809, 0x1807, 0x1805, 0x1803, 0x1801,
     541             :     0x0AFF, 0x0AFD, 0x0AFB, 0x0AF9, 0x0AF7, 0x0AF5, 0x0AF3, 0x0AF1,
     542             :     0x0AEF, 0x0AED, 0x0AEB, 0x0AE9, 0x0AE7, 0x0AE5, 0x0AE3, 0x0AE1,
     543             :     0x0ADF, 0x0ADD, 0x0ADB, 0x0AD9, 0x0AD7, 0x0AD5, 0x0AD3, 0x0AD1,
     544             :     0x0ACF, 0x0ACD, 0x0ACB, 0x0AC9, 0x0AC7, 0x0AC5, 0x0AC3, 0x0AC1,
     545             :     0x0ABF, 0x0ABD, 0x0ABB, 0x0AB9, 0x0AB7, 0x0AB5, 0x0AB3, 0x0AB1,
     546             :     0x0AAF, 0x0AAD, 0x0AAB, 0x0AA9, 0x0AA7, 0x0AA5, 0x0AA3, 0x0AA1,
     547             :     0x0A9F, 0x0A9D, 0x0A9B, 0x0A99, 0x0A97, 0x0A95, 0x0A93, 0x0A91,
     548             :     0x0A8F, 0x0A8D, 0x0A8B, 0x0A89, 0x0A87, 0x0A85, 0x0A83, 0x0A81,
     549             :     0x0A7F, 0x0A7D, 0x0A7B, 0x0A79, 0x0A77, 0x0A75, 0x0A73, 0x0A71,
     550             :     0x0A6F, 0x0A6D, 0x0A6B, 0x0A69, 0x0A67, 0x0A65, 0x0A63, 0x0A61,
     551             :     0x0A5F, 0x0A5D, 0x0A5B, 0x0A59, 0x0A57, 0x0A55, 0x0A53, 0x0A51,
     552             :     0x0A4F, 0x0A4D, 0x0A4B, 0x0A49, 0x0A47, 0x0A45, 0x0A43, 0x0A41,
     553             :     0x0A3F, 0x0A3D, 0x0A3B, 0x0A39, 0x0A37, 0x0A35, 0x0A33, 0x0A31,
     554             :     0x0A2F, 0x0A2D, 0x0A2B, 0x0A29, 0x0A27, 0x0A25, 0x0A23, 0x0A21,
     555             :     0x0A1F, 0x0A1D, 0x0A1B, 0x0A19, 0x0A17, 0x0A15, 0x0A13, 0x0A11,
     556             :     0x0A0F, 0x0A0D, 0x0A0B, 0x0A09, 0x0A07, 0x0A05, 0x0A03, 0x0A01,
     557             :     0x04FF, 0x04FD, 0x04FB, 0x04F9, 0x04F7, 0x04F5, 0x04F3, 0x04F1,
     558             :     0x04EF, 0x04ED, 0x04EB, 0x04E9, 0x04E7, 0x04E5, 0x04E3, 0x04E1,
     559             :     0x04DF, 0x04DD, 0x04DB, 0x04D9, 0x04D7, 0x04D5, 0x04D3, 0x04D1,
     560             :     0x04CF, 0x04CD, 0x04CB, 0x04C9, 0x04C7, 0x04C5, 0x04C3, 0x04C1,
     561             :     0x04BF, 0x04BD, 0x04BB, 0x04B9, 0x04B7, 0x04B5, 0x04B3, 0x04B1,
     562             :     0x04AF, 0x04AD, 0x04AB, 0x04A9, 0x04A7, 0x04A5, 0x04A3, 0x04A1,
     563             :     0x049F, 0x049D, 0x049B, 0x0499, 0x0497, 0x0495, 0x0493, 0x0491,
     564             :     0x048F, 0x048D, 0x048B, 0x0489, 0x0487, 0x0485, 0x0483, 0x0481,
     565             :     0x00FF, 0x00FD, 0x00FB, 0x00F9, 0x00F7, 0x00F5, 0x00F3, 0x00F1,
     566             :     0x00EF, 0x00ED, 0x00EB, 0x00E9, 0x00E7, 0x00E5, 0x00E3, 0x00E1,
     567             :     0x00DF, 0x00DD, 0x00DB, 0x00D9, 0x00D7, 0x00D5, 0x00D3, 0x00D1,
     568             :     0x00CF, 0x00CD, 0x00CB, 0x00C9, 0x00C7, 0x00C5, 0x00C3, 0x00C1,
     569             :     0x00BF, 0x00BD, 0x00BB, 0x00B9, 0x00B7, 0x00B5, 0x00B3, 0x00B1,
     570             :     0x00AF, 0x00AD, 0x00AB, 0x00A9, 0x00A7, 0x00A5, 0x00A3, 0x00A1,
     571             :     0x009F, 0x009D, 0x009B, 0x0099, 0x0097, 0x0095, 0x0093, 0x0091,
     572             :     0x008F, 0x008D, 0x008B, 0x0089, 0x0087, 0x0085, 0x0083, 0x0081,
     573             :     0x023F, 0x023D, 0x023B, 0x0239, 0x0237, 0x0235, 0x0233, 0x0231,
     574             :     0x022F, 0x022D, 0x022B, 0x0229, 0x0227, 0x0225, 0x0223, 0x0221,
     575             :     0x021F, 0x021D, 0x021B, 0x0219, 0x0217, 0x0215, 0x0213, 0x0211,
     576             :     0x020F, 0x020D, 0x020B, 0x0209, 0x0207, 0x0205, 0x0203, 0x0201,
     577             :     0x003F, 0x003D, 0x003B, 0x0039, 0x0037, 0x0035, 0x0033, 0x0031,
     578             :     0x002F, 0x002D, 0x002B, 0x0029, 0x0027, 0x0025, 0x0023, 0x0021,
     579             :     0x001F, 0x001D, 0x001B, 0x0019, 0x0017, 0x0015, 0x0013, 0x0011,
     580             :     0x000F, 0x000D, 0x000B, 0x0009, 0x0007, 0x0005, 0x0003, 0x0001,
     581             :     0x00FF, 0x00FD, 0x00FB, 0x00F9, 0x00F7, 0x00F5, 0x00F3, 0x00F1,
     582             :     0x00EF, 0x00ED, 0x00EB, 0x00E9, 0x00E7, 0x00E5, 0x00E3, 0x00E1,
     583             :     0x00DF, 0x00DD, 0x00DB, 0x00D9, 0x00D7, 0x00D5, 0x00D3, 0x00D1,
     584             :     0x00CF, 0x00CD, 0x00CB, 0x00C9, 0x00C7, 0x00C5, 0x00C3, 0x00C1,
     585             :     0x005F, 0x005D, 0x005B, 0x0059, 0x0057, 0x0055, 0x0053, 0x0051,
     586             :     0x004F, 0x004D, 0x004B, 0x0049, 0x0047, 0x0045, 0x0043, 0x0041,
     587             :     0x00FF, 0x00FD, 0x00FB, 0x00F9, 0x00F7, 0x00F5, 0x00F3, 0x00F1,
     588             :     0x0075, 0x0073, 0x0071, 0x006F, 0x006D, 0x006B, 0x0069, 0x0067,
     589             : };
     590             : 
     591             : static const uint8_t dc11_vlc_lens[2048] = {
     592             :      6,  7,  7,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,
     593             :      8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
     594             :      8,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     595             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     596             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     597             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     598             :      9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     599             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     600             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     601             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     602             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     603             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     604             :     10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     605             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     606             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     607             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     608             :     11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     609             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     610             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     611             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     612             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     613             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     614             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     615             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     616             :     12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     617             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     618             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     619             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     620             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     621             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     622             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     623             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     624             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     625             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     626             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     627             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     628             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     629             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     630             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     631             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     632             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     633             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     634             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     635             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     636             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     637             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     638             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     639             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     640             :     13, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     641             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     642             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     643             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     644             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     645             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     646             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     647             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     648             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     649             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     650             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     651             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     652             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     653             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     654             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     655             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     656             :     14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     657             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     658             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     659             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     660             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     661             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     662             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     663             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     664             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     665             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     666             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     667             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     668             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     669             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     670             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     671             :     15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
     672             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     673             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     674             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     675             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     676             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     677             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     678             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     679             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     680             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     681             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     682             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     683             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     684             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     685             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     686             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     687             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     688             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     689             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     690             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     691             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     692             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     693             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     694             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     695             :     13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
     696             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     697             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     698             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     699             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     700             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     701             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     702             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     703             :     12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
     704             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     705             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     706             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     707             :     11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
     708             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     709             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     710             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     711             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     712             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     713             :     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
     714             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     715             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     716             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     717             :      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
     718             :      8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
     719             :      8,  8,  8,  8,  8,  8,  8,  8,  7,  7,  7,  7,  7,  7,  7,  7,
     720             : };
     721             : 
     722             : #define RPT_2(a, b, c)    { a, b, c }, { a, b, c }
     723             : #define RPT_4(a, b, c)    RPT_2(  a, b, c), RPT_2(  a, b, c)
     724             : #define RPT_8(a, b, c)    RPT_4(  a, b, c), RPT_4(  a, b, c)
     725             : #define RPT_16(a, b, c)   RPT_8(  a, b, c), RPT_8(  a, b, c)
     726             : #define RPT_32(a, b, c)   RPT_16( a, b, c), RPT_16( a, b, c)
     727             : #define RPT_64(a, b, c)   RPT_32( a, b, c), RPT_32( a, b, c)
     728             : #define RPT_128(a, b, c)  RPT_64( a, b, c), RPT_64( a, b, c)
     729             : #define RPT_256(a, b, c)  RPT_128(a, b, c), RPT_128(a, b, c)
     730             : #define RPT_512(a, b, c)  RPT_256(a, b, c), RPT_256(a, b, c)
     731             : #define RPT_1024(a, b, c) RPT_512(a, b, c), RPT_512(a, b, c)
     732             : 
     733             : static const HQXLUT ac0_lut[] = {
     734             :     RPT_64  (   1,  0,  4 ), RPT_64  (  -1,  0,  4 ),
     735             :     RPT_64  (   2,  0,  4 ), RPT_64  (  -2,  0,  4 ),
     736             :     RPT_32  (   3,  0,  5 ), RPT_32  (  -3,  0,  5 ),
     737             :     RPT_32  (   4,  0,  5 ), RPT_32  (  -4,  0,  5 ),
     738             :     RPT_32  (   1,  1,  5 ), RPT_32  (  -1,  1,  5 ),
     739             :     RPT_16  (   5,  0,  6 ), RPT_16  (  -5,  0,  6 ),
     740             :     RPT_16  (   6,  0,  6 ), RPT_16  (  -6,  0,  6 ),
     741             :     RPT_16  (   7,  0,  6 ), RPT_16  (  -7,  0,  6 ),
     742             :     RPT_16  (   8,  0,  6 ), RPT_16  (  -8,  0,  6 ),
     743             :     { 1024,  0, -1 }, { 1056,  0, -1 }, { 1088,  0, -1 }, { 1120,  0, -1 },
     744             :     { 1152,  0, -1 }, { 1184,  0, -1 }, { 1216,  0, -1 }, { 1248,  0, -1 },
     745             :     { 1280,  0, -1 }, { 1312,  0, -1 }, { 1344,  0, -1 }, { 1376,  0, -1 },
     746             :     { 1408,  0, -1 }, { 1440,  0, -1 }, { 1472,  0, -1 }, { 1504,  0, -1 },
     747             :     { 1536,  0, -1 }, { 1568,  0, -1 }, { 1600,  0, -1 }, { 1632,  0, -1 },
     748             :     { 1664,  0, -1 }, { 1696,  0, -1 }, { 1728,  0, -1 }, { 1760,  0, -1 },
     749             :     { 1792,  0, -1 }, { 1824,  0, -1 }, { 1856,  0, -1 }, { 1888,  0, -1 },
     750             :     { 1920,  0, -1 }, { 1952,  0, -1 }, { 1984,  0, -1 }, { 2016,  0, -1 },
     751             :     RPT_32  (   0, 64,  5 ), RPT_8   (   9,  0,  7 ),
     752             :     RPT_8   (  -9,  0,  7 ), RPT_8   (  10,  0,  7 ),
     753             :     RPT_8   ( -10,  0,  7 ), RPT_8   (  11,  0,  7 ),
     754             :     RPT_8   ( -11,  0,  7 ), RPT_8   (  12,  0,  7 ),
     755             :     RPT_8   ( -12,  0,  7 ), RPT_8   (  13,  0,  7 ),
     756             :     RPT_8   ( -13,  0,  7 ), RPT_8   (  14,  0,  7 ),
     757             :     RPT_8   ( -14,  0,  7 ), RPT_8   (   2,  1,  7 ),
     758             :     RPT_8   (  -2,  1,  7 ), RPT_8   (   1,  2,  7 ),
     759             :     RPT_8   (  -1,  2,  7 ), RPT_4   (  15,  0,  8 ),
     760             :     RPT_4   ( -15,  0,  8 ), RPT_4   (  16,  0,  8 ),
     761             :     RPT_4   ( -16,  0,  8 ), RPT_4   (  17,  0,  8 ),
     762             :     RPT_4   ( -17,  0,  8 ), RPT_4   (  18,  0,  8 ),
     763             :     RPT_4   ( -18,  0,  8 ), RPT_4   (  19,  0,  8 ),
     764             :     RPT_4   ( -19,  0,  8 ), RPT_4   (  20,  0,  8 ),
     765             :     RPT_4   ( -20,  0,  8 ), RPT_4   (  21,  0,  8 ),
     766             :     RPT_4   ( -21,  0,  8 ), RPT_4   (   3,  1,  8 ),
     767             :     RPT_4   (  -3,  1,  8 ), RPT_4   (   4,  1,  8 ),
     768             :     RPT_4   (  -4,  1,  8 ), RPT_4   (   1,  3,  8 ),
     769             :     RPT_4   (  -1,  3,  8 ), RPT_4   (   1,  4,  8 ),
     770             :     RPT_4   (  -1,  4,  8 ), RPT_4   (   0,  0,  8 ),
     771             :     RPT_2   (  22,  0,  9 ), RPT_2   ( -22,  0,  9 ),
     772             :     RPT_2   (  23,  0,  9 ), RPT_2   ( -23,  0,  9 ),
     773             :     RPT_2   (  24,  0,  9 ), RPT_2   ( -24,  0,  9 ),
     774             :     RPT_2   (  25,  0,  9 ), RPT_2   ( -25,  0,  9 ),
     775             :     RPT_2   (  26,  0,  9 ), RPT_2   ( -26,  0,  9 ),
     776             :     RPT_2   (  27,  0,  9 ), RPT_2   ( -27,  0,  9 ),
     777             :     RPT_2   (  28,  0,  9 ), RPT_2   ( -28,  0,  9 ),
     778             :     RPT_2   (  29,  0,  9 ), RPT_2   ( -29,  0,  9 ),
     779             :     RPT_2   (  30,  0,  9 ), RPT_2   ( -30,  0,  9 ),
     780             :     RPT_2   (  31,  0,  9 ), RPT_2   ( -31,  0,  9 ),
     781             :     RPT_2   (  32,  0,  9 ), RPT_2   ( -32,  0,  9 ),
     782             :     RPT_2   (  33,  0,  9 ), RPT_2   ( -33,  0,  9 ),
     783             :     RPT_2   (   5,  1,  9 ), RPT_2   (  -5,  1,  9 ),
     784             :     RPT_2   (   6,  1,  9 ), RPT_2   (  -6,  1,  9 ),
     785             :     RPT_2   (   2,  2,  9 ), RPT_2   (  -2,  2,  9 ),
     786             :     RPT_2   (   1,  5,  9 ), RPT_2   (  -1,  5,  9 ),
     787             :     RPT_2   (   1,  6,  9 ), RPT_2   (  -1,  6,  9 ),
     788             :     {   34,  0, 10 }, {  -34,  0, 10 }, {   35,  0, 10 }, {  -35,  0, 10 },
     789             :     {   36,  0, 10 }, {  -36,  0, 10 }, {   37,  0, 10 }, {  -37,  0, 10 },
     790             :     {   38,  0, 10 }, {  -38,  0, 10 }, {   39,  0, 10 }, {  -39,  0, 10 },
     791             :     {   40,  0, 10 }, {  -40,  0, 10 }, {   41,  0, 10 }, {  -41,  0, 10 },
     792             :     {   42,  0, 10 }, {  -42,  0, 10 }, {   43,  0, 10 }, {  -43,  0, 10 },
     793             :     {   44,  0, 10 }, {  -44,  0, 10 }, {   45,  0, 10 }, {  -45,  0, 10 },
     794             :     {   46,  0, 10 }, {  -46,  0, 10 }, {   47,  0, 10 }, {  -47,  0, 10 },
     795             :     {   48,  0, 10 }, {  -48,  0, 10 }, {   49,  0, 10 }, {  -49,  0, 10 },
     796             :     {   50,  0, 10 }, {  -50,  0, 10 }, RPT_2   (   0,  1,  9 ),
     797             :     {    7,  1, 10 }, {   -7,  1, 10 }, {    8,  1, 10 }, {   -8,  1, 10 },
     798             :     {    9,  1, 10 }, {   -9,  1, 10 }, {   10,  1, 10 }, {  -10,  1, 10 },
     799             :     RPT_2   (   0,  2,  9 ), {    3,  2, 10 }, {   -3,  2, 10 },
     800             :     RPT_2   (   0,  3,  9 ), {    2,  3, 10 }, {   -2,  3, 10 },
     801             :     {    1,  7, 10 }, {   -1,  7, 10 }, {    1,  8, 10 }, {   -1,  8, 10 },
     802             :     { 2048,  0, -1 }, { 2080,  0, -1 }, { 2112,  0, -1 }, { 2144,  0, -1 },
     803             :     { 2176,  0, -1 }, { 2208,  0, -1 }, { 2240,  0, -1 }, { 2272,  0, -1 },
     804             :     { 2304,  0, -1 }, { 2336,  0, -1 }, { 2368,  0, -1 }, { 2400,  0, -1 },
     805             :     { 2432,  0, -1 }, { 2464,  0, -1 }, { 2496,  0, -1 }, { 2528,  0, -1 },
     806             :     { 2560,  0, -1 }, { 2592,  0, -1 }, { 2624,  0, -1 }, { 2656,  0, -1 },
     807             :     { 2688,  0, -1 }, { 2720,  0, -1 }, { 2752,  0, -1 }, {    0,  4, 10 },
     808             :     { 2784,  0, -1 }, {    0,  5, 10 }, {    0,  6, 10 }, { 2816,  0, -1 },
     809             :     { 2848,  0, -1 }, { 2880,  0, -1 }, { 2912,  0, -1 }, { 2944,  0, -1 },
     810             :     { 2976,  0, -1 }, { 3008,  0, -1 }, { 3040,  0, -1 }, { 3072,  0, -1 },
     811             :     { 3104,  0, -1 }, { 3136,  0, -1 }, { 3168,  0, -1 }, { 3200,  0, -1 },
     812             :     RPT_4   (   0,  0, 13 ), RPT_2   (   1,  0, 14 ),
     813             :     RPT_2   (  -1,  0, 14 ), RPT_2   (   2,  0, 14 ),
     814             :     RPT_2   (  -2,  0, 14 ), RPT_2   (   3,  0, 14 ),
     815             :     RPT_2   (  -3,  0, 14 ), RPT_2   (   4,  0, 14 ),
     816             :     RPT_2   (  -4,  0, 14 ), RPT_2   (   5,  0, 14 ),
     817             :     RPT_2   (  -5,  0, 14 ), RPT_2   (   6,  0, 14 ),
     818             :     RPT_2   (  -6,  0, 14 ), RPT_2   (   7,  0, 14 ),
     819             :     RPT_2   (  -7,  0, 14 ), RPT_2   (   8,  0, 14 ),
     820             :     RPT_2   (  -8,  0, 14 ), RPT_2   (   9,  0, 14 ),
     821             :     RPT_2   (  -9,  0, 14 ), RPT_2   (  10,  0, 14 ),
     822             :     RPT_2   ( -10,  0, 14 ), RPT_2   (  11,  0, 14 ),
     823             :     RPT_2   ( -11,  0, 14 ), RPT_2   (  12,  0, 14 ),
     824             :     RPT_2   ( -12,  0, 14 ), RPT_2   (  13,  0, 14 ),
     825             :     RPT_2   ( -13,  0, 14 ), RPT_2   (  14,  0, 14 ),
     826             :     RPT_2   ( -14,  0, 14 ), RPT_2   (  15,  0, 14 ),
     827             :     RPT_2   ( -15,  0, 14 ), RPT_2   (  16,  0, 14 ),
     828             :     RPT_2   ( -16,  0, 14 ), RPT_2   (  17,  0, 14 ),
     829             :     RPT_2   ( -17,  0, 14 ), RPT_2   (  18,  0, 14 ),
     830             :     RPT_2   ( -18,  0, 14 ), RPT_2   (  19,  0, 14 ),
     831             :     RPT_2   ( -19,  0, 14 ), RPT_2   (  20,  0, 14 ),
     832             :     RPT_2   ( -20,  0, 14 ), RPT_2   (  21,  0, 14 ),
     833             :     RPT_2   ( -21,  0, 14 ), RPT_2   (  22,  0, 14 ),
     834             :     RPT_2   ( -22,  0, 14 ), RPT_2   (  23,  0, 14 ),
     835             :     RPT_2   ( -23,  0, 14 ), RPT_2   (  24,  0, 14 ),
     836             :     RPT_2   ( -24,  0, 14 ), RPT_2   (  25,  0, 14 ),
     837             :     RPT_2   ( -25,  0, 14 ), RPT_2   (  26,  0, 14 ),
     838             :     RPT_2   ( -26,  0, 14 ), RPT_2   (  27,  0, 14 ),
     839             :     RPT_2   ( -27,  0, 14 ), RPT_2   (  28,  0, 14 ),
     840             :     RPT_2   ( -28,  0, 14 ), RPT_2   (  29,  0, 14 ),
     841             :     RPT_2   ( -29,  0, 14 ), RPT_2   (  30,  0, 14 ),
     842             :     RPT_2   ( -30,  0, 14 ), RPT_2   (  31,  0, 14 ),
     843             :     RPT_2   ( -31,  0, 14 ), RPT_2   (  32,  0, 14 ),
     844             :     RPT_2   ( -32,  0, 14 ), RPT_2   (  33,  0, 14 ),
     845             :     RPT_2   ( -33,  0, 14 ), RPT_2   (  34,  0, 14 ),
     846             :     RPT_2   ( -34,  0, 14 ), RPT_2   (  35,  0, 14 ),
     847             :     RPT_2   ( -35,  0, 14 ), RPT_2   (  36,  0, 14 ),
     848             :     RPT_2   ( -36,  0, 14 ), RPT_2   (  37,  0, 14 ),
     849             :     RPT_2   ( -37,  0, 14 ), RPT_2   (  38,  0, 14 ),
     850             :     RPT_2   ( -38,  0, 14 ), RPT_2   (  39,  0, 14 ),
     851             :     RPT_2   ( -39,  0, 14 ), RPT_2   (  40,  0, 14 ),
     852             :     RPT_2   ( -40,  0, 14 ), RPT_2   (  41,  0, 14 ),
     853             :     RPT_2   ( -41,  0, 14 ), RPT_2   (  42,  0, 14 ),
     854             :     RPT_2   ( -42,  0, 14 ), RPT_2   (  43,  0, 14 ),
     855             :     RPT_2   ( -43,  0, 14 ), RPT_2   (  44,  0, 14 ),
     856             :     RPT_2   ( -44,  0, 14 ), RPT_2   (  45,  0, 14 ),
     857             :     RPT_2   ( -45,  0, 14 ), RPT_2   (  46,  0, 14 ),
     858             :     RPT_2   ( -46,  0, 14 ), RPT_2   (  47,  0, 14 ),
     859             :     RPT_2   ( -47,  0, 14 ), RPT_2   (  48,  0, 14 ),
     860             :     RPT_2   ( -48,  0, 14 ), RPT_2   (  49,  0, 14 ),
     861             :     RPT_2   ( -49,  0, 14 ), RPT_2   (  50,  0, 14 ),
     862             :     RPT_2   ( -50,  0, 14 ), RPT_2   (  51,  0, 14 ),
     863             :     RPT_2   ( -51,  0, 14 ), RPT_2   (  52,  0, 14 ),
     864             :     RPT_2   ( -52,  0, 14 ), RPT_2   (  53,  0, 14 ),
     865             :     RPT_2   ( -53,  0, 14 ), RPT_2   (  54,  0, 14 ),
     866             :     RPT_2   ( -54,  0, 14 ), RPT_2   (  55,  0, 14 ),
     867             :     RPT_2   ( -55,  0, 14 ), RPT_2   (  56,  0, 14 ),
     868             :     RPT_2   ( -56,  0, 14 ), RPT_2   (  57,  0, 14 ),
     869             :     RPT_2   ( -57,  0, 14 ), RPT_2   (  58,  0, 14 ),
     870             :     RPT_2   ( -58,  0, 14 ), RPT_2   (  59,  0, 14 ),
     871             :     RPT_2   ( -59,  0, 14 ), RPT_2   (  60,  0, 14 ),
     872             :     RPT_2   ( -60,  0, 14 ), RPT_2   (  61,  0, 14 ),
     873             :     RPT_2   ( -61,  0, 14 ), RPT_2   (  62,  0, 14 ),
     874             :     RPT_2   ( -62,  0, 14 ), RPT_2   (  63,  0, 14 ),
     875             :     RPT_2   ( -63,  0, 14 ), RPT_2   (  64,  0, 14 ),
     876             :     RPT_2   ( -64,  0, 14 ), RPT_2   (  65,  0, 14 ),
     877             :     RPT_2   ( -65,  0, 14 ), RPT_2   (  66,  0, 14 ),
     878             :     RPT_2   ( -66,  0, 14 ), RPT_2   (  67,  0, 14 ),
     879             :     RPT_2   ( -67,  0, 14 ), RPT_2   (  68,  0, 14 ),
     880             :     RPT_2   ( -68,  0, 14 ), RPT_2   (  69,  0, 14 ),
     881             :     RPT_2   ( -69,  0, 14 ), RPT_2   (  70,  0, 14 ),
     882             :     RPT_2   ( -70,  0, 14 ), RPT_2   (  71,  0, 14 ),
     883             :     RPT_2   ( -71,  0, 14 ), RPT_2   (  72,  0, 14 ),
     884             :     RPT_2   ( -72,  0, 14 ), RPT_2   (  73,  0, 14 ),
     885             :     RPT_2   ( -73,  0, 14 ), RPT_2   (  74,  0, 14 ),
     886             :     RPT_2   ( -74,  0, 14 ), RPT_2   (  75,  0, 14 ),
     887             :     RPT_2   ( -75,  0, 14 ), RPT_2   (  76,  0, 14 ),
     888             :     RPT_2   ( -76,  0, 14 ), RPT_2   (  77,  0, 14 ),
     889             :     RPT_2   ( -77,  0, 14 ), RPT_2   (  78,  0, 14 ),
     890             :     RPT_2   ( -78,  0, 14 ), RPT_2   (  79,  0, 14 ),
     891             :     RPT_2   ( -79,  0, 14 ), RPT_2   (  80,  0, 14 ),
     892             :     RPT_2   ( -80,  0, 14 ), RPT_2   (  81,  0, 14 ),
     893             :     RPT_2   ( -81,  0, 14 ), RPT_2   (  82,  0, 14 ),
     894             :     RPT_2   ( -82,  0, 14 ), RPT_2   (  83,  0, 14 ),
     895             :     RPT_2   ( -83,  0, 14 ), RPT_2   (  84,  0, 14 ),
     896             :     RPT_2   ( -84,  0, 14 ), RPT_2   (  85,  0, 14 ),
     897             :     RPT_2   ( -85,  0, 14 ), RPT_2   (  86,  0, 14 ),
     898             :     RPT_2   ( -86,  0, 14 ), RPT_2   (  87,  0, 14 ),
     899             :     RPT_2   ( -87,  0, 14 ), RPT_2   (  88,  0, 14 ),
     900             :     RPT_2   ( -88,  0, 14 ), RPT_2   (  89,  0, 14 ),
     901             :     RPT_2   ( -89,  0, 14 ), RPT_2   (  90,  0, 14 ),
     902             :     RPT_2   ( -90,  0, 14 ), RPT_2   (  91,  0, 14 ),
     903             :     RPT_2   ( -91,  0, 14 ), RPT_2   (  92,  0, 14 ),
     904             :     RPT_2   ( -92,  0, 14 ), RPT_2   (  93,  0, 14 ),
     905             :     RPT_2   ( -93,  0, 14 ), RPT_2   (  94,  0, 14 ),
     906             :     RPT_2   ( -94,  0, 14 ), RPT_2   (  95,  0, 14 ),
     907             :     RPT_2   ( -95,  0, 14 ), RPT_2   (  96,  0, 14 ),
     908             :     RPT_2   ( -96,  0, 14 ), RPT_2   (  97,  0, 14 ),
     909             :     RPT_2   ( -97,  0, 14 ), RPT_2   (  98,  0, 14 ),
     910             :     RPT_2   ( -98,  0, 14 ), RPT_2   (  99,  0, 14 ),
     911             :     RPT_2   ( -99,  0, 14 ), RPT_2   ( 100,  0, 14 ),
     912             :     RPT_2   (-100,  0, 14 ), RPT_2   ( 101,  0, 14 ),
     913             :     RPT_2   (-101,  0, 14 ), RPT_2   ( 102,  0, 14 ),
     914             :     RPT_2   (-102,  0, 14 ), RPT_2   ( 103,  0, 14 ),
     915             :     RPT_2   (-103,  0, 14 ), RPT_2   ( 104,  0, 14 ),
     916             :     RPT_2   (-104,  0, 14 ), RPT_2   ( 105,  0, 14 ),
     917             :     RPT_2   (-105,  0, 14 ), RPT_2   ( 106,  0, 14 ),
     918             :     RPT_2   (-106,  0, 14 ), RPT_2   ( 107,  0, 14 ),
     919             :     RPT_2   (-107,  0, 14 ), RPT_2   ( 108,  0, 14 ),
     920             :     RPT_2   (-108,  0, 14 ), RPT_2   ( 109,  0, 14 ),
     921             :     RPT_2   (-109,  0, 14 ), RPT_2   ( 110,  0, 14 ),
     922             :     RPT_2   (-110,  0, 14 ), RPT_2   ( 111,  0, 14 ),
     923             :     RPT_2   (-111,  0, 14 ), RPT_2   ( 112,  0, 14 ),
     924             :     RPT_2   (-112,  0, 14 ), RPT_2   ( 113,  0, 14 ),
     925             :     RPT_2   (-113,  0, 14 ), RPT_2   ( 114,  0, 14 ),
     926             :     RPT_2   (-114,  0, 14 ), RPT_2   ( 115,  0, 14 ),
     927             :     RPT_2   (-115,  0, 14 ), RPT_2   ( 116,  0, 14 ),
     928             :     RPT_2   (-116,  0, 14 ), RPT_2   ( 117,  0, 14 ),
     929             :     RPT_2   (-117,  0, 14 ), RPT_2   ( 118,  0, 14 ),
     930             :     RPT_2   (-118,  0, 14 ), RPT_2   ( 119,  0, 14 ),
     931             :     RPT_2   (-119,  0, 14 ), RPT_2   ( 120,  0, 14 ),
     932             :     RPT_2   (-120,  0, 14 ), RPT_2   ( 121,  0, 14 ),
     933             :     RPT_2   (-121,  0, 14 ), RPT_2   ( 122,  0, 14 ),
     934             :     RPT_2   (-122,  0, 14 ), RPT_2   ( 123,  0, 14 ),
     935             :     RPT_2   (-123,  0, 14 ), RPT_2   ( 124,  0, 14 ),
     936             :     RPT_2   (-124,  0, 14 ), RPT_2   ( 125,  0, 14 ),
     937             :     RPT_2   (-125,  0, 14 ), RPT_2   ( 126,  0, 14 ),
     938             :     RPT_2   (-126,  0, 14 ), RPT_2   ( 127,  0, 14 ),
     939             :     RPT_2   (-127,  0, 14 ), RPT_2   ( 128,  0, 14 ),
     940             :     RPT_2   (-128,  0, 14 ), RPT_2   ( 129,  0, 14 ),
     941             :     RPT_2   (-129,  0, 14 ), RPT_2   ( 130,  0, 14 ),
     942             :     RPT_2   (-130,  0, 14 ), RPT_2   ( 131,  0, 14 ),
     943             :     RPT_2   (-131,  0, 14 ), RPT_2   ( 132,  0, 14 ),
     944             :     RPT_2   (-132,  0, 14 ), RPT_2   ( 133,  0, 14 ),
     945             :     RPT_2   (-133,  0, 14 ), RPT_2   ( 134,  0, 14 ),
     946             :     RPT_2   (-134,  0, 14 ), RPT_2   ( 135,  0, 14 ),
     947             :     RPT_2   (-135,  0, 14 ), RPT_2   ( 136,  0, 14 ),
     948             :     RPT_2   (-136,  0, 14 ), RPT_2   ( 137,  0, 14 ),
     949             :     RPT_2   (-137,  0, 14 ), RPT_2   ( 138,  0, 14 ),
     950             :     RPT_2   (-138,  0, 14 ), RPT_2   ( 139,  0, 14 ),
     951             :     RPT_2   (-139,  0, 14 ), RPT_2   ( 140,  0, 14 ),
     952             :     RPT_2   (-140,  0, 14 ), RPT_2   ( 141,  0, 14 ),
     953             :     RPT_2   (-141,  0, 14 ), RPT_2   ( 142,  0, 14 ),
     954             :     RPT_2   (-142,  0, 14 ), RPT_2   ( 143,  0, 14 ),
     955             :     RPT_2   (-143,  0, 14 ), RPT_2   ( 144,  0, 14 ),
     956             :     RPT_2   (-144,  0, 14 ), RPT_2   ( 145,  0, 14 ),
     957             :     RPT_2   (-145,  0, 14 ), RPT_2   ( 146,  0, 14 ),
     958             :     RPT_2   (-146,  0, 14 ), RPT_2   ( 147,  0, 14 ),
     959             :     RPT_2   (-147,  0, 14 ), RPT_2   ( 148,  0, 14 ),
     960             :     RPT_2   (-148,  0, 14 ), RPT_2   ( 149,  0, 14 ),
     961             :     RPT_2   (-149,  0, 14 ), RPT_2   ( 150,  0, 14 ),
     962             :     RPT_2   (-150,  0, 14 ), RPT_2   ( 151,  0, 14 ),
     963             :     RPT_2   (-151,  0, 14 ), RPT_2   ( 152,  0, 14 ),
     964             :     RPT_2   (-152,  0, 14 ), RPT_2   ( 153,  0, 14 ),
     965             :     RPT_2   (-153,  0, 14 ), RPT_2   ( 154,  0, 14 ),
     966             :     RPT_2   (-154,  0, 14 ), RPT_2   ( 155,  0, 14 ),
     967             :     RPT_2   (-155,  0, 14 ), RPT_2   ( 156,  0, 14 ),
     968             :     RPT_2   (-156,  0, 14 ), RPT_2   ( 157,  0, 14 ),
     969             :     RPT_2   (-157,  0, 14 ), RPT_2   ( 158,  0, 14 ),
     970             :     RPT_2   (-158,  0, 14 ), RPT_2   ( 159,  0, 14 ),
     971             :     RPT_2   (-159,  0, 14 ), RPT_2   ( 160,  0, 14 ),
     972             :     RPT_2   (-160,  0, 14 ), RPT_2   ( 161,  0, 14 ),
     973             :     RPT_2   (-161,  0, 14 ), RPT_2   ( 162,  0, 14 ),
     974             :     RPT_2   (-162,  0, 14 ), RPT_2   ( 163,  0, 14 ),
     975             :     RPT_2   (-163,  0, 14 ), RPT_2   ( 164,  0, 14 ),
     976             :     RPT_2   (-164,  0, 14 ), RPT_2   ( 165,  0, 14 ),
     977             :     RPT_2   (-165,  0, 14 ), RPT_2   ( 166,  0, 14 ),
     978             :     RPT_2   (-166,  0, 14 ), RPT_2   ( 167,  0, 14 ),
     979             :     RPT_2   (-167,  0, 14 ), RPT_2   ( 168,  0, 14 ),
     980             :     RPT_2   (-168,  0, 14 ), RPT_2   ( 169,  0, 14 ),
     981             :     RPT_2   (-169,  0, 14 ), RPT_2   ( 170,  0, 14 ),
     982             :     RPT_2   (-170,  0, 14 ), RPT_2   ( 171,  0, 14 ),
     983             :     RPT_2   (-171,  0, 14 ), RPT_2   ( 172,  0, 14 ),
     984             :     RPT_2   (-172,  0, 14 ), RPT_2   ( 173,  0, 14 ),
     985             :     RPT_2   (-173,  0, 14 ), RPT_2   ( 174,  0, 14 ),
     986             :     RPT_2   (-174,  0, 14 ), RPT_2   ( 175,  0, 14 ),
     987             :     RPT_2   (-175,  0, 14 ), RPT_2   ( 176,  0, 14 ),
     988             :     RPT_2   (-176,  0, 14 ), RPT_2   ( 177,  0, 14 ),
     989             :     RPT_2   (-177,  0, 14 ), RPT_2   ( 178,  0, 14 ),
     990             :     RPT_2   (-178,  0, 14 ), RPT_2   ( 179,  0, 14 ),
     991             :     RPT_2   (-179,  0, 14 ), RPT_2   ( 180,  0, 14 ),
     992             :     RPT_2   (-180,  0, 14 ), RPT_2   ( 181,  0, 14 ),
     993             :     RPT_2   (-181,  0, 14 ), RPT_2   ( 182,  0, 14 ),
     994             :     RPT_2   (-182,  0, 14 ), RPT_2   ( 183,  0, 14 ),
     995             :     RPT_2   (-183,  0, 14 ), RPT_2   ( 184,  0, 14 ),
     996             :     RPT_2   (-184,  0, 14 ), RPT_2   ( 185,  0, 14 ),
     997             :     RPT_2   (-185,  0, 14 ), RPT_2   ( 186,  0, 14 ),
     998             :     RPT_2   (-186,  0, 14 ), RPT_2   ( 187,  0, 14 ),
     999             :     RPT_2   (-187,  0, 14 ), RPT_2   ( 188,  0, 14 ),
    1000             :     RPT_2   (-188,  0, 14 ), RPT_2   ( 189,  0, 14 ),
    1001             :     RPT_2   (-189,  0, 14 ), RPT_2   ( 190,  0, 14 ),
    1002             :     RPT_2   (-190,  0, 14 ), RPT_2   ( 191,  0, 14 ),
    1003             :     RPT_2   (-191,  0, 14 ), RPT_2   ( 192,  0, 14 ),
    1004             :     RPT_2   (-192,  0, 14 ), RPT_2   ( 193,  0, 14 ),
    1005             :     RPT_2   (-193,  0, 14 ), RPT_2   ( 194,  0, 14 ),
    1006             :     RPT_2   (-194,  0, 14 ), RPT_2   ( 195,  0, 14 ),
    1007             :     RPT_2   (-195,  0, 14 ), RPT_2   ( 196,  0, 14 ),
    1008             :     RPT_2   (-196,  0, 14 ), RPT_2   ( 197,  0, 14 ),
    1009             :     RPT_2   (-197,  0, 14 ), RPT_2   ( 198,  0, 14 ),
    1010             :     RPT_2   (-198,  0, 14 ), RPT_2   ( 199,  0, 14 ),
    1011             :     RPT_2   (-199,  0, 14 ), RPT_2   ( 200,  0, 14 ),
    1012             :     RPT_2   (-200,  0, 14 ), RPT_2   ( 201,  0, 14 ),
    1013             :     RPT_2   (-201,  0, 14 ), RPT_2   ( 202,  0, 14 ),
    1014             :     RPT_2   (-202,  0, 14 ), RPT_2   ( 203,  0, 14 ),
    1015             :     RPT_2   (-203,  0, 14 ), RPT_2   ( 204,  0, 14 ),
    1016             :     RPT_2   (-204,  0, 14 ), RPT_2   ( 205,  0, 14 ),
    1017             :     RPT_2   (-205,  0, 14 ), RPT_2   ( 206,  0, 14 ),
    1018             :     RPT_2   (-206,  0, 14 ), RPT_2   ( 207,  0, 14 ),
    1019             :     RPT_2   (-207,  0, 14 ), RPT_2   ( 208,  0, 14 ),
    1020             :     RPT_2   (-208,  0, 14 ), RPT_2   ( 209,  0, 14 ),
    1021             :     RPT_2   (-209,  0, 14 ), RPT_2   ( 210,  0, 14 ),
    1022             :     RPT_2   (-210,  0, 14 ), RPT_2   ( 211,  0, 14 ),
    1023             :     RPT_2   (-211,  0, 14 ), RPT_2   ( 212,  0, 14 ),
    1024             :     RPT_2   (-212,  0, 14 ), RPT_2   ( 213,  0, 14 ),
    1025             :     RPT_2   (-213,  0, 14 ), RPT_2   ( 214,  0, 14 ),
    1026             :     RPT_2   (-214,  0, 14 ), RPT_2   ( 215,  0, 14 ),
    1027             :     RPT_2   (-215,  0, 14 ), RPT_2   ( 216,  0, 14 ),
    1028             :     RPT_2   (-216,  0, 14 ), RPT_2   ( 217,  0, 14 ),
    1029             :     RPT_2   (-217,  0, 14 ), RPT_2   ( 218,  0, 14 ),
    1030             :     RPT_2   (-218,  0, 14 ), RPT_2   ( 219,  0, 14 ),
    1031             :     RPT_2   (-219,  0, 14 ), RPT_2   ( 220,  0, 14 ),
    1032             :     RPT_2   (-220,  0, 14 ), RPT_2   ( 221,  0, 14 ),
    1033             :     RPT_2   (-221,  0, 14 ), RPT_2   ( 222,  0, 14 ),
    1034             :     RPT_2   (-222,  0, 14 ), RPT_2   ( 223,  0, 14 ),
    1035             :     RPT_2   (-223,  0, 14 ), RPT_2   ( 224,  0, 14 ),
    1036             :     RPT_2   (-224,  0, 14 ), RPT_2   ( 225,  0, 14 ),
    1037             :     RPT_2   (-225,  0, 14 ), RPT_2   ( 226,  0, 14 ),
    1038             :     RPT_2   (-226,  0, 14 ), RPT_2   ( 227,  0, 14 ),
    1039             :     RPT_2   (-227,  0, 14 ), RPT_2   ( 228,  0, 14 ),
    1040             :     RPT_2   (-228,  0, 14 ), RPT_2   ( 229,  0, 14 ),
    1041             :     RPT_2   (-229,  0, 14 ), RPT_2   ( 230,  0, 14 ),
    1042             :     RPT_2   (-230,  0, 14 ), RPT_2   ( 231,  0, 14 ),
    1043             :     RPT_2   (-231,  0, 14 ), RPT_2   ( 232,  0, 14 ),
    1044             :     RPT_2   (-232,  0, 14 ), RPT_2   ( 233,  0, 14 ),
    1045             :     RPT_2   (-233,  0, 14 ), RPT_2   ( 234,  0, 14 ),
    1046             :     RPT_2   (-234,  0, 14 ), RPT_2   ( 235,  0, 14 ),
    1047             :     RPT_2   (-235,  0, 14 ), RPT_2   ( 236,  0, 14 ),
    1048             :     RPT_2   (-236,  0, 14 ), RPT_2   ( 237,  0, 14 ),
    1049             :     RPT_2   (-237,  0, 14 ), RPT_2   ( 238,  0, 14 ),
    1050             :     RPT_2   (-238,  0, 14 ), RPT_2   ( 239,  0, 14 ),
    1051             :     RPT_2   (-239,  0, 14 ), RPT_2   ( 240,  0, 14 ),
    1052             :     RPT_2   (-240,  0, 14 ), RPT_2   ( 241,  0, 14 ),
    1053             :     RPT_2   (-241,  0, 14 ), RPT_2   ( 242,  0, 14 ),
    1054             :     RPT_2   (-242,  0, 14 ), RPT_2   ( 243,  0, 14 ),
    1055             :     RPT_2   (-243,  0, 14 ), RPT_2   ( 244,  0, 14 ),
    1056             :     RPT_2   (-244,  0, 14 ), RPT_2   ( 245,  0, 14 ),
    1057             :     RPT_2   (-245,  0, 14 ), RPT_2   ( 246,  0, 14 ),
    1058             :     RPT_2   (-246,  0, 14 ), RPT_2   ( 247,  0, 14 ),
    1059             :     RPT_2   (-247,  0, 14 ), RPT_2   ( 248,  0, 14 ),
    1060             :     RPT_2   (-248,  0, 14 ), RPT_2   ( 249,  0, 14 ),
    1061             :     RPT_2   (-249,  0, 14 ), RPT_2   ( 250,  0, 14 ),
    1062             :     RPT_2   (-250,  0, 14 ), RPT_2   ( 251,  0, 14 ),
    1063             :     RPT_2   (-251,  0, 14 ), RPT_2   ( 252,  0, 14 ),
    1064             :     RPT_2   (-252,  0, 14 ), RPT_2   ( 253,  0, 14 ),
    1065             :     RPT_2   (-253,  0, 14 ), RPT_2   ( 254,  0, 14 ),
    1066             :     RPT_2   (-254,  0, 14 ), RPT_2   ( 255,  0, 14 ),
    1067             :     RPT_2   (-255,  0, 14 ), {    0,  0, 15 }, {    0,  1, 15 },
    1068             :     {    0,  2, 15 }, {    0,  3, 15 }, {    0,  4, 15 }, {    0,  5, 15 },
    1069             :     {    0,  6, 15 }, {    0,  7, 15 }, {    0,  8, 15 }, {    0,  9, 15 },
    1070             :     {    0, 10, 15 }, {    0, 11, 15 }, {    0, 12, 15 }, {    0, 13, 15 },
    1071             :     {    0, 14, 15 }, {    0, 15, 15 }, {    0, 16, 15 }, {    0, 17, 15 },
    1072             :     {    0, 18, 15 }, {    0, 19, 15 }, {    0, 20, 15 }, {    0, 21, 15 },
    1073             :     {    0, 22, 15 }, {    0, 23, 15 }, {    0, 24, 15 }, {    0, 25, 15 },
    1074             :     {    0, 26, 15 }, {    0, 27, 15 }, {    0, 28, 15 }, {    0, 29, 15 },
    1075             :     {    0, 30, 15 }, {    0, 31, 15 }, {    0, 32, 15 }, {    0, 33, 15 },
    1076             :     {    0, 34, 15 }, {    0, 35, 15 }, {    0, 36, 15 }, {    0, 37, 15 },
    1077             :     {    0, 38, 15 }, {    0, 39, 15 }, {    0, 40, 15 }, {    0, 41, 15 },
    1078             :     {    0, 42, 15 }, {    0, 43, 15 }, {    0, 44, 15 }, {    0, 45, 15 },
    1079             :     {    0, 46, 15 }, {    0, 47, 15 }, {    0, 48, 15 }, {    0, 49, 15 },
    1080             :     {    0, 50, 15 }, {    0, 51, 15 }, {    0, 52, 15 }, {    0, 53, 15 },
    1081             :     {    0, 54, 15 }, {    0, 55, 15 }, {    0, 56, 15 }, {    0, 57, 15 },
    1082             :     {    0, 58, 15 }, {    0, 59, 15 }, {    0, 60, 15 }, {    0, 61, 15 },
    1083             :     {    0, 62, 15 }, {    0, 63, 15 }, RPT_16  (  51,  0, 11 ),
    1084             :     RPT_16  ( -51,  0, 11 ), RPT_16  (  52,  0, 11 ),
    1085             :     RPT_16  ( -52,  0, 11 ), RPT_16  (  53,  0, 11 ),
    1086             :     RPT_16  ( -53,  0, 11 ), RPT_16  (  54,  0, 11 ),
    1087             :     RPT_16  ( -54,  0, 11 ), RPT_16  (  55,  0, 11 ),
    1088             :     RPT_16  ( -55,  0, 11 ), RPT_16  (  56,  0, 11 ),
    1089             :     RPT_16  ( -56,  0, 11 ), RPT_16  (  57,  0, 11 ),
    1090             :     RPT_16  ( -57,  0, 11 ), RPT_16  (  58,  0, 11 ),
    1091             :     RPT_16  ( -58,  0, 11 ), RPT_16  (  59,  0, 11 ),
    1092             :     RPT_16  ( -59,  0, 11 ), RPT_16  (  60,  0, 11 ),
    1093             :     RPT_16  ( -60,  0, 11 ), RPT_16  (  61,  0, 11 ),
    1094             :     RPT_16  ( -61,  0, 11 ), RPT_16  (  62,  0, 11 ),
    1095             :     RPT_16  ( -62,  0, 11 ), RPT_16  (  63,  0, 11 ),
    1096             :     RPT_16  ( -63,  0, 11 ), RPT_16  (  11,  1, 11 ),
    1097             :     RPT_16  ( -11,  1, 11 ), RPT_16  (  12,  1, 11 ),
    1098             :     RPT_16  ( -12,  1, 11 ), RPT_16  (  13,  1, 11 ),
    1099             :     RPT_16  ( -13,  1, 11 ), RPT_16  (  14,  1, 11 ),
    1100             :     RPT_16  ( -14,  1, 11 ), RPT_16  (   4,  2, 11 ),
    1101             :     RPT_16  (  -4,  2, 11 ), RPT_16  (   5,  2, 11 ),
    1102             :     RPT_16  (  -5,  2, 11 ), RPT_16  (   6,  2, 11 ),
    1103             :     RPT_16  (  -6,  2, 11 ), RPT_16  (   3,  3, 11 ),
    1104             :     RPT_16  (  -3,  3, 11 ), RPT_16  (   2,  4, 11 ),
    1105             :     RPT_16  (  -2,  4, 11 ), RPT_16  (   1,  9, 11 ),
    1106             :     RPT_16  (  -1,  9, 11 ), RPT_16  (   1, 10, 11 ),
    1107             :     RPT_16  (  -1, 10, 11 ), RPT_8   (  15,  1, 12 ),
    1108             :     RPT_8   ( -15,  1, 12 ), RPT_8   (  16,  1, 12 ),
    1109             :     RPT_8   ( -16,  1, 12 ), RPT_8   (  17,  1, 12 ),
    1110             :     RPT_8   ( -17,  1, 12 ), RPT_8   (  18,  1, 12 ),
    1111             :     RPT_8   ( -18,  1, 12 ), RPT_8   (   7,  2, 12 ),
    1112             :     RPT_8   (  -7,  2, 12 ), RPT_8   (   8,  2, 12 ),
    1113             :     RPT_8   (  -8,  2, 12 ), RPT_8   (   9,  2, 12 ),
    1114             :     RPT_8   (  -9,  2, 12 ), RPT_8   (  10,  2, 12 ),
    1115             :     RPT_8   ( -10,  2, 12 ), RPT_8   (   4,  3, 12 ),
    1116             :     RPT_8   (  -4,  3, 12 ), RPT_8   (   5,  3, 12 ),
    1117             :     RPT_8   (  -5,  3, 12 ), RPT_8   (   6,  3, 12 ),
    1118             :     RPT_8   (  -6,  3, 12 ), RPT_8   (   2,  5, 12 ),
    1119             :     RPT_8   (  -2,  5, 12 ), RPT_16  (   0,  7, 11 ),
    1120             :     RPT_16  (   0,  8, 11 ), RPT_16  (   0,  9, 11 ),
    1121             :     RPT_16  (   0, 10, 11 ), RPT_8   (   1, 11, 12 ),
    1122             :     RPT_8   (  -1, 11, 12 ), RPT_8   (   1, 12, 12 ),
    1123             :     RPT_8   (  -1, 12, 12 ), RPT_8   (   1, 13, 12 ),
    1124             :     RPT_8   (  -1, 13, 12 ), RPT_8   (   1, 14, 12 ),
    1125             :     RPT_8   (  -1, 14, 12 ), RPT_4   (  19,  1, 13 ),
    1126             :     RPT_4   ( -19,  1, 13 ), RPT_4   (  20,  1, 13 ),
    1127             :     RPT_4   ( -20,  1, 13 ), RPT_4   (   3,  4, 13 ),
    1128             :     RPT_4   (  -3,  4, 13 ), RPT_4   (   2,  6, 13 ),
    1129             :     RPT_4   (  -2,  6, 13 ),
    1130             : };
    1131             : 
    1132             : static const HQXLUT ac8_lut[] = {
    1133             :     RPT_128 (   1,  0,  4 ), RPT_128 (  -1,  0,  4 ),
    1134             :     RPT_128 (   2,  0,  4 ), RPT_128 (  -2,  0,  4 ),
    1135             :     RPT_64  (   3,  0,  5 ), RPT_64  (  -3,  0,  5 ),
    1136             :     RPT_64  (   4,  0,  5 ), RPT_64  (  -4,  0,  5 ),
    1137             :     RPT_128 (   0, 64,  4 ), RPT_32  (   5,  0,  6 ),
    1138             :     RPT_32  (  -5,  0,  6 ), RPT_32  (   6,  0,  6 ),
    1139             :     RPT_32  (  -6,  0,  6 ), RPT_32  (   7,  0,  6 ),
    1140             :     RPT_32  (  -7,  0,  6 ), RPT_32  (   8,  0,  6 ),
    1141             :     RPT_32  (  -8,  0,  6 ), RPT_32  (   1,  1,  6 ),
    1142             :     RPT_32  (  -1,  1,  6 ), RPT_32  (   2,  1,  6 ),
    1143             :     RPT_32  (  -2,  1,  6 ), RPT_16  (   9,  0,  7 ),
    1144             :     RPT_16  (  -9,  0,  7 ), RPT_16  (  10,  0,  7 ),
    1145             :     RPT_16  ( -10,  0,  7 ), RPT_16  (  11,  0,  7 ),
    1146             :     RPT_16  ( -11,  0,  7 ), RPT_16  (  12,  0,  7 ),
    1147             :     RPT_16  ( -12,  0,  7 ), RPT_16  (   3,  1,  7 ),
    1148             :     RPT_16  (  -3,  1,  7 ), RPT_16  (   4,  1,  7 ),
    1149             :     RPT_16  (  -4,  1,  7 ), RPT_16  (   1,  2,  7 ),
    1150             :     RPT_16  (  -1,  2,  7 ), { 2048,  0, -1 }, { 2112,  0, -1 },
    1151             :     { 2176,  0, -1 }, { 2240,  0, -1 }, { 2304,  0, -1 }, { 2368,  0, -1 },
    1152             :     { 2432,  0, -1 }, { 2496,  0, -1 }, { 2560,  0, -1 }, { 2624,  0, -1 },
    1153             :     { 2688,  0, -1 }, { 2752,  0, -1 }, { 2816,  0, -1 }, { 2880,  0, -1 },
    1154             :     { 2944,  0, -1 }, { 3008,  0, -1 }, { 3072,  0, -1 }, { 3136,  0, -1 },
    1155             :     { 3200,  0, -1 }, { 3264,  0, -1 }, { 3328,  0, -1 }, { 3392,  0, -1 },
    1156             :     { 3456,  0, -1 }, { 3520,  0, -1 }, { 3584,  0, -1 }, { 3648,  0, -1 },
    1157             :     { 3712,  0, -1 }, { 3776,  0, -1 }, { 3840,  0, -1 }, { 3904,  0, -1 },
    1158             :     { 3968,  0, -1 }, { 4032,  0, -1 }, RPT_8   (  13,  0,  8 ),
    1159             :     RPT_8   ( -13,  0,  8 ), RPT_8   (  14,  0,  8 ),
    1160             :     RPT_8   ( -14,  0,  8 ), RPT_8   (  15,  0,  8 ),
    1161             :     RPT_8   ( -15,  0,  8 ), RPT_8   (  16,  0,  8 ),
    1162             :     RPT_8   ( -16,  0,  8 ), RPT_8   (  17,  0,  8 ),
    1163             :     RPT_8   ( -17,  0,  8 ), RPT_8   (  18,  0,  8 ),
    1164             :     RPT_8   ( -18,  0,  8 ), RPT_8   (   5,  1,  8 ),
    1165             :     RPT_8   (  -5,  1,  8 ), RPT_8   (   6,  1,  8 ),
    1166             :     RPT_8   (  -6,  1,  8 ), RPT_8   (   2,  2,  8 ),
    1167             :     RPT_8   (  -2,  2,  8 ), RPT_8   (   1,  3,  8 ),
    1168             :     RPT_8   (  -1,  3,  8 ), RPT_8   (   0,  0,  8 ),
    1169             :     RPT_4   (  19,  0,  9 ), RPT_4   ( -19,  0,  9 ),
    1170             :     RPT_4   (  20,  0,  9 ), RPT_4   ( -20,  0,  9 ),
    1171             :     RPT_4   (  21,  0,  9 ), RPT_4   ( -21,  0,  9 ),
    1172             :     RPT_4   (  22,  0,  9 ), RPT_4   ( -22,  0,  9 ),
    1173             :     RPT_4   (  23,  0,  9 ), RPT_4   ( -23,  0,  9 ),
    1174             :     RPT_4   (  24,  0,  9 ), RPT_4   ( -24,  0,  9 ),
    1175             :     RPT_4   (  25,  0,  9 ), RPT_4   ( -25,  0,  9 ),
    1176             :     RPT_4   (   7,  1,  9 ), RPT_4   (  -7,  1,  9 ),
    1177             :     RPT_4   (   8,  1,  9 ), RPT_4   (  -8,  1,  9 ),
    1178             :     RPT_4   (   3,  2,  9 ), RPT_4   (  -3,  2,  9 ),
    1179             :     RPT_4   (   2,  3,  9 ), RPT_4   (  -2,  3,  9 ),
    1180             :     RPT_4   (   1,  4,  9 ), RPT_4   (  -1,  4,  9 ),
    1181             :     RPT_4   (   1,  5,  9 ), RPT_4   (  -1,  5,  9 ),
    1182             :     RPT_2   (  26,  0, 10 ), RPT_2   ( -26,  0, 10 ),
    1183             :     RPT_2   (  27,  0, 10 ), RPT_2   ( -27,  0, 10 ),
    1184             :     RPT_2   (  28,  0, 10 ), RPT_2   ( -28,  0, 10 ),
    1185             :     RPT_2   (  29,  0, 10 ), RPT_2   ( -29,  0, 10 ),
    1186             :     RPT_2   (  30,  0, 10 ), RPT_2   ( -30,  0, 10 ),
    1187             :     RPT_2   (  31,  0, 10 ), RPT_2   ( -31,  0, 10 ),
    1188             :     RPT_2   (  32,  0, 10 ), RPT_2   ( -32,  0, 10 ),
    1189             :     RPT_2   (  33,  0, 10 ), RPT_2   ( -33,  0, 10 ),
    1190             :     RPT_2   (  34,  0, 10 ), RPT_2   ( -34,  0, 10 ),
    1191             :     RPT_2   (  35,  0, 10 ), RPT_2   ( -35,  0, 10 ),
    1192             :     RPT_2   (  36,  0, 10 ), RPT_2   ( -36,  0, 10 ),
    1193             :     RPT_4   (   0,  1,  9 ), RPT_2   (   9,  1, 10 ),
    1194             :     RPT_2   (  -9,  1, 10 ), RPT_2   (  10,  1, 10 ),
    1195             :     RPT_2   ( -10,  1, 10 ), RPT_2   (  11,  1, 10 ),
    1196             :     RPT_2   ( -11,  1, 10 ), RPT_2   (  12,  1, 10 ),
    1197             :     RPT_2   ( -12,  1, 10 ), RPT_4   (   0,  2,  9 ),
    1198             :     RPT_2   (   4,  2, 10 ), RPT_2   (  -4,  2, 10 ),
    1199             :     RPT_2   (   5,  2, 10 ), RPT_2   (  -5,  2, 10 ),
    1200             :     RPT_2   (   6,  2, 10 ), RPT_2   (  -6,  2, 10 ),
    1201             :     RPT_4   (   0,  3,  9 ), RPT_2   (   3,  3, 10 ),
    1202             :     RPT_2   (  -3,  3, 10 ), RPT_2   (   4,  3, 10 ),
    1203             :     RPT_2   (  -4,  3, 10 ), RPT_4   (   0,  4,  9 ),
    1204             :     RPT_2   (   2,  4, 10 ), RPT_2   (  -2,  4, 10 ),
    1205             :     RPT_4   (   0,  5,  9 ), RPT_2   (   1,  6, 10 ),
    1206             :     RPT_2   (  -1,  6, 10 ), RPT_2   (   1,  7, 10 ),
    1207             :     RPT_2   (  -1,  7, 10 ), RPT_2   (   1,  8, 10 ),
    1208             :     RPT_2   (  -1,  8, 10 ), {   37,  0, 11 }, {  -37,  0, 11 },
    1209             :     {   38,  0, 11 }, {  -38,  0, 11 }, {   39,  0, 11 }, {  -39,  0, 11 },
    1210             :     {   40,  0, 11 }, {  -40,  0, 11 }, {   41,  0, 11 }, {  -41,  0, 11 },
    1211             :     {   42,  0, 11 }, {  -42,  0, 11 }, {   43,  0, 11 }, {  -43,  0, 11 },
    1212             :     {   44,  0, 11 }, {  -44,  0, 11 }, {   45,  0, 11 }, {  -45,  0, 11 },
    1213             :     {   46,  0, 11 }, {  -46,  0, 11 }, {   47,  0, 11 }, {  -47,  0, 11 },
    1214             :     {   48,  0, 11 }, {  -48,  0, 11 }, {   13,  1, 11 }, {  -13,  1, 11 },
    1215             :     {   14,  1, 11 }, {  -14,  1, 11 }, {   15,  1, 11 }, {  -15,  1, 11 },
    1216             :     {   16,  1, 11 }, {  -16,  1, 11 }, {    7,  2, 11 }, {   -7,  2, 11 },
    1217             :     {    8,  2, 11 }, {   -8,  2, 11 }, {    5,  3, 11 }, {   -5,  3, 11 },
    1218             :     {    6,  3, 11 }, {   -6,  3, 11 }, {    3,  4, 11 }, {   -3,  4, 11 },
    1219             :     {    4,  4, 11 }, {   -4,  4, 11 }, {    2,  5, 11 }, {   -2,  5, 11 },
    1220             :     RPT_2   (   0,  6, 10 ), {    2,  6, 11 }, {   -2,  6, 11 },
    1221             :     RPT_2   (   0,  7, 10 ), RPT_2   (   0,  8, 10 ),
    1222             :     RPT_2   (   0,  9, 10 ), {    1,  9, 11 }, {   -1,  9, 11 },
    1223             :     {    1, 10, 11 }, {   -1, 10, 11 }, {    1, 11, 11 }, {   -1, 11, 11 },
    1224             :     {    1, 12, 11 }, {   -1, 12, 11 }, { 4096,  0, -1 }, { 4160,  0, -1 },
    1225             :     { 4224,  0, -1 }, { 4288,  0, -1 }, { 4352,  0, -1 }, { 4416,  0, -1 },
    1226             :     { 4480,  0, -1 }, { 4544,  0, -1 }, { 4608,  0, -1 }, { 4672,  0, -1 },
    1227             :     { 4736,  0, -1 }, { 4800,  0, -1 }, { 4864,  0, -1 }, { 4928,  0, -1 },
    1228             :     { 4992,  0, -1 }, { 5056,  0, -1 }, { 5120,  0, -1 }, { 5184,  0, -1 },
    1229             :     { 5248,  0, -1 }, { 5312,  0, -1 }, { 5376,  0, -1 }, { 5440,  0, -1 },
    1230             :     { 5504,  0, -1 }, { 5568,  0, -1 }, { 5632,  0, -1 }, { 5696,  0, -1 },
    1231             :     { 5760,  0, -1 }, { 5824,  0, -1 }, { 5888,  0, -1 }, { 5952,  0, -1 },
    1232             :     { 6016,  0, -1 }, { 6080,  0, -1 }, { 6144,  0, -1 }, { 6208,  0, -1 },
    1233             :     { 6272,  0, -1 }, { 6336,  0, -1 }, { 6400,  0, -1 }, { 6464,  0, -1 },
    1234             :     { 6528,  0, -1 }, { 6592,  0, -1 }, {    0, 10, 11 }, { 6656,  0, -1 },
    1235             :     {    0, 11, 11 }, {    0, 12, 11 }, {    0, 13, 11 }, { 6720,  0, -1 },
    1236             :     { 6784,  0, -1 }, { 6848,  0, -1 }, { 6912,  0, -1 }, { 6976,  0, -1 },
    1237             :     { 7040,  0, -1 }, { 7104,  0, -1 }, { 7168,  0, -1 }, { 7232,  0, -1 },
    1238             :     { 7296,  0, -1 }, { 7360,  0, -1 }, { 7424,  0, -1 }, { 7488,  0, -1 },
    1239             :     { 7552,  0, -1 }, { 7616,  0, -1 }, RPT_8   (   0,  0, 14 ),
    1240             :     RPT_4   (   1,  0, 15 ), RPT_4   (  -1,  0, 15 ),
    1241             :     RPT_4   (   2,  0, 15 ), RPT_4   (  -2,  0, 15 ),
    1242             :     RPT_4   (   3,  0, 15 ), RPT_4   (  -3,  0, 15 ),
    1243             :     RPT_4   (   4,  0, 15 ), RPT_4   (  -4,  0, 15 ),
    1244             :     RPT_4   (   5,  0, 15 ), RPT_4   (  -5,  0, 15 ),
    1245             :     RPT_4   (   6,  0, 15 ), RPT_4   (  -6,  0, 15 ),
    1246             :     RPT_4   (   7,  0, 15 ), RPT_4   (  -7,  0, 15 ),
    1247             :     RPT_4   (   8,  0, 15 ), RPT_4   (  -8,  0, 15 ),
    1248             :     RPT_4   (   9,  0, 15 ), RPT_4   (  -9,  0, 15 ),
    1249             :     RPT_4   (  10,  0, 15 ), RPT_4   ( -10,  0, 15 ),
    1250             :     RPT_4   (  11,  0, 15 ), RPT_4   ( -11,  0, 15 ),
    1251             :     RPT_4   (  12,  0, 15 ), RPT_4   ( -12,  0, 15 ),
    1252             :     RPT_4   (  13,  0, 15 ), RPT_4   ( -13,  0, 15 ),
    1253             :     RPT_4   (  14,  0, 15 ), RPT_4   ( -14,  0, 15 ),
    1254             :     RPT_4   (  15,  0, 15 ), RPT_4   ( -15,  0, 15 ),
    1255             :     RPT_4   (  16,  0, 15 ), RPT_4   ( -16,  0, 15 ),
    1256             :     RPT_4   (  17,  0, 15 ), RPT_4   ( -17,  0, 15 ),
    1257             :     RPT_4   (  18,  0, 15 ), RPT_4   ( -18,  0, 15 ),
    1258             :     RPT_4   (  19,  0, 15 ), RPT_4   ( -19,  0, 15 ),
    1259             :     RPT_4   (  20,  0, 15 ), RPT_4   ( -20,  0, 15 ),
    1260             :     RPT_4   (  21,  0, 15 ), RPT_4   ( -21,  0, 15 ),
    1261             :     RPT_4   (  22,  0, 15 ), RPT_4   ( -22,  0, 15 ),
    1262             :     RPT_4   (  23,  0, 15 ), RPT_4   ( -23,  0, 15 ),
    1263             :     RPT_4   (  24,  0, 15 ), RPT_4   ( -24,  0, 15 ),
    1264             :     RPT_4   (  25,  0, 15 ), RPT_4   ( -25,  0, 15 ),
    1265             :     RPT_4   (  26,  0, 15 ), RPT_4   ( -26,  0, 15 ),
    1266             :     RPT_4   (  27,  0, 15 ), RPT_4   ( -27,  0, 15 ),
    1267             :     RPT_4   (  28,  0, 15 ), RPT_4   ( -28,  0, 15 ),
    1268             :     RPT_4   (  29,  0, 15 ), RPT_4   ( -29,  0, 15 ),
    1269             :     RPT_4   (  30,  0, 15 ), RPT_4   ( -30,  0, 15 ),
    1270             :     RPT_4   (  31,  0, 15 ), RPT_4   ( -31,  0, 15 ),
    1271             :     RPT_4   (  32,  0, 15 ), RPT_4   ( -32,  0, 15 ),
    1272             :     RPT_4   (  33,  0, 15 ), RPT_4   ( -33,  0, 15 ),
    1273             :     RPT_4   (  34,  0, 15 ), RPT_4   ( -34,  0, 15 ),
    1274             :     RPT_4   (  35,  0, 15 ), RPT_4   ( -35,  0, 15 ),
    1275             :     RPT_4   (  36,  0, 15 ), RPT_4   ( -36,  0, 15 ),
    1276             :     RPT_4   (  37,  0, 15 ), RPT_4   ( -37,  0, 15 ),
    1277             :     RPT_4   (  38,  0, 15 ), RPT_4   ( -38,  0, 15 ),
    1278             :     RPT_4   (  39,  0, 15 ), RPT_4   ( -39,  0, 15 ),
    1279             :     RPT_4   (  40,  0, 15 ), RPT_4   ( -40,  0, 15 ),
    1280             :     RPT_4   (  41,  0, 15 ), RPT_4   ( -41,  0, 15 ),
    1281             :     RPT_4   (  42,  0, 15 ), RPT_4   ( -42,  0, 15 ),
    1282             :     RPT_4   (  43,  0, 15 ), RPT_4   ( -43,  0, 15 ),
    1283             :     RPT_4   (  44,  0, 15 ), RPT_4   ( -44,  0, 15 ),
    1284             :     RPT_4   (  45,  0, 15 ), RPT_4   ( -45,  0, 15 ),
    1285             :     RPT_4   (  46,  0, 15 ), RPT_4   ( -46,  0, 15 ),
    1286             :     RPT_4   (  47,  0, 15 ), RPT_4   ( -47,  0, 15 ),
    1287             :     RPT_4   (  48,  0, 15 ), RPT_4   ( -48,  0, 15 ),
    1288             :     RPT_4   (  49,  0, 15 ), RPT_4   ( -49,  0, 15 ),
    1289             :     RPT_4   (  50,  0, 15 ), RPT_4   ( -50,  0, 15 ),
    1290             :     RPT_4   (  51,  0, 15 ), RPT_4   ( -51,  0, 15 ),
    1291             :     RPT_4   (  52,  0, 15 ), RPT_4   ( -52,  0, 15 ),
    1292             :     RPT_4   (  53,  0, 15 ), RPT_4   ( -53,  0, 15 ),
    1293             :     RPT_4   (  54,  0, 15 ), RPT_4   ( -54,  0, 15 ),
    1294             :     RPT_4   (  55,  0, 15 ), RPT_4   ( -55,  0, 15 ),
    1295             :     RPT_4   (  56,  0, 15 ), RPT_4   ( -56,  0, 15 ),
    1296             :     RPT_4   (  57,  0, 15 ), RPT_4   ( -57,  0, 15 ),
    1297             :     RPT_4   (  58,  0, 15 ), RPT_4   ( -58,  0, 15 ),
    1298             :     RPT_4   (  59,  0, 15 ), RPT_4   ( -59,  0, 15 ),
    1299             :     RPT_4   (  60,  0, 15 ), RPT_4   ( -60,  0, 15 ),
    1300             :     RPT_4   (  61,  0, 15 ), RPT_4   ( -61,  0, 15 ),
    1301             :     RPT_4   (  62,  0, 15 ), RPT_4   ( -62,  0, 15 ),
    1302             :     RPT_4   (  63,  0, 15 ), RPT_4   ( -63,  0, 15 ),
    1303             :     RPT_4   (  64,  0, 15 ), RPT_4   ( -64,  0, 15 ),
    1304             :     RPT_4   (  65,  0, 15 ), RPT_4   ( -65,  0, 15 ),
    1305             :     RPT_4   (  66,  0, 15 ), RPT_4   ( -66,  0, 15 ),
    1306             :     RPT_4   (  67,  0, 15 ), RPT_4   ( -67,  0, 15 ),
    1307             :     RPT_4   (  68,  0, 15 ), RPT_4   ( -68,  0, 15 ),
    1308             :     RPT_4   (  69,  0, 15 ), RPT_4   ( -69,  0, 15 ),
    1309             :     RPT_4   (  70,  0, 15 ), RPT_4   ( -70,  0, 15 ),
    1310             :     RPT_4   (  71,  0, 15 ), RPT_4   ( -71,  0, 15 ),
    1311             :     RPT_4   (  72,  0, 15 ), RPT_4   ( -72,  0, 15 ),
    1312             :     RPT_4   (  73,  0, 15 ), RPT_4   ( -73,  0, 15 ),
    1313             :     RPT_4   (  74,  0, 15 ), RPT_4   ( -74,  0, 15 ),
    1314             :     RPT_4   (  75,  0, 15 ), RPT_4   ( -75,  0, 15 ),
    1315             :     RPT_4   (  76,  0, 15 ), RPT_4   ( -76,  0, 15 ),
    1316             :     RPT_4   (  77,  0, 15 ), RPT_4   ( -77,  0, 15 ),
    1317             :     RPT_4   (  78,  0, 15 ), RPT_4   ( -78,  0, 15 ),
    1318             :     RPT_4   (  79,  0, 15 ), RPT_4   ( -79,  0, 15 ),
    1319             :     RPT_4   (  80,  0, 15 ), RPT_4   ( -80,  0, 15 ),
    1320             :     RPT_4   (  81,  0, 15 ), RPT_4   ( -81,  0, 15 ),
    1321             :     RPT_4   (  82,  0, 15 ), RPT_4   ( -82,  0, 15 ),
    1322             :     RPT_4   (  83,  0, 15 ), RPT_4   ( -83,  0, 15 ),
    1323             :     RPT_4   (  84,  0, 15 ), RPT_4   ( -84,  0, 15 ),
    1324             :     RPT_4   (  85,  0, 15 ), RPT_4   ( -85,  0, 15 ),
    1325             :     RPT_4   (  86,  0, 15 ), RPT_4   ( -86,  0, 15 ),
    1326             :     RPT_4   (  87,  0, 15 ), RPT_4   ( -87,  0, 15 ),
    1327             :     RPT_4   (  88,  0, 15 ), RPT_4   ( -88,  0, 15 ),
    1328             :     RPT_4   (  89,  0, 15 ), RPT_4   ( -89,  0, 15 ),
    1329             :     RPT_4   (  90,  0, 15 ), RPT_4   ( -90,  0, 15 ),
    1330             :     RPT_4   (  91,  0, 15 ), RPT_4   ( -91,  0, 15 ),
    1331             :     RPT_4   (  92,  0, 15 ), RPT_4   ( -92,  0, 15 ),
    1332             :     RPT_4   (  93,  0, 15 ), RPT_4   ( -93,  0, 15 ),
    1333             :     RPT_4   (  94,  0, 15 ), RPT_4   ( -94,  0, 15 ),
    1334             :     RPT_4   (  95,  0, 15 ), RPT_4   ( -95,  0, 15 ),
    1335             :     RPT_4   (  96,  0, 15 ), RPT_4   ( -96,  0, 15 ),
    1336             :     RPT_4   (  97,  0, 15 ), RPT_4   ( -97,  0, 15 ),
    1337             :     RPT_4   (  98,  0, 15 ), RPT_4   ( -98,  0, 15 ),
    1338             :     RPT_4   (  99,  0, 15 ), RPT_4   ( -99,  0, 15 ),
    1339             :     RPT_4   ( 100,  0, 15 ), RPT_4   (-100,  0, 15 ),
    1340             :     RPT_4   ( 101,  0, 15 ), RPT_4   (-101,  0, 15 ),
    1341             :     RPT_4   ( 102,  0, 15 ), RPT_4   (-102,  0, 15 ),
    1342             :     RPT_4   ( 103,  0, 15 ), RPT_4   (-103,  0, 15 ),
    1343             :     RPT_4   ( 104,  0, 15 ), RPT_4   (-104,  0, 15 ),
    1344             :     RPT_4   ( 105,  0, 15 ), RPT_4   (-105,  0, 15 ),
    1345             :     RPT_4   ( 106,  0, 15 ), RPT_4   (-106,  0, 15 ),
    1346             :     RPT_4   ( 107,  0, 15 ), RPT_4   (-107,  0, 15 ),
    1347             :     RPT_4   ( 108,  0, 15 ), RPT_4   (-108,  0, 15 ),
    1348             :     RPT_4   ( 109,  0, 15 ), RPT_4   (-109,  0, 15 ),
    1349             :     RPT_4   ( 110,  0, 15 ), RPT_4   (-110,  0, 15 ),
    1350             :     RPT_4   ( 111,  0, 15 ), RPT_4   (-111,  0, 15 ),
    1351             :     RPT_4   ( 112,  0, 15 ), RPT_4   (-112,  0, 15 ),
    1352             :     RPT_4   ( 113,  0, 15 ), RPT_4   (-113,  0, 15 ),
    1353             :     RPT_4   ( 114,  0, 15 ), RPT_4   (-114,  0, 15 ),
    1354             :     RPT_4   ( 115,  0, 15 ), RPT_4   (-115,  0, 15 ),
    1355             :     RPT_4   ( 116,  0, 15 ), RPT_4   (-116,  0, 15 ),
    1356             :     RPT_4   ( 117,  0, 15 ), RPT_4   (-117,  0, 15 ),
    1357             :     RPT_4   ( 118,  0, 15 ), RPT_4   (-118,  0, 15 ),
    1358             :     RPT_4   ( 119,  0, 15 ), RPT_4   (-119,  0, 15 ),
    1359             :     RPT_4   ( 120,  0, 15 ), RPT_4   (-120,  0, 15 ),
    1360             :     RPT_4   ( 121,  0, 15 ), RPT_4   (-121,  0, 15 ),
    1361             :     RPT_4   ( 122,  0, 15 ), RPT_4   (-122,  0, 15 ),
    1362             :     RPT_4   ( 123,  0, 15 ), RPT_4   (-123,  0, 15 ),
    1363             :     RPT_4   ( 124,  0, 15 ), RPT_4   (-124,  0, 15 ),
    1364             :     RPT_4   ( 125,  0, 15 ), RPT_4   (-125,  0, 15 ),
    1365             :     RPT_4   ( 126,  0, 15 ), RPT_4   (-126,  0, 15 ),
    1366             :     RPT_4   ( 127,  0, 15 ), RPT_4   (-127,  0, 15 ),
    1367             :     RPT_4   ( 128,  0, 15 ), RPT_4   (-128,  0, 15 ),
    1368             :     RPT_4   ( 129,  0, 15 ), RPT_4   (-129,  0, 15 ),
    1369             :     RPT_4   ( 130,  0, 15 ), RPT_4   (-130,  0, 15 ),
    1370             :     RPT_4   ( 131,  0, 15 ), RPT_4   (-131,  0, 15 ),
    1371             :     RPT_4   ( 132,  0, 15 ), RPT_4   (-132,  0, 15 ),
    1372             :     RPT_4   ( 133,  0, 15 ), RPT_4   (-133,  0, 15 ),
    1373             :     RPT_4   ( 134,  0, 15 ), RPT_4   (-134,  0, 15 ),
    1374             :     RPT_4   ( 135,  0, 15 ), RPT_4   (-135,  0, 15 ),
    1375             :     RPT_4   ( 136,  0, 15 ), RPT_4   (-136,  0, 15 ),
    1376             :     RPT_4   ( 137,  0, 15 ), RPT_4   (-137,  0, 15 ),
    1377             :     RPT_4   ( 138,  0, 15 ), RPT_4   (-138,  0, 15 ),
    1378             :     RPT_4   ( 139,  0, 15 ), RPT_4   (-139,  0, 15 ),
    1379             :     RPT_4   ( 140,  0, 15 ), RPT_4   (-140,  0, 15 ),
    1380             :     RPT_4   ( 141,  0, 15 ), RPT_4   (-141,  0, 15 ),
    1381             :     RPT_4   ( 142,  0, 15 ), RPT_4   (-142,  0, 15 ),
    1382             :     RPT_4   ( 143,  0, 15 ), RPT_4   (-143,  0, 15 ),
    1383             :     RPT_4   ( 144,  0, 15 ), RPT_4   (-144,  0, 15 ),
    1384             :     RPT_4   ( 145,  0, 15 ), RPT_4   (-145,  0, 15 ),
    1385             :     RPT_4   ( 146,  0, 15 ), RPT_4   (-146,  0, 15 ),
    1386             :     RPT_4   ( 147,  0, 15 ), RPT_4   (-147,  0, 15 ),
    1387             :     RPT_4   ( 148,  0, 15 ), RPT_4   (-148,  0, 15 ),
    1388             :     RPT_4   ( 149,  0, 15 ), RPT_4   (-149,  0, 15 ),
    1389             :     RPT_4   ( 150,  0, 15 ), RPT_4   (-150,  0, 15 ),
    1390             :     RPT_4   ( 151,  0, 15 ), RPT_4   (-151,  0, 15 ),
    1391             :     RPT_4   ( 152,  0, 15 ), RPT_4   (-152,  0, 15 ),
    1392             :     RPT_4   ( 153,  0, 15 ), RPT_4   (-153,  0, 15 ),
    1393             :     RPT_4   ( 154,  0, 15 ), RPT_4   (-154,  0, 15 ),
    1394             :     RPT_4   ( 155,  0, 15 ), RPT_4   (-155,  0, 15 ),
    1395             :     RPT_4   ( 156,  0, 15 ), RPT_4   (-156,  0, 15 ),
    1396             :     RPT_4   ( 157,  0, 15 ), RPT_4   (-157,  0, 15 ),
    1397             :     RPT_4   ( 158,  0, 15 ), RPT_4   (-158,  0, 15 ),
    1398             :     RPT_4   ( 159,  0, 15 ), RPT_4   (-159,  0, 15 ),
    1399             :     RPT_4   ( 160,  0, 15 ), RPT_4   (-160,  0, 15 ),
    1400             :     RPT_4   ( 161,  0, 15 ), RPT_4   (-161,  0, 15 ),
    1401             :     RPT_4   ( 162,  0, 15 ), RPT_4   (-162,  0, 15 ),
    1402             :     RPT_4   ( 163,  0, 15 ), RPT_4   (-163,  0, 15 ),
    1403             :     RPT_4   ( 164,  0, 15 ), RPT_4   (-164,  0, 15 ),
    1404             :     RPT_4   ( 165,  0, 15 ), RPT_4   (-165,  0, 15 ),
    1405             :     RPT_4   ( 166,  0, 15 ), RPT_4   (-166,  0, 15 ),
    1406             :     RPT_4   ( 167,  0, 15 ), RPT_4   (-167,  0, 15 ),
    1407             :     RPT_4   ( 168,  0, 15 ), RPT_4   (-168,  0, 15 ),
    1408             :     RPT_4   ( 169,  0, 15 ), RPT_4   (-169,  0, 15 ),
    1409             :     RPT_4   ( 170,  0, 15 ), RPT_4   (-170,  0, 15 ),
    1410             :     RPT_4   ( 171,  0, 15 ), RPT_4   (-171,  0, 15 ),
    1411             :     RPT_4   ( 172,  0, 15 ), RPT_4   (-172,  0, 15 ),
    1412             :     RPT_4   ( 173,  0, 15 ), RPT_4   (-173,  0, 15 ),
    1413             :     RPT_4   ( 174,  0, 15 ), RPT_4   (-174,  0, 15 ),
    1414             :     RPT_4   ( 175,  0, 15 ), RPT_4   (-175,  0, 15 ),
    1415             :     RPT_4   ( 176,  0, 15 ), RPT_4   (-176,  0, 15 ),
    1416             :     RPT_4   ( 177,  0, 15 ), RPT_4   (-177,  0, 15 ),
    1417             :     RPT_4   ( 178,  0, 15 ), RPT_4   (-178,  0, 15 ),
    1418             :     RPT_4   ( 179,  0, 15 ), RPT_4   (-179,  0, 15 ),
    1419             :     RPT_4   ( 180,  0, 15 ), RPT_4   (-180,  0, 15 ),
    1420             :     RPT_4   ( 181,  0, 15 ), RPT_4   (-181,  0, 15 ),
    1421             :     RPT_4   ( 182,  0, 15 ), RPT_4   (-182,  0, 15 ),
    1422             :     RPT_4   ( 183,  0, 15 ), RPT_4   (-183,  0, 15 ),
    1423             :     RPT_4   ( 184,  0, 15 ), RPT_4   (-184,  0, 15 ),
    1424             :     RPT_4   ( 185,  0, 15 ), RPT_4   (-185,  0, 15 ),
    1425             :     RPT_4   ( 186,  0, 15 ), RPT_4   (-186,  0, 15 ),
    1426             :     RPT_4   ( 187,  0, 15 ), RPT_4   (-187,  0, 15 ),
    1427             :     RPT_4   ( 188,  0, 15 ), RPT_4   (-188,  0, 15 ),
    1428             :     RPT_4   ( 189,  0, 15 ), RPT_4   (-189,  0, 15 ),
    1429             :     RPT_4   ( 190,  0, 15 ), RPT_4   (-190,  0, 15 ),
    1430             :     RPT_4   ( 191,  0, 15 ), RPT_4   (-191,  0, 15 ),
    1431             :     RPT_4   ( 192,  0, 15 ), RPT_4   (-192,  0, 15 ),
    1432             :     RPT_4   ( 193,  0, 15 ), RPT_4   (-193,  0, 15 ),
    1433             :     RPT_4   ( 194,  0, 15 ), RPT_4   (-194,  0, 15 ),
    1434             :     RPT_4   ( 195,  0, 15 ), RPT_4   (-195,  0, 15 ),
    1435             :     RPT_4   ( 196,  0, 15 ), RPT_4   (-196,  0, 15 ),
    1436             :     RPT_4   ( 197,  0, 15 ), RPT_4   (-197,  0, 15 ),
    1437             :     RPT_4   ( 198,  0, 15 ), RPT_4   (-198,  0, 15 ),
    1438             :     RPT_4   ( 199,  0, 15 ), RPT_4   (-199,  0, 15 ),
    1439             :     RPT_4   ( 200,  0, 15 ), RPT_4   (-200,  0, 15 ),
    1440             :     RPT_4   ( 201,  0, 15 ), RPT_4   (-201,  0, 15 ),
    1441             :     RPT_4   ( 202,  0, 15 ), RPT_4   (-202,  0, 15 ),
    1442             :     RPT_4   ( 203,  0, 15 ), RPT_4   (-203,  0, 15 ),
    1443             :     RPT_4   ( 204,  0, 15 ), RPT_4   (-204,  0, 15 ),
    1444             :     RPT_4   ( 205,  0, 15 ), RPT_4   (-205,  0, 15 ),
    1445             :     RPT_4   ( 206,  0, 15 ), RPT_4   (-206,  0, 15 ),
    1446             :     RPT_4   ( 207,  0, 15 ), RPT_4   (-207,  0, 15 ),
    1447             :     RPT_4   ( 208,  0, 15 ), RPT_4   (-208,  0, 15 ),
    1448             :     RPT_4   ( 209,  0, 15 ), RPT_4   (-209,  0, 15 ),
    1449             :     RPT_4   ( 210,  0, 15 ), RPT_4   (-210,  0, 15 ),
    1450             :     RPT_4   ( 211,  0, 15 ), RPT_4   (-211,  0, 15 ),
    1451             :     RPT_4   ( 212,  0, 15 ), RPT_4   (-212,  0, 15 ),
    1452             :     RPT_4   ( 213,  0, 15 ), RPT_4   (-213,  0, 15 ),
    1453             :     RPT_4   ( 214,  0, 15 ), RPT_4   (-214,  0, 15 ),
    1454             :     RPT_4   ( 215,  0, 15 ), RPT_4   (-215,  0, 15 ),
    1455             :     RPT_4   ( 216,  0, 15 ), RPT_4   (-216,  0, 15 ),
    1456             :     RPT_4   ( 217,  0, 15 ), RPT_4   (-217,  0, 15 ),
    1457             :     RPT_4   ( 218,  0, 15 ), RPT_4   (-218,  0, 15 ),
    1458             :     RPT_4   ( 219,  0, 15 ), RPT_4   (-219,  0, 15 ),
    1459             :     RPT_4   ( 220,  0, 15 ), RPT_4   (-220,  0, 15 ),
    1460             :     RPT_4   ( 221,  0, 15 ), RPT_4   (-221,  0, 15 ),
    1461             :     RPT_4   ( 222,  0, 15 ), RPT_4   (-222,  0, 15 ),
    1462             :     RPT_4   ( 223,  0, 15 ), RPT_4   (-223,  0, 15 ),
    1463             :     RPT_4   ( 224,  0, 15 ), RPT_4   (-224,  0, 15 ),
    1464             :     RPT_4   ( 225,  0, 15 ), RPT_4   (-225,  0, 15 ),
    1465             :     RPT_4   ( 226,  0, 15 ), RPT_4   (-226,  0, 15 ),
    1466             :     RPT_4   ( 227,  0, 15 ), RPT_4   (-227,  0, 15 ),
    1467             :     RPT_4   ( 228,  0, 15 ), RPT_4   (-228,  0, 15 ),
    1468             :     RPT_4   ( 229,  0, 15 ), RPT_4   (-229,  0, 15 ),
    1469             :     RPT_4   ( 230,  0, 15 ), RPT_4   (-230,  0, 15 ),
    1470             :     RPT_4   ( 231,  0, 15 ), RPT_4   (-231,  0, 15 ),
    1471             :     RPT_4   ( 232,  0, 15 ), RPT_4   (-232,  0, 15 ),
    1472             :     RPT_4   ( 233,  0, 15 ), RPT_4   (-233,  0, 15 ),
    1473             :     RPT_4   ( 234,  0, 15 ), RPT_4   (-234,  0, 15 ),
    1474             :     RPT_4   ( 235,  0, 15 ), RPT_4   (-235,  0, 15 ),
    1475             :     RPT_4   ( 236,  0, 15 ), RPT_4   (-236,  0, 15 ),
    1476             :     RPT_4   ( 237,  0, 15 ), RPT_4   (-237,  0, 15 ),
    1477             :     RPT_4   ( 238,  0, 15 ), RPT_4   (-238,  0, 15 ),
    1478             :     RPT_4   ( 239,  0, 15 ), RPT_4   (-239,  0, 15 ),
    1479             :     RPT_4   ( 240,  0, 15 ), RPT_4   (-240,  0, 15 ),
    1480             :     RPT_4   ( 241,  0, 15 ), RPT_4   (-241,  0, 15 ),
    1481             :     RPT_4   ( 242,  0, 15 ), RPT_4   (-242,  0, 15 ),
    1482             :     RPT_4   ( 243,  0, 15 ), RPT_4   (-243,  0, 15 ),
    1483             :     RPT_4   ( 244,  0, 15 ), RPT_4   (-244,  0, 15 ),
    1484             :     RPT_4   ( 245,  0, 15 ), RPT_4   (-245,  0, 15 ),
    1485             :     RPT_4   ( 246,  0, 15 ), RPT_4   (-246,  0, 15 ),
    1486             :     RPT_4   ( 247,  0, 15 ), RPT_4   (-247,  0, 15 ),
    1487             :     RPT_4   ( 248,  0, 15 ), RPT_4   (-248,  0, 15 ),
    1488             :     RPT_4   ( 249,  0, 15 ), RPT_4   (-249,  0, 15 ),
    1489             :     RPT_4   ( 250,  0, 15 ), RPT_4   (-250,  0, 15 ),
    1490             :     RPT_4   ( 251,  0, 15 ), RPT_4   (-251,  0, 15 ),
    1491             :     RPT_4   ( 252,  0, 15 ), RPT_4   (-252,  0, 15 ),
    1492             :     RPT_4   ( 253,  0, 15 ), RPT_4   (-253,  0, 15 ),
    1493             :     RPT_4   ( 254,  0, 15 ), RPT_4   (-254,  0, 15 ),
    1494             :     RPT_4   ( 255,  0, 15 ), RPT_4   (-255,  0, 15 ),
    1495             :     RPT_32  (  49,  0, 12 ), RPT_32  ( -49,  0, 12 ),
    1496             :     RPT_32  (  50,  0, 12 ), RPT_32  ( -50,  0, 12 ),
    1497             :     RPT_32  (  51,  0, 12 ), RPT_32  ( -51,  0, 12 ),
    1498             :     RPT_32  (  52,  0, 12 ), RPT_32  ( -52,  0, 12 ),
    1499             :     RPT_32  (  53,  0, 12 ), RPT_32  ( -53,  0, 12 ),
    1500             :     RPT_32  (  54,  0, 12 ), RPT_32  ( -54,  0, 12 ),
    1501             :     RPT_32  (  55,  0, 12 ), RPT_32  ( -55,  0, 12 ),
    1502             :     RPT_32  (  56,  0, 12 ), RPT_32  ( -56,  0, 12 ),
    1503             :     RPT_32  (  57,  0, 12 ), RPT_32  ( -57,  0, 12 ),
    1504             :     RPT_32  (  58,  0, 12 ), RPT_32  ( -58,  0, 12 ),
    1505             :     RPT_32  (  59,  0, 12 ), RPT_32  ( -59,  0, 12 ),
    1506             :     RPT_32  (  60,  0, 12 ), RPT_32  ( -60,  0, 12 ),
    1507             :     RPT_32  (  61,  0, 12 ), RPT_32  ( -61,  0, 12 ),
    1508             :     RPT_32  (  62,  0, 12 ), RPT_32  ( -62,  0, 12 ),
    1509             :     RPT_32  (  63,  0, 12 ), RPT_32  ( -63,  0, 12 ),
    1510             :     RPT_32  (  17,  1, 12 ), RPT_32  ( -17,  1, 12 ),
    1511             :     RPT_32  (  18,  1, 12 ), RPT_32  ( -18,  1, 12 ),
    1512             :     RPT_32  (  19,  1, 12 ), RPT_32  ( -19,  1, 12 ),
    1513             :     RPT_32  (  20,  1, 12 ), RPT_32  ( -20,  1, 12 ),
    1514             :     RPT_32  (  21,  1, 12 ), RPT_32  ( -21,  1, 12 ),
    1515             :     RPT_32  (  22,  1, 12 ), RPT_32  ( -22,  1, 12 ),
    1516             :     RPT_32  (  23,  1, 12 ), RPT_32  ( -23,  1, 12 ),
    1517             :     RPT_32  (  24,  1, 12 ), RPT_32  ( -24,  1, 12 ),
    1518             :     RPT_32  (   9,  2, 12 ), RPT_32  (  -9,  2, 12 ),
    1519             :     RPT_32  (  10,  2, 12 ), RPT_32  ( -10,  2, 12 ),
    1520             :     RPT_32  (  11,  2, 12 ), RPT_32  ( -11,  2, 12 ),
    1521             :     RPT_32  (  12,  2, 12 ), RPT_32  ( -12,  2, 12 ),
    1522             :     RPT_32  (   7,  3, 12 ), RPT_32  (  -7,  3, 12 ),
    1523             :     RPT_32  (   8,  3, 12 ), RPT_32  (  -8,  3, 12 ),
    1524             :     RPT_32  (   5,  4, 12 ), RPT_32  (  -5,  4, 12 ),
    1525             :     RPT_32  (   6,  4, 12 ), RPT_32  (  -6,  4, 12 ),
    1526             :     RPT_32  (   3,  5, 12 ), RPT_32  (  -3,  5, 12 ),
    1527             :     RPT_32  (   4,  5, 12 ), RPT_32  (  -4,  5, 12 ),
    1528             :     RPT_32  (   5,  5, 12 ), RPT_32  (  -5,  5, 12 ),
    1529             :     RPT_32  (   6,  5, 12 ), RPT_32  (  -6,  5, 12 ),
    1530             :     RPT_32  (   3,  6, 12 ), RPT_32  (  -3,  6, 12 ),
    1531             :     RPT_32  (   4,  6, 12 ), RPT_32  (  -4,  6, 12 ),
    1532             :     RPT_32  (   2,  7, 12 ), RPT_32  (  -2,  7, 12 ),
    1533             :     RPT_32  (   2,  8, 12 ), RPT_32  (  -2,  8, 12 ),
    1534             :     RPT_32  (   2,  9, 12 ), RPT_32  (  -2,  9, 12 ),
    1535             :     RPT_32  (   2, 10, 12 ), RPT_32  (  -2, 10, 12 ),
    1536             :     RPT_32  (   1, 13, 12 ), RPT_32  (  -1, 13, 12 ),
    1537             :     RPT_32  (   1, 14, 12 ), RPT_32  (  -1, 14, 12 ),
    1538             :     {    0,  0, 17 }, {    0,  1, 17 }, {    0,  2, 17 }, {    0,  3, 17 },
    1539             :     {    0,  4, 17 }, {    0,  5, 17 }, {    0,  6, 17 }, {    0,  7, 17 },
    1540             :     {    0,  8, 17 }, {    0,  9, 17 }, {    0, 10, 17 }, {    0, 11, 17 },
    1541             :     {    0, 12, 17 }, {    0, 13, 17 }, {    0, 14, 17 }, {    0, 15, 17 },
    1542             :     {    0, 16, 17 }, {    0, 17, 17 }, {    0, 18, 17 }, {    0, 19, 17 },
    1543             :     {    0, 20, 17 }, {    0, 21, 17 }, {    0, 22, 17 }, {    0, 23, 17 },
    1544             :     {    0, 24, 17 }, {    0, 25, 17 }, {    0, 26, 17 }, {    0, 27, 17 },
    1545             :     {    0, 28, 17 }, {    0, 29, 17 }, {    0, 30, 17 }, {    0, 31, 17 },
    1546             :     {    0, 32, 17 }, {    0, 33, 17 }, {    0, 34, 17 }, {    0, 35, 17 },
    1547             :     {    0, 36, 17 }, {    0, 37, 17 }, {    0, 38, 17 }, {    0, 39, 17 },
    1548             :     {    0, 40, 17 }, {    0, 41, 17 }, {    0, 42, 17 }, {    0, 43, 17 },
    1549             :     {    0, 44, 17 }, {    0, 45, 17 }, {    0, 46, 17 }, {    0, 47, 17 },
    1550             :     {    0, 48, 17 }, {    0, 49, 17 }, {    0, 50, 17 }, {    0, 51, 17 },
    1551             :     {    0, 52, 17 }, {    0, 53, 17 }, {    0, 54, 17 }, {    0, 55, 17 },
    1552             :     {    0, 56, 17 }, {    0, 57, 17 }, {    0, 58, 17 }, {    0, 59, 17 },
    1553             :     {    0, 60, 17 }, {    0, 61, 17 }, {    0, 62, 17 }, {    0, 63, 17 },
    1554             :     RPT_16  (  25,  1, 13 ), RPT_16  ( -25,  1, 13 ),
    1555             :     RPT_16  (  26,  1, 13 ), RPT_16  ( -26,  1, 13 ),
    1556             :     RPT_16  (  27,  1, 13 ), RPT_16  ( -27,  1, 13 ),
    1557             :     RPT_16  (  28,  1, 13 ), RPT_16  ( -28,  1, 13 ),
    1558             :     RPT_16  (  29,  1, 13 ), RPT_16  ( -29,  1, 13 ),
    1559             :     RPT_16  (  30,  1, 13 ), RPT_16  ( -30,  1, 13 ),
    1560             :     RPT_16  (  31,  1, 13 ), RPT_16  ( -31,  1, 13 ),
    1561             :     RPT_16  (  32,  1, 13 ), RPT_16  ( -32,  1, 13 ),
    1562             :     RPT_16  (  13,  2, 13 ), RPT_16  ( -13,  2, 13 ),
    1563             :     RPT_16  (  14,  2, 13 ), RPT_16  ( -14,  2, 13 ),
    1564             :     RPT_16  (  15,  2, 13 ), RPT_16  ( -15,  2, 13 ),
    1565             :     RPT_16  (  16,  2, 13 ), RPT_16  ( -16,  2, 13 ),
    1566             :     RPT_16  (   9,  3, 13 ), RPT_16  (  -9,  3, 13 ),
    1567             :     RPT_16  (  10,  3, 13 ), RPT_16  ( -10,  3, 13 ),
    1568             :     RPT_16  (  11,  3, 13 ), RPT_16  ( -11,  3, 13 ),
    1569             :     RPT_16  (   7,  4, 13 ), RPT_16  (  -7,  4, 13 ),
    1570             :     RPT_16  (   3,  7, 13 ), RPT_16  (  -3,  7, 13 ),
    1571             :     RPT_16  (   4,  7, 13 ), RPT_16  (  -4,  7, 13 ),
    1572             :     RPT_16  (   3,  8, 13 ), RPT_16  (  -3,  8, 13 ),
    1573             :     RPT_16  (   4,  8, 13 ), RPT_16  (  -4,  8, 13 ),
    1574             :     RPT_16  (   3,  9, 13 ), RPT_16  (  -3,  9, 13 ),
    1575             :     RPT_16  (   2, 11, 13 ), RPT_16  (  -2, 11, 13 ),
    1576             :     RPT_16  (   2, 12, 13 ), RPT_16  (  -2, 12, 13 ),
    1577             :     RPT_32  (   0, 14, 12 ),
    1578             : };
    1579             : 
    1580             : static const HQXLUT ac16_lut[] = {
    1581             :     RPT_256 (   1,  0,  3 ), RPT_256 (  -1,  0,  3 ),
    1582             :     RPT_128 (   2,  0,  4 ), RPT_128 (  -2,  0,  4 ),
    1583             :     RPT_64  (   3,  0,  5 ), RPT_64  (  -3,  0,  5 ),
    1584             :     RPT_64  (   4,  0,  5 ), RPT_64  (  -4,  0,  5 ),
    1585             :     RPT_64  (   1,  1,  5 ), RPT_64  (  -1,  1,  5 ),
    1586             :     RPT_128 (   0, 64,  4 ), RPT_32  (   5,  0,  6 ),
    1587             :     RPT_32  (  -5,  0,  6 ), RPT_32  (   6,  0,  6 ),
    1588             :     RPT_32  (  -6,  0,  6 ), RPT_32  (   2,  1,  6 ),
    1589             :     RPT_32  (  -2,  1,  6 ), RPT_32  (   1,  2,  6 ),
    1590             :     RPT_32  (  -1,  2,  6 ), RPT_16  (   7,  0,  7 ),
    1591             :     RPT_16  (  -7,  0,  7 ), RPT_16  (   8,  0,  7 ),
    1592             :     RPT_16  (  -8,  0,  7 ), RPT_16  (   9,  0,  7 ),
    1593             :     RPT_16  (  -9,  0,  7 ), RPT_16  (   3,  1,  7 ),
    1594             :     RPT_16  (  -3,  1,  7 ), RPT_16  (   1,  3,  7 ),
    1595             :     RPT_16  (  -1,  3,  7 ), RPT_16  (   1,  4,  7 ),
    1596             :     RPT_16  (  -1,  4,  7 ), RPT_8   (  10,  0,  8 ),
    1597             :     RPT_8   ( -10,  0,  8 ), RPT_8   (  11,  0,  8 ),
    1598             :     RPT_8   ( -11,  0,  8 ), RPT_8   (  12,  0,  8 ),
    1599             :     RPT_8   ( -12,  0,  8 ), RPT_8   (   4,  1,  8 ),
    1600             :     RPT_8   (  -4,  1,  8 ), RPT_8   (   2,  2,  8 ),
    1601             :     RPT_8   (  -2,  2,  8 ), RPT_8   (   1,  5,  8 ),
    1602             :     RPT_8   (  -1,  5,  8 ), RPT_8   (   1,  6,  8 ),
    1603             :     RPT_8   (  -1,  6,  8 ), RPT_4   (  13,  0,  9 ),
    1604             :     RPT_4   ( -13,  0,  9 ), RPT_4   (  14,  0,  9 ),
    1605             :     RPT_4   ( -14,  0,  9 ), RPT_4   (  15,  0,  9 ),
    1606             :     RPT_4   ( -15,  0,  9 ), RPT_4   (  16,  0,  9 ),
    1607             :     RPT_4   ( -16,  0,  9 ), RPT_4   (  17,  0,  9 ),
    1608             :     RPT_4   ( -17,  0,  9 ), RPT_4   (   5,  1,  9 ),
    1609             :     RPT_4   (  -5,  1,  9 ), RPT_4   (   2,  3,  9 ),
    1610             :     RPT_4   (  -2,  3,  9 ), RPT_4   (   1,  7,  9 ),
    1611             :     RPT_4   (  -1,  7,  9 ), RPT_4   (   1,  8,  9 ),
    1612             :     RPT_4   (  -1,  8,  9 ), RPT_4   (   1,  9,  9 ),
    1613             :     RPT_4   (  -1,  9,  9 ), RPT_4   (   1, 10,  9 ),
    1614             :     RPT_4   (  -1, 10,  9 ), RPT_4   (   0,  0,  9 ),
    1615             :     RPT_2   (  18,  0, 10 ), RPT_2   ( -18,  0, 10 ),
    1616             :     RPT_2   (  19,  0, 10 ), RPT_2   ( -19,  0, 10 ),
    1617             :     RPT_2   (  20,  0, 10 ), RPT_2   ( -20,  0, 10 ),
    1618             :     RPT_2   (  21,  0, 10 ), RPT_2   ( -21,  0, 10 ),
    1619             :     RPT_2   (  22,  0, 10 ), RPT_2   ( -22,  0, 10 ),
    1620             :     RPT_2   (   6,  1, 10 ), RPT_2   (  -6,  1, 10 ),
    1621             :     RPT_2   (   7,  1, 10 ), RPT_2   (  -7,  1, 10 ),
    1622             :     RPT_2   (   3,  2, 10 ), RPT_2   (  -3,  2, 10 ),
    1623             :     RPT_2   (   2,  4, 10 ), RPT_2   (  -2,  4, 10 ),
    1624             :     RPT_2   (   2,  5, 10 ), RPT_2   (  -2,  5, 10 ),
    1625             :     RPT_2   (   1, 11, 10 ), RPT_2   (  -1, 11, 10 ),
    1626             :     RPT_2   (   1, 12, 10 ), RPT_2   (  -1, 12, 10 ),
    1627             :     RPT_2   (   1, 13, 10 ), RPT_2   (  -1, 13, 10 ),
    1628             :     { 2048,  0, -1 }, { 2112,  0, -1 }, { 2176,  0, -1 }, { 2240,  0, -1 },
    1629             :     { 2304,  0, -1 }, { 2368,  0, -1 }, { 2432,  0, -1 }, { 2496,  0, -1 },
    1630             :     {   23,  0, 11 }, {  -23,  0, 11 }, {   24,  0, 11 }, {  -24,  0, 11 },
    1631             :     {   25,  0, 11 }, {  -25,  0, 11 }, {   26,  0, 11 }, {  -26,  0, 11 },
    1632             :     {   27,  0, 11 }, {  -27,  0, 11 }, {   28,  0, 11 }, {  -28,  0, 11 },
    1633             :     {    8,  1, 11 }, {   -8,  1, 11 }, {    9,  1, 11 }, {   -9,  1, 11 },
    1634             :     {    4,  2, 11 }, {   -4,  2, 11 }, {    3,  3, 11 }, {   -3,  3, 11 },
    1635             :     {    3,  4, 11 }, {   -3,  4, 11 }, {    2,  6, 11 }, {   -2,  6, 11 },
    1636             :     {    2,  7, 11 }, {   -2,  7, 11 }, { 2560,  0, -1 }, { 2624,  0, -1 },
    1637             :     { 2688,  0, -1 }, { 2752,  0, -1 }, { 2816,  0, -1 }, { 2880,  0, -1 },
    1638             :     { 2944,  0, -1 }, {    0,  1, 11 }, { 3008,  0, -1 }, { 3072,  0, -1 },
    1639             :     { 3136,  0, -1 }, {    0,  2, 11 }, { 3200,  0, -1 }, {    0,  3, 11 },
    1640             :     { 3264,  0, -1 }, { 3328,  0, -1 }, { 3392,  0, -1 }, { 3456,  0, -1 },
    1641             :     { 3520,  0, -1 }, { 3584,  0, -1 }, { 3648,  0, -1 }, { 3712,  0, -1 },
    1642             :     { 3776,  0, -1 }, { 3840,  0, -1 }, { 3904,  0, -1 }, { 3968,  0, -1 },
    1643             :     { 4032,  0, -1 }, { 4096,  0, -1 }, { 4160,  0, -1 }, { 4224,  0, -1 },
    1644             :     RPT_4   (   0,  0, 15 ), RPT_4   (   0,  1, 15 ),
    1645             :     RPT_4   (   0,  2, 15 ), RPT_4   (   0,  3, 15 ),
    1646             :     RPT_4   (   0,  4, 15 ), RPT_4   (   0,  5, 15 ),
    1647             :     RPT_4   (   0,  6, 15 ), RPT_4   (   0,  7, 15 ),
    1648             :     RPT_4   (   0,  8, 15 ), RPT_4   (   0,  9, 15 ),
    1649             :     RPT_4   (   0, 10, 15 ), RPT_4   (   0, 11, 15 ),
    1650             :     RPT_4   (   0, 12, 15 ), RPT_4   (   0, 13, 15 ),
    1651             :     RPT_4   (   0, 14, 15 ), RPT_4   (   0, 15, 15 ),
    1652             :     RPT_4   (   0, 16, 15 ), RPT_4   (   0, 17, 15 ),
    1653             :     RPT_4   (   0, 18, 15 ), RPT_4   (   0, 19, 15 ),
    1654             :     RPT_4   (   0, 20, 15 ), RPT_4   (   0, 21, 15 ),
    1655             :     RPT_4   (   0, 22, 15 ), RPT_4   (   0, 23, 15 ),
    1656             :     RPT_4   (   0, 24, 15 ), RPT_4   (   0, 25, 15 ),
    1657             :     RPT_4   (   0, 26, 15 ), RPT_4   (   0, 27, 15 ),
    1658             :     RPT_4   (   0, 28, 15 ), RPT_4   (   0, 29, 15 ),
    1659             :     RPT_4   (   0, 30, 15 ), RPT_4   (   0, 31, 15 ),
    1660             :     RPT_4   (   0, 32, 15 ), RPT_4   (   0, 33, 15 ),
    1661             :     RPT_4   (   0, 34, 15 ), RPT_4   (   0, 35, 15 ),
    1662             :     RPT_4   (   0, 36, 15 ), RPT_4   (   0, 37, 15 ),
    1663             :     RPT_4   (   0, 38, 15 ), RPT_4   (   0, 39, 15 ),
    1664             :     RPT_4   (   0, 40, 15 ), RPT_4   (   0, 41, 15 ),
    1665             :     RPT_4   (   0, 42, 15 ), RPT_4   (   0, 43, 15 ),
    1666             :     RPT_4   (   0, 44, 15 ), RPT_4   (   0, 45, 15 ),
    1667             :     RPT_4   (   0, 46, 15 ), RPT_4   (   0, 47, 15 ),
    1668             :     RPT_4   (   0, 48, 15 ), RPT_4   (   0, 49, 15 ),
    1669             :     RPT_4   (   0, 50, 15 ), RPT_4   (   0, 51, 15 ),
    1670             :     RPT_4   (   0, 52, 15 ), RPT_4   (   0, 53, 15 ),
    1671             :     RPT_4   (   0, 54, 15 ), RPT_4   (   0, 55, 15 ),
    1672             :     RPT_4   (   0, 56, 15 ), RPT_4   (   0, 57, 15 ),
    1673             :     RPT_4   (   0, 58, 15 ), RPT_4   (   0, 59, 15 ),
    1674             :     RPT_4   (   0, 60, 15 ), RPT_4   (   0, 61, 15 ),
    1675             :     RPT_4   (   0, 62, 15 ), RPT_4   (   0, 63, 15 ),
    1676             :     RPT_2   (   0,  0, 16 ), {    1,  0, 17 }, {   -1,  0, 17 },
    1677             :     {    2,  0, 17 }, {   -2,  0, 17 }, {    3,  0, 17 }, {   -3,  0, 17 },
    1678             :     {    4,  0, 17 }, {   -4,  0, 17 }, {    5,  0, 17 }, {   -5,  0, 17 },
    1679             :     {    6,  0, 17 }, {   -6,  0, 17 }, {    7,  0, 17 }, {   -7,  0, 17 },
    1680             :     {    8,  0, 17 }, {   -8,  0, 17 }, {    9,  0, 17 }, {   -9,  0, 17 },
    1681             :     {   10,  0, 17 }, {  -10,  0, 17 }, {   11,  0, 17 }, {  -11,  0, 17 },
    1682             :     {   12,  0, 17 }, {  -12,  0, 17 }, {   13,  0, 17 }, {  -13,  0, 17 },
    1683             :     {   14,  0, 17 }, {  -14,  0, 17 }, {   15,  0, 17 }, {  -15,  0, 17 },
    1684             :     {   16,  0, 17 }, {  -16,  0, 17 }, {   17,  0, 17 }, {  -17,  0, 17 },
    1685             :     {   18,  0, 17 }, {  -18,  0, 17 }, {   19,  0, 17 }, {  -19,  0, 17 },
    1686             :     {   20,  0, 17 }, {  -20,  0, 17 }, {   21,  0, 17 }, {  -21,  0, 17 },
    1687             :     {   22,  0, 17 }, {  -22,  0, 17 }, {   23,  0, 17 }, {  -23,  0, 17 },
    1688             :     {   24,  0, 17 }, {  -24,  0, 17 }, {   25,  0, 17 }, {  -25,  0, 17 },
    1689             :     {   26,  0, 17 }, {  -26,  0, 17 }, {   27,  0, 17 }, {  -27,  0, 17 },
    1690             :     {   28,  0, 17 }, {  -28,  0, 17 }, {   29,  0, 17 }, {  -29,  0, 17 },
    1691             :     {   30,  0, 17 }, {  -30,  0, 17 }, {   31,  0, 17 }, {  -31,  0, 17 },
    1692             :     {   32,  0, 17 }, {  -32,  0, 17 }, {   33,  0, 17 }, {  -33,  0, 17 },
    1693             :     {   34,  0, 17 }, {  -34,  0, 17 }, {   35,  0, 17 }, {  -35,  0, 17 },
    1694             :     {   36,  0, 17 }, {  -36,  0, 17 }, {   37,  0, 17 }, {  -37,  0, 17 },
    1695             :     {   38,  0, 17 }, {  -38,  0, 17 }, {   39,  0, 17 }, {  -39,  0, 17 },
    1696             :     {   40,  0, 17 }, {  -40,  0, 17 }, {   41,  0, 17 }, {  -41,  0, 17 },
    1697             :     {   42,  0, 17 }, {  -42,  0, 17 }, {   43,  0, 17 }, {  -43,  0, 17 },
    1698             :     {   44,  0, 17 }, {  -44,  0, 17 }, {   45,  0, 17 }, {  -45,  0, 17 },
    1699             :     {   46,  0, 17 }, {  -46,  0, 17 }, {   47,  0, 17 }, {  -47,  0, 17 },
    1700             :     {   48,  0, 17 }, {  -48,  0, 17 }, {   49,  0, 17 }, {  -49,  0, 17 },
    1701             :     {   50,  0, 17 }, {  -50,  0, 17 }, {   51,  0, 17 }, {  -51,  0, 17 },
    1702             :     {   52,  0, 17 }, {  -52,  0, 17 }, {   53,  0, 17 }, {  -53,  0, 17 },
    1703             :     {   54,  0, 17 }, {  -54,  0, 17 }, {   55,  0, 17 }, {  -55,  0, 17 },
    1704             :     {   56,  0, 17 }, {  -56,  0, 17 }, {   57,  0, 17 }, {  -57,  0, 17 },
    1705             :     {   58,  0, 17 }, {  -58,  0, 17 }, {   59,  0, 17 }, {  -59,  0, 17 },
    1706             :     {   60,  0, 17 }, {  -60,  0, 17 }, {   61,  0, 17 }, {  -61,  0, 17 },
    1707             :     {   62,  0, 17 }, {  -62,  0, 17 }, {   63,  0, 17 }, {  -63,  0, 17 },
    1708             :     {   64,  0, 17 }, {  -64,  0, 17 }, {   65,  0, 17 }, {  -65,  0, 17 },
    1709             :     {   66,  0, 17 }, {  -66,  0, 17 }, {   67,  0, 17 }, {  -67,  0, 17 },
    1710             :     {   68,  0, 17 }, {  -68,  0, 17 }, {   69,  0, 17 }, {  -69,  0, 17 },
    1711             :     {   70,  0, 17 }, {  -70,  0, 17 }, {   71,  0, 17 }, {  -71,  0, 17 },
    1712             :     {   72,  0, 17 }, {  -72,  0, 17 }, {   73,  0, 17 }, {  -73,  0, 17 },
    1713             :     {   74,  0, 17 }, {  -74,  0, 17 }, {   75,  0, 17 }, {  -75,  0, 17 },
    1714             :     {   76,  0, 17 }, {  -76,  0, 17 }, {   77,  0, 17 }, {  -77,  0, 17 },
    1715             :     {   78,  0, 17 }, {  -78,  0, 17 }, {   79,  0, 17 }, {  -79,  0, 17 },
    1716             :     {   80,  0, 17 }, {  -80,  0, 17 }, {   81,  0, 17 }, {  -81,  0, 17 },
    1717             :     {   82,  0, 17 }, {  -82,  0, 17 }, {   83,  0, 17 }, {  -83,  0, 17 },
    1718             :     {   84,  0, 17 }, {  -84,  0, 17 }, {   85,  0, 17 }, {  -85,  0, 17 },
    1719             :     {   86,  0, 17 }, {  -86,  0, 17 }, {   87,  0, 17 }, {  -87,  0, 17 },
    1720             :     {   88,  0, 17 }, {  -88,  0, 17 }, {   89,  0, 17 }, {  -89,  0, 17 },
    1721             :     {   90,  0, 17 }, {  -90,  0, 17 }, {   91,  0, 17 }, {  -91,  0, 17 },
    1722             :     {   92,  0, 17 }, {  -92,  0, 17 }, {   93,  0, 17 }, {  -93,  0, 17 },
    1723             :     {   94,  0, 17 }, {  -94,  0, 17 }, {   95,  0, 17 }, {  -95,  0, 17 },
    1724             :     {   96,  0, 17 }, {  -96,  0, 17 }, {   97,  0, 17 }, {  -97,  0, 17 },
    1725             :     {   98,  0, 17 }, {  -98,  0, 17 }, {   99,  0, 17 }, {  -99,  0, 17 },
    1726             :     {  100,  0, 17 }, { -100,  0, 17 }, {  101,  0, 17 }, { -101,  0, 17 },
    1727             :     {  102,  0, 17 }, { -102,  0, 17 }, {  103,  0, 17 }, { -103,  0, 17 },
    1728             :     {  104,  0, 17 }, { -104,  0, 17 }, {  105,  0, 17 }, { -105,  0, 17 },
    1729             :     {  106,  0, 17 }, { -106,  0, 17 }, {  107,  0, 17 }, { -107,  0, 17 },
    1730             :     {  108,  0, 17 }, { -108,  0, 17 }, {  109,  0, 17 }, { -109,  0, 17 },
    1731             :     {  110,  0, 17 }, { -110,  0, 17 }, {  111,  0, 17 }, { -111,  0, 17 },
    1732             :     {  112,  0, 17 }, { -112,  0, 17 }, {  113,  0, 17 }, { -113,  0, 17 },
    1733             :     {  114,  0, 17 }, { -114,  0, 17 }, {  115,  0, 17 }, { -115,  0, 17 },
    1734             :     {  116,  0, 17 }, { -116,  0, 17 }, {  117,  0, 17 }, { -117,  0, 17 },
    1735             :     {  118,  0, 17 }, { -118,  0, 17 }, {  119,  0, 17 }, { -119,  0, 17 },
    1736             :     {  120,  0, 17 }, { -120,  0, 17 }, {  121,  0, 17 }, { -121,  0, 17 },
    1737             :     {  122,  0, 17 }, { -122,  0, 17 }, {  123,  0, 17 }, { -123,  0, 17 },
    1738             :     {  124,  0, 17 }, { -124,  0, 17 }, {  125,  0, 17 }, { -125,  0, 17 },
    1739             :     {  126,  0, 17 }, { -126,  0, 17 }, {  127,  0, 17 }, { -127,  0, 17 },
    1740             :     RPT_32  (  29,  0, 12 ), RPT_32  ( -29,  0, 12 ),
    1741             :     RPT_32  (  30,  0, 12 ), RPT_32  ( -30,  0, 12 ),
    1742             :     RPT_32  (  31,  0, 12 ), RPT_32  ( -31,  0, 12 ),
    1743             :     RPT_32  (  32,  0, 12 ), RPT_32  ( -32,  0, 12 ),
    1744             :     RPT_32  (  33,  0, 12 ), RPT_32  ( -33,  0, 12 ),
    1745             :     RPT_32  (  34,  0, 12 ), RPT_32  ( -34,  0, 12 ),
    1746             :     RPT_32  (  35,  0, 12 ), RPT_32  ( -35,  0, 12 ),
    1747             :     RPT_32  (  10,  1, 12 ), RPT_32  ( -10,  1, 12 ),
    1748             :     RPT_32  (  11,  1, 12 ), RPT_32  ( -11,  1, 12 ),
    1749             :     RPT_32  (  12,  1, 12 ), RPT_32  ( -12,  1, 12 ),
    1750             :     RPT_32  (   5,  2, 12 ), RPT_32  (  -5,  2, 12 ),
    1751             :     RPT_32  (   4,  3, 12 ), RPT_32  (  -4,  3, 12 ),
    1752             :     RPT_32  (   3,  5, 12 ), RPT_32  (  -3,  5, 12 ),
    1753             :     RPT_32  (   2,  8, 12 ), RPT_32  (  -2,  8, 12 ),
    1754             :     RPT_32  (   2,  9, 12 ), RPT_32  (  -2,  9, 12 ),
    1755             :     RPT_32  (   1, 14, 12 ), RPT_32  (  -1, 14, 12 ),
    1756             :     RPT_32  (   1, 15, 12 ), RPT_32  (  -1, 15, 12 ),
    1757             :     RPT_16  (  36,  0, 13 ), RPT_16  ( -36,  0, 13 ),
    1758             :     RPT_16  (  37,  0, 13 ), RPT_16  ( -37,  0, 13 ),
    1759             :     RPT_16  (  38,  0, 13 ), RPT_16  ( -38,  0, 13 ),
    1760             :     RPT_16  (  39,  0, 13 ), RPT_16  ( -39,  0, 13 ),
    1761             :     RPT_16  (  40,  0, 13 ), RPT_16  ( -40,  0, 13 ),
    1762             :     RPT_16  (  13,  1, 13 ), RPT_16  ( -13,  1, 13 ),
    1763             :     RPT_16  (  14,  1, 13 ), RPT_16  ( -14,  1, 13 ),
    1764             :     RPT_16  (  15,  1, 13 ), RPT_16  ( -15,  1, 13 ),
    1765             :     RPT_16  (   6,  2, 13 ), RPT_16  (  -6,  2, 13 ),
    1766             :     RPT_16  (   7,  2, 13 ), RPT_16  (  -7,  2, 13 ),
    1767             :     RPT_16  (   5,  3, 13 ), RPT_16  (  -5,  3, 13 ),
    1768             :     RPT_32  (   0,  4, 12 ), RPT_16  (   4,  4, 13 ),
    1769             :     RPT_16  (  -4,  4, 13 ), RPT_32  (   0,  5, 12 ),
    1770             :     RPT_32  (   0,  6, 12 ), RPT_16  (   3,  6, 13 ),
    1771             :     RPT_16  (  -3,  6, 13 ), RPT_32  (   0,  7, 12 ),
    1772             :     RPT_16  (   3,  7, 13 ), RPT_16  (  -3,  7, 13 ),
    1773             :     RPT_16  (   2, 10, 13 ), RPT_16  (  -2, 10, 13 ),
    1774             :     RPT_16  (   1, 16, 13 ), RPT_16  (  -1, 16, 13 ),
    1775             : };
    1776             : 
    1777             : static const HQXLUT ac32_lut[] = {
    1778             :     RPT_256 (   1,  0,  3 ), RPT_256 (  -1,  0,  3 ),
    1779             :     RPT_128 (   2,  0,  4 ), RPT_128 (  -2,  0,  4 ),
    1780             :     RPT_256 (   0, 64,  3 ), RPT_64  (   3,  0,  5 ),
    1781             :     RPT_64  (  -3,  0,  5 ), RPT_64  (   1,  1,  5 ),
    1782             :     RPT_64  (  -1,  1,  5 ), RPT_32  (   4,  0,  6 ),
    1783             :     RPT_32  (  -4,  0,  6 ), RPT_32  (   5,  0,  6 ),
    1784             :     RPT_32  (  -5,  0,  6 ), RPT_32  (   2,  1,  6 ),
    1785             :     RPT_32  (  -2,  1,  6 ), RPT_32  (   1,  2,  6 ),
    1786             :     RPT_32  (  -1,  2,  6 ), RPT_32  (   1,  3,  6 ),
    1787             :     RPT_32  (  -1,  3,  6 ), RPT_16  (   6,  0,  7 ),
    1788             :     RPT_16  (  -6,  0,  7 ), RPT_16  (   7,  0,  7 ),
    1789             :     RPT_16  (  -7,  0,  7 ), RPT_16  (   3,  1,  7 ),
    1790             :     RPT_16  (  -3,  1,  7 ), RPT_16  (   1,  4,  7 ),
    1791             :     RPT_16  (  -1,  4,  7 ), RPT_16  (   1,  5,  7 ),
    1792             :     RPT_16  (  -1,  5,  7 ), RPT_8   (   8,  0,  8 ),
    1793             :     RPT_8   (  -8,  0,  8 ), RPT_8   (   9,  0,  8 ),
    1794             :     RPT_8   (  -9,  0,  8 ), RPT_8   (  10,  0,  8 ),
    1795             :     RPT_8   ( -10,  0,  8 ), RPT_8   (   4,  1,  8 ),
    1796             :     RPT_8   (  -4,  1,  8 ), RPT_8   (   2,  2,  8 ),
    1797             :     RPT_8   (  -2,  2,  8 ), RPT_8   (   1,  6,  8 ),
    1798             :     RPT_8   (  -1,  6,  8 ), RPT_8   (   1,  7,  8 ),
    1799             :     RPT_8   (  -1,  7,  8 ), RPT_8   (   1,  8,  8 ),
    1800             :     RPT_8   (  -1,  8,  8 ), RPT_4   (  11,  0,  9 ),
    1801             :     RPT_4   ( -11,  0,  9 ), RPT_4   (  12,  0,  9 ),
    1802             :     RPT_4   ( -12,  0,  9 ), RPT_4   (  13,  0,  9 ),
    1803             :     RPT_4   ( -13,  0,  9 ), RPT_4   (   5,  1,  9 ),
    1804             :     RPT_4   (  -5,  1,  9 ), RPT_4   (   2,  3,  9 ),
    1805             :     RPT_4   (  -2,  3,  9 ), RPT_4   (   1,  9,  9 ),
    1806             :     RPT_4   (  -1,  9,  9 ), RPT_4   (   1, 10,  9 ),
    1807             :     RPT_4   (  -1, 10,  9 ), RPT_2   (  14,  0, 10 ),
    1808             :     RPT_2   ( -14,  0, 10 ), RPT_2   (  15,  0, 10 ),
    1809             :     RPT_2   ( -15,  0, 10 ), RPT_2   (  16,  0, 10 ),
    1810             :     RPT_2   ( -16,  0, 10 ), RPT_2   (   6,  1, 10 ),
    1811             :     RPT_2   (  -6,  1, 10 ), RPT_2   (   7,  1, 10 ),
    1812             :     RPT_2   (  -7,  1, 10 ), RPT_2   (   3,  2, 10 ),
    1813             :     RPT_2   (  -3,  2, 10 ), RPT_2   (   3,  3, 10 ),
    1814             :     RPT_2   (  -3,  3, 10 ), RPT_2   (   2,  4, 10 ),
    1815             :     RPT_2   (  -2,  4, 10 ), RPT_2   (   2,  5, 10 ),
    1816             :     RPT_2   (  -2,  5, 10 ), RPT_2   (   1, 11, 10 ),
    1817             :     RPT_2   (  -1, 11, 10 ), RPT_2   (   1, 12, 10 ),
    1818             :     RPT_2   (  -1, 12, 10 ), RPT_2   (   1, 13, 10 ),
    1819             :     RPT_2   (  -1, 13, 10 ), { 2048,  0, -1 }, { 2112,  0, -1 },
    1820             :     { 2176,  0, -1 }, { 2240,  0, -1 }, RPT_2   (   0,  0, 10 ),
    1821             :     {   17,  0, 11 }, {  -17,  0, 11 }, {   18,  0, 11 }, {  -18,  0, 11 },
    1822             :     {   19,  0, 11 }, {  -19,  0, 11 }, {   20,  0, 11 }, {  -20,  0, 11 },
    1823             :     {    8,  1, 11 }, {   -8,  1, 11 }, {    9,  1, 11 }, {   -9,  1, 11 },
    1824             :     {    4,  2, 11 }, {   -4,  2, 11 }, {    3,  4, 11 }, {   -3,  4, 11 },
    1825             :     {    2,  6, 11 }, {   -2,  6, 11 }, {    2,  7, 11 }, {   -2,  7, 11 },
    1826             :     {    2,  8, 11 }, {   -2,  8, 11 }, {    1, 14, 11 }, {   -1, 14, 11 },
    1827             :     { 2304,  0, -1 }, { 2368,  0, -1 }, { 2432,  0, -1 }, { 2496,  0, -1 },
    1828             :     { 2560,  0, -1 }, {    0,  1, 11 }, { 2624,  0, -1 }, { 2688,  0, -1 },
    1829             :     {    0,  2, 11 }, { 2752,  0, -1 }, { 2816,  0, -1 }, {    0,  3, 11 },
    1830             :     { 2880,  0, -1 }, {    0,  4, 11 }, { 2944,  0, -1 }, { 3008,  0, -1 },
    1831             :     { 3072,  0, -1 }, { 3136,  0, -1 }, { 3200,  0, -1 }, { 3264,  0, -1 },
    1832             :     { 3328,  0, -1 }, { 3392,  0, -1 }, { 3456,  0, -1 }, { 3520,  0, -1 },
    1833             :     { 3584,  0, -1 }, { 3648,  0, -1 }, RPT_4   (   0,  0, 15 ),
    1834             :     RPT_4   (   0,  1, 15 ), RPT_4   (   0,  2, 15 ),
    1835             :     RPT_4   (   0,  3, 15 ), RPT_4   (   0,  4, 15 ),
    1836             :     RPT_4   (   0,  5, 15 ), RPT_4   (   0,  6, 15 ),
    1837             :     RPT_4   (   0,  7, 15 ), RPT_4   (   0,  8, 15 ),
    1838             :     RPT_4   (   0,  9, 15 ), RPT_4   (   0, 10, 15 ),
    1839             :     RPT_4   (   0, 11, 15 ), RPT_4   (   0, 12, 15 ),
    1840             :     RPT_4   (   0, 13, 15 ), RPT_4   (   0, 14, 15 ),
    1841             :     RPT_4   (   0, 15, 15 ), RPT_4   (   0, 16, 15 ),
    1842             :     RPT_4   (   0, 17, 15 ), RPT_4   (   0, 18, 15 ),
    1843             :     RPT_4   (   0, 19, 15 ), RPT_4   (   0, 20, 15 ),
    1844             :     RPT_4   (   0, 21, 15 ), RPT_4   (   0, 22, 15 ),
    1845             :     RPT_4   (   0, 23, 15 ), RPT_4   (   0, 24, 15 ),
    1846             :     RPT_4   (   0, 25, 15 ), RPT_4   (   0, 26, 15 ),
    1847             :     RPT_4   (   0, 27, 15 ), RPT_4   (   0, 28, 15 ),
    1848             :     RPT_4   (   0, 29, 15 ), RPT_4   (   0, 30, 15 ),
    1849             :     RPT_4   (   0, 31, 15 ), RPT_4   (   0, 32, 15 ),
    1850             :     RPT_4   (   0, 33, 15 ), RPT_4   (   0, 34, 15 ),
    1851             :     RPT_4   (   0, 35, 15 ), RPT_4   (   0, 36, 15 ),
    1852             :     RPT_4   (   0, 37, 15 ), RPT_4   (   0, 38, 15 ),
    1853             :     RPT_4   (   0, 39, 15 ), RPT_4   (   0, 40, 15 ),
    1854             :     RPT_4   (   0, 41, 15 ), RPT_4   (   0, 42, 15 ),
    1855             :     RPT_4   (   0, 43, 15 ), RPT_4   (   0, 44, 15 ),
    1856             :     RPT_4   (   0, 45, 15 ), RPT_4   (   0, 46, 15 ),
    1857             :     RPT_4   (   0, 47, 15 ), RPT_4   (   0, 48, 15 ),
    1858             :     RPT_4   (   0, 49, 15 ), RPT_4   (   0, 50, 15 ),
    1859             :     RPT_4   (   0, 51, 15 ), RPT_4   (   0, 52, 15 ),
    1860             :     RPT_4   (   0, 53, 15 ), RPT_4   (   0, 54, 15 ),
    1861             :     RPT_4   (   0, 55, 15 ), RPT_4   (   0, 56, 15 ),
    1862             :     RPT_4   (   0, 57, 15 ), RPT_4   (   0, 58, 15 ),
    1863             :     RPT_4   (   0, 59, 15 ), RPT_4   (   0, 60, 15 ),
    1864             :     RPT_4   (   0, 61, 15 ), RPT_4   (   0, 62, 15 ),
    1865             :     RPT_4   (   0, 63, 15 ), RPT_2   (   0,  0, 16 ),
    1866             :     {    1,  0, 17 }, {   -1,  0, 17 }, {    2,  0, 17 }, {   -2,  0, 17 },
    1867             :     {    3,  0, 17 }, {   -3,  0, 17 }, {    4,  0, 17 }, {   -4,  0, 17 },
    1868             :     {    5,  0, 17 }, {   -5,  0, 17 }, {    6,  0, 17 }, {   -6,  0, 17 },
    1869             :     {    7,  0, 17 }, {   -7,  0, 17 }, {    8,  0, 17 }, {   -8,  0, 17 },
    1870             :     {    9,  0, 17 }, {   -9,  0, 17 }, {   10,  0, 17 }, {  -10,  0, 17 },
    1871             :     {   11,  0, 17 }, {  -11,  0, 17 }, {   12,  0, 17 }, {  -12,  0, 17 },
    1872             :     {   13,  0, 17 }, {  -13,  0, 17 }, {   14,  0, 17 }, {  -14,  0, 17 },
    1873             :     {   15,  0, 17 }, {  -15,  0, 17 }, {   16,  0, 17 }, {  -16,  0, 17 },
    1874             :     {   17,  0, 17 }, {  -17,  0, 17 }, {   18,  0, 17 }, {  -18,  0, 17 },
    1875             :     {   19,  0, 17 }, {  -19,  0, 17 }, {   20,  0, 17 }, {  -20,  0, 17 },
    1876             :     {   21,  0, 17 }, {  -21,  0, 17 }, {   22,  0, 17 }, {  -22,  0, 17 },
    1877             :     {   23,  0, 17 }, {  -23,  0, 17 }, {   24,  0, 17 }, {  -24,  0, 17 },
    1878             :     {   25,  0, 17 }, {  -25,  0, 17 }, {   26,  0, 17 }, {  -26,  0, 17 },
    1879             :     {   27,  0, 17 }, {  -27,  0, 17 }, {   28,  0, 17 }, {  -28,  0, 17 },
    1880             :     {   29,  0, 17 }, {  -29,  0, 17 }, {   30,  0, 17 }, {  -30,  0, 17 },
    1881             :     {   31,  0, 17 }, {  -31,  0, 17 }, {   32,  0, 17 }, {  -32,  0, 17 },
    1882             :     {   33,  0, 17 }, {  -33,  0, 17 }, {   34,  0, 17 }, {  -34,  0, 17 },
    1883             :     {   35,  0, 17 }, {  -35,  0, 17 }, {   36,  0, 17 }, {  -36,  0, 17 },
    1884             :     {   37,  0, 17 }, {  -37,  0, 17 }, {   38,  0, 17 }, {  -38,  0, 17 },
    1885             :     {   39,  0, 17 }, {  -39,  0, 17 }, {   40,  0, 17 }, {  -40,  0, 17 },
    1886             :     {   41,  0, 17 }, {  -41,  0, 17 }, {   42,  0, 17 }, {  -42,  0, 17 },
    1887             :     {   43,  0, 17 }, {  -43,  0, 17 }, {   44,  0, 17 }, {  -44,  0, 17 },
    1888             :     {   45,  0, 17 }, {  -45,  0, 17 }, {   46,  0, 17 }, {  -46,  0, 17 },
    1889             :     {   47,  0, 17 }, {  -47,  0, 17 }, {   48,  0, 17 }, {  -48,  0, 17 },
    1890             :     {   49,  0, 17 }, {  -49,  0, 17 }, {   50,  0, 17 }, {  -50,  0, 17 },
    1891             :     {   51,  0, 17 }, {  -51,  0, 17 }, {   52,  0, 17 }, {  -52,  0, 17 },
    1892             :     {   53,  0, 17 }, {  -53,  0, 17 }, {   54,  0, 17 }, {  -54,  0, 17 },
    1893             :     {   55,  0, 17 }, {  -55,  0, 17 }, {   56,  0, 17 }, {  -56,  0, 17 },
    1894             :     {   57,  0, 17 }, {  -57,  0, 17 }, {   58,  0, 17 }, {  -58,  0, 17 },
    1895             :     {   59,  0, 17 }, {  -59,  0, 17 }, {   60,  0, 17 }, {  -60,  0, 17 },
    1896             :     {   61,  0, 17 }, {  -61,  0, 17 }, {   62,  0, 17 }, {  -62,  0, 17 },
    1897             :     {   63,  0, 17 }, {  -63,  0, 17 }, RPT_32  (  21,  0, 12 ),
    1898             :     RPT_32  ( -21,  0, 12 ), RPT_32  (  22,  0, 12 ),
    1899             :     RPT_32  ( -22,  0, 12 ), RPT_32  (  23,  0, 12 ),
    1900             :     RPT_32  ( -23,  0, 12 ), RPT_32  (  10,  1, 12 ),
    1901             :     RPT_32  ( -10,  1, 12 ), RPT_32  (  11,  1, 12 ),
    1902             :     RPT_32  ( -11,  1, 12 ), RPT_32  (   5,  2, 12 ),
    1903             :     RPT_32  (  -5,  2, 12 ), RPT_32  (   6,  2, 12 ),
    1904             :     RPT_32  (  -6,  2, 12 ), RPT_32  (   4,  3, 12 ),
    1905             :     RPT_32  (  -4,  3, 12 ), RPT_32  (   3,  5, 12 ),
    1906             :     RPT_32  (  -3,  5, 12 ), RPT_32  (   3,  6, 12 ),
    1907             :     RPT_32  (  -3,  6, 12 ), RPT_32  (   2,  9, 12 ),
    1908             :     RPT_32  (  -2,  9, 12 ), RPT_32  (   1, 15, 12 ),
    1909             :     RPT_32  (  -1, 15, 12 ), RPT_16  (  24,  0, 13 ),
    1910             :     RPT_16  ( -24,  0, 13 ), RPT_16  (  25,  0, 13 ),
    1911             :     RPT_16  ( -25,  0, 13 ), RPT_16  (  26,  0, 13 ),
    1912             :     RPT_16  ( -26,  0, 13 ), RPT_16  (  12,  1, 13 ),
    1913             :     RPT_16  ( -12,  1, 13 ), RPT_16  (  13,  1, 13 ),
    1914             :     RPT_16  ( -13,  1, 13 ), RPT_16  (   5,  3, 13 ),
    1915             :     RPT_16  (  -5,  3, 13 ), RPT_16  (   4,  4, 13 ),
    1916             :     RPT_16  (  -4,  4, 13 ), RPT_32  (   0,  5, 12 ),
    1917             :     RPT_16  (   4,  5, 13 ), RPT_16  (  -4,  5, 13 ),
    1918             :     RPT_32  (   0,  6, 12 ), RPT_32  (   0,  7, 12 ),
    1919             :     RPT_16  (   3,  7, 13 ), RPT_16  (  -3,  7, 13 ),
    1920             :     RPT_32  (   0,  8, 12 ), RPT_16  (   3,  8, 13 ),
    1921             :     RPT_16  (  -3,  8, 13 ), RPT_32  (   0,  9, 12 ),
    1922             :     RPT_16  (   1, 16, 13 ), RPT_16  (  -1, 16, 13 ),
    1923             : };
    1924             : 
    1925             : static const HQXLUT ac64_lut[] = {
    1926             :     RPT_512 (   1,  0,  3 ), RPT_512 (  -1,  0,  3 ),
    1927             :     RPT_1024(   0, 64,  2 ), RPT_256 (   2,  0,  4 ),
    1928             :     RPT_256 (  -2,  0,  4 ), RPT_128 (   3,  0,  5 ),
    1929             :     RPT_128 (  -3,  0,  5 ), RPT_128 (   1,  1,  5 ),
    1930             :     RPT_128 (  -1,  1,  5 ), RPT_64  (   4,  0,  6 ),
    1931             :     RPT_64  (  -4,  0,  6 ), RPT_64  (   2,  1,  6 ),
    1932             :     RPT_64  (  -2,  1,  6 ), RPT_64  (   1,  2,  6 ),
    1933             :     RPT_64  (  -1,  2,  6 ), RPT_32  (   5,  0,  7 ),
    1934             :     RPT_32  (  -5,  0,  7 ), RPT_32  (   1,  3,  7 ),
    1935             :     RPT_32  (  -1,  3,  7 ), RPT_32  (   1,  4,  7 ),
    1936             :     RPT_32  (  -1,  4,  7 ), RPT_16  (   6,  0,  8 ),
    1937             :     RPT_16  (  -6,  0,  8 ), RPT_16  (   3,  1,  8 ),
    1938             :     RPT_16  (  -3,  1,  8 ), RPT_16  (   2,  2,  8 ),
    1939             :     RPT_16  (  -2,  2,  8 ), RPT_16  (   1,  5,  8 ),
    1940             :     RPT_16  (  -1,  5,  8 ), RPT_16  (   1,  6,  8 ),
    1941             :     RPT_16  (  -1,  6,  8 ), RPT_16  (   1,  7,  8 ),
    1942             :     RPT_16  (  -1,  7,  8 ), RPT_8   (   7,  0,  9 ),
    1943             :     RPT_8   (  -7,  0,  9 ), RPT_8   (   8,  0,  9 ),
    1944             :     RPT_8   (  -8,  0,  9 ), RPT_8   (   4,  1,  9 ),
    1945             :     RPT_8   (  -4,  1,  9 ), RPT_8   (   2,  3,  9 ),
    1946             :     RPT_8   (  -2,  3,  9 ), RPT_8   (   1,  8,  9 ),
    1947             :     RPT_8   (  -1,  8,  9 ), RPT_8   (   1,  9,  9 ),
    1948             :     RPT_8   (  -1,  9,  9 ), RPT_4   (   9,  0, 10 ),
    1949             :     RPT_4   (  -9,  0, 10 ), RPT_4   (  10,  0, 10 ),
    1950             :     RPT_4   ( -10,  0, 10 ), RPT_4   (   5,  1, 10 ),
    1951             :     RPT_4   (  -5,  1, 10 ), RPT_4   (   3,  2, 10 ),
    1952             :     RPT_4   (  -3,  2, 10 ), RPT_4   (   2,  4, 10 ),
    1953             :     RPT_4   (  -2,  4, 10 ), RPT_4   (   2,  5, 10 ),
    1954             :     RPT_4   (  -2,  5, 10 ), RPT_4   (   1, 10, 10 ),
    1955             :     RPT_4   (  -1, 10, 10 ), RPT_4   (   1, 11, 10 ),
    1956             :     RPT_4   (  -1, 11, 10 ), { 4096,  0, -1 }, { 4128,  0, -1 },
    1957             :     { 4160,  0, -1 }, { 4192,  0, -1 }, { 4224,  0, -1 }, { 4256,  0, -1 },
    1958             :     { 4288,  0, -1 }, { 4320,  0, -1 }, RPT_4   (   0,  0, 10 ),
    1959             :     RPT_2   (  11,  0, 11 ), RPT_2   ( -11,  0, 11 ),
    1960             :     RPT_2   (  12,  0, 11 ), RPT_2   ( -12,  0, 11 ),
    1961             :     RPT_2   (   6,  1, 11 ), RPT_2   (  -6,  1, 11 ),
    1962             :     RPT_2   (   7,  1, 11 ), RPT_2   (  -7,  1, 11 ),
    1963             :     RPT_2   (   3,  3, 11 ), RPT_2   (  -3,  3, 11 ),
    1964             :     RPT_2   (   3,  4, 11 ), RPT_2   (  -3,  4, 11 ),
    1965             :     RPT_2   (   3,  5, 11 ), RPT_2   (  -3,  5, 11 ),
    1966             :     RPT_2   (   2,  6, 11 ), RPT_2   (  -2,  6, 11 ),
    1967             :     RPT_2   (   2,  7, 11 ), RPT_2   (  -2,  7, 11 ),
    1968             :     RPT_2   (   1, 12, 11 ), RPT_2   (  -1, 12, 11 ),
    1969             :     RPT_2   (   1, 13, 11 ), RPT_2   (  -1, 13, 11 ),
    1970             :     RPT_2   (   1, 14, 11 ), RPT_2   (  -1, 14, 11 ),
    1971             :     {   13,  0, 12 }, {  -13,  0, 12 }, {   14,  0, 12 }, {  -14,  0, 12 },
    1972             :     RPT_2   (   0,  1, 11 ), {    8,  1, 12 }, {   -8,  1, 12 },
    1973             :     {    4,  2, 12 }, {   -4,  2, 12 }, {    4,  3, 12 }, {   -4,  3, 12 },
    1974             :     {    2,  8, 12 }, {   -2,  8, 12 }, {    2,  9, 12 }, {   -2,  9, 12 },
    1975             :     {    1, 15, 12 }, {   -1, 15, 12 }, { 4352,  0, -1 }, { 4384,  0, -1 },
    1976             :     { 4416,  0, -1 }, { 4448,  0, -1 }, { 4480,  0, -1 }, {    0,  2, 12 },
    1977             :     { 4512,  0, -1 }, {    0,  3, 12 }, { 4544,  0, -1 }, {    0,  4, 12 },
    1978             :     { 4576,  0, -1 }, {    0,  5, 12 }, { 4608,  0, -1 }, {    0,  6, 12 },
    1979             :     { 4640,  0, -1 }, { 4672,  0, -1 }, { 4704,  0, -1 }, { 4736,  0, -1 },
    1980             :     RPT_4   (   0,  0, 15 ), RPT_4   (   0,  1, 15 ),
    1981             :     RPT_4   (   0,  2, 15 ), RPT_4   (   0,  3, 15 ),
    1982             :     RPT_4   (   0,  4, 15 ), RPT_4   (   0,  5, 15 ),
    1983             :     RPT_4   (   0,  6, 15 ), RPT_4   (   0,  7, 15 ),
    1984             :     RPT_4   (   0,  8, 15 ), RPT_4   (   0,  9, 15 ),
    1985             :     RPT_4   (   0, 10, 15 ), RPT_4   (   0, 11, 15 ),
    1986             :     RPT_4   (   0, 12, 15 ), RPT_4   (   0, 13, 15 ),
    1987             :     RPT_4   (   0, 14, 15 ), RPT_4   (   0, 15, 15 ),
    1988             :     RPT_4   (   0, 16, 15 ), RPT_4   (   0, 17, 15 ),
    1989             :     RPT_4   (   0, 18, 15 ), RPT_4   (   0, 19, 15 ),
    1990             :     RPT_4   (   0, 20, 15 ), RPT_4   (   0, 21, 15 ),
    1991             :     RPT_4   (   0, 22, 15 ), RPT_4   (   0, 23, 15 ),
    1992             :     RPT_4   (   0, 24, 15 ), RPT_4   (   0, 25, 15 ),
    1993             :     RPT_4   (   0, 26, 15 ), RPT_4   (   0, 27, 15 ),
    1994             :     RPT_4   (   0, 28, 15 ), RPT_4   (   0, 29, 15 ),
    1995             :     RPT_4   (   0, 30, 15 ), RPT_4   (   0, 31, 15 ),
    1996             :     RPT_4   (   0, 32, 15 ), RPT_4   (   0, 33, 15 ),
    1997             :     RPT_4   (   0, 34, 15 ), RPT_4   (   0, 35, 15 ),
    1998             :     RPT_4   (   0, 36, 15 ), RPT_4   (   0, 37, 15 ),
    1999             :     RPT_4   (   0, 38, 15 ), RPT_4   (   0, 39, 15 ),
    2000             :     RPT_4   (   0, 40, 15 ), RPT_4   (   0, 41, 15 ),
    2001             :     RPT_4   (   0, 42, 15 ), RPT_4   (   0, 43, 15 ),
    2002             :     RPT_4   (   0, 44, 15 ), RPT_4   (   0, 45, 15 ),
    2003             :     RPT_4   (   0, 46, 15 ), RPT_4   (   0, 47, 15 ),
    2004             :     RPT_4   (   0, 48, 15 ), RPT_4   (   0, 49, 15 ),
    2005             :     RPT_4   (   0, 50, 15 ), RPT_4   (   0, 51, 15 ),
    2006             :     RPT_4   (   0, 52, 15 ), RPT_4   (   0, 53, 15 ),
    2007             :     RPT_4   (   0, 54, 15 ), RPT_4   (   0, 55, 15 ),
    2008             :     RPT_4   (   0, 56, 15 ), RPT_4   (   0, 57, 15 ),
    2009             :     RPT_4   (   0, 58, 15 ), RPT_4   (   0, 59, 15 ),
    2010             :     RPT_4   (   0, 60, 15 ), RPT_4   (   0, 61, 15 ),
    2011             :     RPT_4   (   0, 62, 15 ), RPT_4   (   0, 63, 15 ),
    2012             :     RPT_2   (   0,  0, 16 ), {    1,  0, 17 }, {   -1,  0, 17 },
    2013             :     {    2,  0, 17 }, {   -2,  0, 17 }, {    3,  0, 17 }, {   -3,  0, 17 },
    2014             :     {    4,  0, 17 }, {   -4,  0, 17 }, {    5,  0, 17 }, {   -5,  0, 17 },
    2015             :     {    6,  0, 17 }, {   -6,  0, 17 }, {    7,  0, 17 }, {   -7,  0, 17 },
    2016             :     {    8,  0, 17 }, {   -8,  0, 17 }, {    9,  0, 17 }, {   -9,  0, 17 },
    2017             :     {   10,  0, 17 }, {  -10,  0, 17 }, {   11,  0, 17 }, {  -11,  0, 17 },
    2018             :     {   12,  0, 17 }, {  -12,  0, 17 }, {   13,  0, 17 }, {  -13,  0, 17 },
    2019             :     {   14,  0, 17 }, {  -14,  0, 17 }, {   15,  0, 17 }, {  -15,  0, 17 },
    2020             :     {   16,  0, 17 }, {  -16,  0, 17 }, {   17,  0, 17 }, {  -17,  0, 17 },
    2021             :     {   18,  0, 17 }, {  -18,  0, 17 }, {   19,  0, 17 }, {  -19,  0, 17 },
    2022             :     {   20,  0, 17 }, {  -20,  0, 17 }, {   21,  0, 17 }, {  -21,  0, 17 },
    2023             :     {   22,  0, 17 }, {  -22,  0, 17 }, {   23,  0, 17 }, {  -23,  0, 17 },
    2024             :     {   24,  0, 17 }, {  -24,  0, 17 }, {   25,  0, 17 }, {  -25,  0, 17 },
    2025             :     {   26,  0, 17 }, {  -26,  0, 17 }, {   27,  0, 17 }, {  -27,  0, 17 },
    2026             :     {   28,  0, 17 }, {  -28,  0, 17 }, {   29,  0, 17 }, {  -29,  0, 17 },
    2027             :     {   30,  0, 17 }, {  -30,  0, 17 }, {   31,  0, 17 }, {  -31,  0, 17 },
    2028             :     RPT_16  (  15,  0, 13 ), RPT_16  ( -15,  0, 13 ),
    2029             :     RPT_16  (   9,  1, 13 ), RPT_16  (  -9,  1, 13 ),
    2030             :     RPT_16  (  10,  1, 13 ), RPT_16  ( -10,  1, 13 ),
    2031             :     RPT_16  (   5,  2, 13 ), RPT_16  (  -5,  2, 13 ),
    2032             :     RPT_16  (   5,  3, 13 ), RPT_16  (  -5,  3, 13 ),
    2033             :     RPT_16  (   4,  4, 13 ), RPT_16  (  -4,  4, 13 ),
    2034             :     RPT_16  (   4,  5, 13 ), RPT_16  (  -4,  5, 13 ),
    2035             :     RPT_16  (   3,  6, 13 ), RPT_16  (  -3,  6, 13 ),
    2036             :     RPT_16  (   3,  7, 13 ), RPT_16  (  -3,  7, 13 ),
    2037             :     RPT_16  (   1, 16, 13 ), RPT_16  (  -1, 16, 13 ),
    2038             :     RPT_16  (   1, 17, 13 ), RPT_16  (  -1, 17, 13 ),
    2039             : };
    2040             : 
    2041             : static const HQXLUT ac128_lut[] = {
    2042             :     RPT_256 (   1,  0,  3 ), RPT_256 (  -1,  0,  3 ),
    2043             :     RPT_512 (   0, 64,  2 ), RPT_128 (   1,  1,  4 ),
    2044             :     RPT_128 (  -1,  1,  4 ), RPT_64  (   2,  0,  5 ),
    2045             :     RPT_64  (  -2,  0,  5 ), RPT_32  (   3,  0,  6 ),
    2046             :     RPT_32  (  -3,  0,  6 ), RPT_32  (   2,  1,  6 ),
    2047             :     RPT_32  (  -2,  1,  6 ), RPT_32  (   1,  2,  6 ),
    2048             :     RPT_32  (  -1,  2,  6 ), RPT_32  (   1,  3,  6 ),
    2049             :     RPT_32  (  -1,  3,  6 ), RPT_32  (   1,  4,  6 ),
    2050             :     RPT_32  (  -1,  4,  6 ), RPT_16  (   4,  0,  7 ),
    2051             :     RPT_16  (  -4,  0,  7 ), RPT_16  (   1,  5,  7 ),
    2052             :     RPT_16  (  -1,  5,  7 ), RPT_16  (   1,  6,  7 ),
    2053             :     RPT_16  (  -1,  6,  7 ), RPT_16  (   1,  7,  7 ),
    2054             :     RPT_16  (  -1,  7,  7 ), RPT_8   (   5,  0,  8 ),
    2055             :     RPT_8   (  -5,  0,  8 ), RPT_8   (   3,  1,  8 ),
    2056             :     RPT_8   (  -3,  1,  8 ), RPT_8   (   2,  2,  8 ),
    2057             :     RPT_8   (  -2,  2,  8 ), RPT_8   (   2,  3,  8 ),
    2058             :     RPT_8   (  -2,  3,  8 ), RPT_8   (   1,  8,  8 ),
    2059             :     RPT_8   (  -1,  8,  8 ), RPT_8   (   1,  9,  8 ),
    2060             :     RPT_8   (  -1,  9,  8 ), RPT_4   (   6,  0,  9 ),
    2061             :     RPT_4   (  -6,  0,  9 ), RPT_4   (   4,  1,  9 ),
    2062             :     RPT_4   (  -4,  1,  9 ), RPT_4   (   2,  4,  9 ),
    2063             :     RPT_4   (  -2,  4,  9 ), RPT_4   (   2,  5,  9 ),
    2064             :     RPT_4   (  -2,  5,  9 ), RPT_4   (   1, 10,  9 ),
    2065             :     RPT_4   (  -1, 10,  9 ), RPT_2   (   7,  0, 10 ),
    2066             :     RPT_2   (  -7,  0, 10 ), RPT_2   (   5,  1, 10 ),
    2067             :     RPT_2   (  -5,  1, 10 ), RPT_2   (   3,  2, 10 ),
    2068             :     RPT_2   (  -3,  2, 10 ), RPT_2   (   3,  3, 10 ),
    2069             :     RPT_2   (  -3,  3, 10 ), RPT_2   (   2,  6, 10 ),
    2070             :     RPT_2   (  -2,  6, 10 ), { 2048,  0, -1 }, { 2112,  0, -1 },
    2071             :     { 2176,  0, -1 }, { 2240,  0, -1 }, {    6,  1, 11 }, {   -6,  1, 11 },
    2072             :     {    7,  1, 11 }, {   -7,  1, 11 }, {    3,  4, 11 }, {   -3,  4, 11 },
    2073             :     {    3,  5, 11 }, {   -3,  5, 11 }, {    2,  7, 11 }, {   -2,  7, 11 },
    2074             :     {    2,  8, 11 }, {   -2,  8, 11 }, {    2,  9, 11 }, {   -2,  9, 11 },
    2075             :     {    1, 11, 11 }, {   -1, 11, 11 }, {    1, 12, 11 }, {   -1, 12, 11 },
    2076             :     {    1, 13, 11 }, {   -1, 13, 11 }, {    0,  0, 11 }, { 2304,  0, -1 },
    2077             :     { 2368,  0, -1 }, { 2432,  0, -1 }, { 2496,  0, -1 }, { 2560,  0, -1 },
    2078             :     { 2624,  0, -1 }, { 2688,  0, -1 }, { 2752,  0, -1 }, { 2816,  0, -1 },
    2079             :     { 2880,  0, -1 }, { 2944,  0, -1 }, RPT_4   (   0,  0, 15 ),
    2080             :     RPT_4   (   0,  1, 15 ), RPT_4   (   0,  2, 15 ),
    2081             :     RPT_4   (   0,  3, 15 ), RPT_4   (   0,  4, 15 ),
    2082             :     RPT_4   (   0,  5, 15 ), RPT_4   (   0,  6, 15 ),
    2083             :     RPT_4   (   0,  7, 15 ), RPT_4   (   0,  8, 15 ),
    2084             :     RPT_4   (   0,  9, 15 ), RPT_4   (   0, 10, 15 ),
    2085             :     RPT_4   (   0, 11, 15 ), RPT_4   (   0, 12, 15 ),
    2086             :     RPT_4   (   0, 13, 15 ), RPT_4   (   0, 14, 15 ),
    2087             :     RPT_4   (   0, 15, 15 ), RPT_4   (   0, 16, 15 ),
    2088             :     RPT_4   (   0, 17, 15 ), RPT_4   (   0, 18, 15 ),
    2089             :     RPT_4   (   0, 19, 15 ), RPT_4   (   0, 20, 15 ),
    2090             :     RPT_4   (   0, 21, 15 ), RPT_4   (   0, 22, 15 ),
    2091             :     RPT_4   (   0, 23, 15 ), RPT_4   (   0, 24, 15 ),
    2092             :     RPT_4   (   0, 25, 15 ), RPT_4   (   0, 26, 15 ),
    2093             :     RPT_4   (   0, 27, 15 ), RPT_4   (   0, 28, 15 ),
    2094             :     RPT_4   (   0, 29, 15 ), RPT_4   (   0, 30, 15 ),
    2095             :     RPT_4   (   0, 31, 15 ), RPT_4   (   0, 32, 15 ),
    2096             :     RPT_4   (   0, 33, 15 ), RPT_4   (   0, 34, 15 ),
    2097             :     RPT_4   (   0, 35, 15 ), RPT_4   (   0, 36, 15 ),
    2098             :     RPT_4   (   0, 37, 15 ), RPT_4   (   0, 38, 15 ),
    2099             :     RPT_4   (   0, 39, 15 ), RPT_4   (   0, 40, 15 ),
    2100             :     RPT_4   (   0, 41, 15 ), RPT_4   (   0, 42, 15 ),
    2101             :     RPT_4   (   0, 43, 15 ), RPT_4   (   0, 44, 15 ),
    2102             :     RPT_4   (   0, 45, 15 ), RPT_4   (   0, 46, 15 ),
    2103             :     RPT_4   (   0, 47, 15 ), RPT_4   (   0, 48, 15 ),
    2104             :     RPT_4   (   0, 49, 15 ), RPT_4   (   0, 50, 15 ),
    2105             :     RPT_4   (   0, 51, 15 ), RPT_4   (   0, 52, 15 ),
    2106             :     RPT_4   (   0, 53, 15 ), RPT_4   (   0, 54, 15 ),
    2107             :     RPT_4   (   0, 55, 15 ), RPT_4   (   0, 56, 15 ),
    2108             :     RPT_4   (   0, 57, 15 ), RPT_4   (   0, 58, 15 ),
    2109             :     RPT_4   (   0, 59, 15 ), RPT_4   (   0, 60, 15 ),
    2110             :     RPT_4   (   0, 61, 15 ), RPT_4   (   0, 62, 15 ),
    2111             :     RPT_4   (   0, 63, 15 ), RPT_32  (   8,  0, 12 ),
    2112             :     RPT_32  (  -8,  0, 12 ), RPT_32  (   9,  0, 12 ),
    2113             :     RPT_32  (  -9,  0, 12 ), RPT_32  (   8,  1, 12 ),
    2114             :     RPT_32  (  -8,  1, 12 ), RPT_32  (   4,  2, 12 ),
    2115             :     RPT_32  (  -4,  2, 12 ), RPT_32  (   4,  3, 12 ),
    2116             :     RPT_32  (  -4,  3, 12 ), RPT_32  (   3,  6, 12 ),
    2117             :     RPT_32  (  -3,  6, 12 ), RPT_32  (   1, 14, 12 ),
    2118             :     RPT_32  (  -1, 14, 12 ), RPT_32  (   1, 15, 12 ),
    2119             :     RPT_32  (  -1, 15, 12 ), RPT_32  (   1, 16, 12 ),
    2120             :     RPT_32  (  -1, 16, 12 ), RPT_32  (   0,  1, 12 ),
    2121             :     RPT_32  (   0,  2, 12 ), RPT_32  (   0,  3, 12 ),
    2122             :     RPT_2   (   0,  0, 16 ), {    1,  0, 17 }, {   -1,  0, 17 },
    2123             :     {    2,  0, 17 }, {   -2,  0, 17 }, {    3,  0, 17 }, {   -3,  0, 17 },
    2124             :     {    4,  0, 17 }, {   -4,  0, 17 }, {    5,  0, 17 }, {   -5,  0, 17 },
    2125             :     {    6,  0, 17 }, {   -6,  0, 17 }, {    7,  0, 17 }, {   -7,  0, 17 },
    2126             :     {    8,  0, 17 }, {   -8,  0, 17 }, {    9,  0, 17 }, {   -9,  0, 17 },
    2127             :     {   10,  0, 17 }, {  -10,  0, 17 }, {   11,  0, 17 }, {  -11,  0, 17 },
    2128             :     {   12,  0, 17 }, {  -12,  0, 17 }, {   13,  0, 17 }, {  -13,  0, 17 },
    2129             :     {   14,  0, 17 }, {  -14,  0, 17 }, {   15,  0, 17 }, {  -15,  0, 17 },
    2130             : };
    2131             : 
    2132             : const HQXAC ff_hqx_ac[NUM_HQX_AC] = {
    2133             :     { 10, 5, ac0_lut   },
    2134             :     { 11, 6, ac8_lut   },
    2135             :     { 11, 6, ac16_lut  },
    2136             :     { 11, 6, ac32_lut  },
    2137             :     { 12, 5, ac64_lut  },
    2138             :     { 11, 6, ac128_lut },
    2139             : };
    2140             : 
    2141             : #define INIT_DC_TABLE(idx, name)                                              \
    2142             :     do {                                                                      \
    2143             :         ret = init_vlc(&ctx->dc_vlc[idx], HQX_DC_VLC_BITS,                    \
    2144             :                        FF_ARRAY_ELEMS(name ## _vlc_lens),                     \
    2145             :                        name ## _vlc_lens, 1, 1,                               \
    2146             :                        name ## _vlc_bits, 2, 2, 0);                           \
    2147             :         if (ret < 0)                                                          \
    2148             :             return ret;                                                       \
    2149             :     } while (0)
    2150             : 
    2151           4 : av_cold int ff_hqx_init_vlcs(HQXContext *ctx)
    2152             : {
    2153           4 :     int ret = init_vlc(&ctx->cbp_vlc, 5, FF_ARRAY_ELEMS(cbp_vlc_lens),
    2154             :                        cbp_vlc_lens, 1, 1, cbp_vlc_bits, 1, 1, 0);
    2155           4 :     if (ret < 0)
    2156           0 :         return ret;
    2157             : 
    2158           4 :     INIT_DC_TABLE(0, dc9);
    2159           4 :     INIT_DC_TABLE(1, dc10);
    2160           4 :     INIT_DC_TABLE(2, dc11);
    2161             : 
    2162           4 :     return 0;
    2163             : }

Generated by: LCOV version 1.13