AAC Huffman Tables

From MultimediaWiki
Revision as of 19:33, 11 March 2006 by Multimedia Mike (talk | contribs) (added scalefactor Huffman table)
Jump to navigation Jump to search

Part of Understanding AAC

These Huffman tables are formatted in a manner conducive to being included in FFmpeg.

AAC Huffman Table 1

AAC Huffman Table 2

AAC Huffman Table 3

static const unsigned short aac_huffman_table_quad_3[][6] = {
   /* codeword, code length, 4 data points */
   { 0x0, 1, 0, 0, 0, 0 },
   { 0x8, 4, 1, 0, 0, 0 },
   { 0x9, 4, 0, 0, 0, 1 },
   { 0xA, 4, 0, 1, 0, 0 },
   { 0xB, 4, 0, 0, 1, 0 },
   { 0x18, 5, 1, 1, 0, 0 },
   { 0x19, 5, 0, 0, 1, 1 },
   { 0x34, 6, 0, 1, 1, 0 },
   { 0x35, 6, 0, 1, 0, 1 },
   { 0x36, 6, 1, 0, 1, 0 },
   { 0x37, 6, 0, 1, 1, 1 },
   { 0x38, 6, 1, 0, 0, 1 },
   { 0x39, 6, 1, 1, 1, 0 },
   { 0x74, 7, 1, 1, 1, 1 },
   { 0x75, 7, 1, 0, 1, 1 },
   { 0x76, 7, 1, 1, 0, 1 },
   { 0xEE, 8, 2, 0, 0, 0 },
   { 0xEF, 8, 0, 0, 0, 2 },
   { 0xF0, 8, 0, 0, 1, 2 },
   { 0xF1, 8, 2, 1, 0, 0 },
   { 0xF2, 8, 1, 2, 1, 0 },
   { 0x1E6, 9, 0, 0, 2, 1 },
   { 0x1E7, 9, 0, 1, 2, 1 },
   { 0x1E8, 9, 1, 2, 0, 0 },
   { 0x1E9, 9, 0, 1, 1, 2 },
   { 0x1EA, 9, 2, 1, 1, 0 },
   { 0x1EB, 9, 0, 0, 2, 0 },
   { 0x1EC, 9, 0, 2, 1, 0 },
   { 0x1ED, 9, 0, 1, 2, 0 },
   { 0x1EE, 9, 0, 2, 0, 0 },
   { 0x1EF, 9, 0, 1, 0, 2 },
   { 0x1F0, 9, 2, 0, 1, 0 },
   { 0x1F1, 9, 1, 2, 1, 1 },
   { 0x1F2, 9, 0, 2, 1, 1 },
   { 0x1F3, 9, 1, 1, 2, 0 },
   { 0x1F4, 9, 1, 1, 2, 1 },
   { 0x3EA, 10, 1, 2, 0, 1 },
   { 0x3EB, 10, 1, 0, 2, 0 },
   { 0x3EC, 10, 1, 0, 2, 1 },
   { 0x3ED, 10, 0, 2, 0, 1 },
   { 0x3EE, 10, 2, 1, 1, 1 },
   { 0x3EF, 10, 1, 1, 1, 2 },
   { 0x3F0, 10, 2, 1, 0, 1 },
   { 0x3F1, 10, 1, 0, 1, 2 },
   { 0x3F2, 10, 0, 0, 2, 2 },
   { 0x3F3, 10, 0, 1, 2, 2 },
   { 0x3F4, 10, 2, 2, 1, 0 },
   { 0x3F5, 10, 1, 2, 2, 0 },
   { 0x3F6, 10, 1, 0, 0, 2 },
   { 0x3F7, 10, 2, 0, 0, 1 },
   { 0x3F8, 10, 0, 2, 2, 1 },
   { 0x7F2, 11, 2, 2, 0, 0 },
   { 0x7F3, 11, 1, 2, 2, 1 },
   { 0x7F4, 11, 1, 1, 0, 2 },
   { 0x7F5, 11, 2, 0, 1, 1 },
   { 0x7F6, 11, 1, 1, 2, 2 },
   { 0x7F7, 11, 2, 2, 1, 1 },
   { 0x7F8, 11, 0, 2, 2, 0 },
   { 0x7F9, 11, 0, 2, 1, 2 },
   { 0xFF4, 12, 1, 0, 2, 2 },
   { 0xFF5, 12, 2, 2, 0, 1 },
   { 0xFF6, 12, 2, 1, 2, 0 },
   { 0xFF7, 12, 2, 2, 2, 0 },
   { 0xFF8, 12, 0, 2, 2, 2 },
   { 0xFF9, 12, 2, 2, 2, 1 },
   { 0xFFA, 12, 2, 1, 2, 1 },
   { 0xFFB, 12, 1, 2, 1, 2 },
   { 0xFFC, 12, 1, 2, 2, 2 },
   { 0x1FFA, 13, 0, 2, 0, 2 },
   { 0x1FFB, 13, 2, 0, 2, 0 },
   { 0x1FFC, 13, 1, 2, 0, 2 },
   { 0x3FFA, 14, 2, 0, 2, 1 },
   { 0x3FFB, 14, 2, 1, 1, 2 },
   { 0x3FFC, 14, 2, 1, 0, 2 },
   { 0x7FFA, 15, 2, 2, 2, 2 },
   { 0x7FFB, 15, 2, 2, 1, 2 },
   { 0x7FFC, 15, 2, 1, 2, 2 },
   { 0x7FFD, 15, 2, 0, 1, 2 },
   { 0x7FFE, 15, 2, 0, 0, 2 },
   { 0xFFFE, 16, 2, 2, 0, 2 },
   { 0xFFFF, 16, 2, 0, 2, 2 },
};

AAC Huffman Table 4

AAC Huffman Table 5

static const unsigned short aac_huffman_table_pair_5[][4] = {
   /* codeword, code length, 2 data points */
   { 0x0, 1, 0, 0 },
   { 0x8, 4, -1, 0 },
   { 0x9, 4, 1, 0 },
   { 0xA, 4, 0, 1 },
   { 0xB, 4, 0, -1 },
   { 0x18, 5, 1, -1 },
   { 0x19, 5, -1, 1 },
   { 0x1A, 5, -1, -1 },
   { 0x1B, 5, 1, 1 },
   { 0x70, 7, -2, 0 },
   { 0x71, 7, 0, 2 },
   { 0x72, 7, 2, 0 },
   { 0x73, 7, 0, -2 },
   { 0xE8, 8, -2, -1 },
   { 0xE9, 8, 2, 1 },
   { 0xEA, 8, -1, -2 },
   { 0xEB, 8, 1, 2 },
   { 0xEC, 8, -2, 1 },
   { 0xED, 8, 2, -1 },
   { 0xEE, 8, -1, 2 },
   { 0xEF, 8, 1, -2 },
   { 0xF0, 8, -3, 0 },
   { 0xF1, 8, 3, 0 },
   { 0xF2, 8, 0, -3 },
   { 0xF3, 8, 0, 3 },
   { 0x1E8, 9, -3, -1 },
   { 0x1E9, 9, 1, 3 },
   { 0x1EA, 9, 3, 1 },
   { 0x1EB, 9, -1, -3 },
   { 0x1EC, 9, -3, 1 },
   { 0x1ED, 9, 3, -1 },
   { 0x1EE, 9, 1, -3 },
   { 0x1EF, 9, -1, 3 },
   { 0x1F0, 9, -2, 2 },
   { 0x1F1, 9, 2, 2 },
   { 0x1F2, 9, -2, -2 },
   { 0x1F3, 9, 2, -2 },
   { 0x3E8, 10, -3, -2 },
   { 0x3E9, 10, 3, -2 },
   { 0x3EA, 10, -2, 3 },
   { 0x3EB, 10, 2, -3 },
   { 0x3EC, 10, 3, 2 },
   { 0x3ED, 10, 2, 3 },
   { 0x3EE, 10, -3, 2 },
   { 0x3EF, 10, -2, -3 },
   { 0x3F0, 10, 0, -4 },
   { 0x3F1, 10, -4, 0 },
   { 0x3F2, 10, 4, 1 },
   { 0x3F3, 10, 4, 0 },
   { 0x7E8, 11, -4, -1 },
   { 0x7E9, 11, 0, 4 },
   { 0x7EA, 11, 4, -1 },
   { 0x7EB, 11, -1, -4 },
   { 0x7EC, 11, 1, 4 },
   { 0x7ED, 11, -1, 4 },
   { 0x7EE, 11, -4, 1 },
   { 0x7EF, 11, 1, -4 },
   { 0x7F0, 11, 3, -3 },
   { 0x7F1, 11, -3, -3 },
   { 0x7F2, 11, -3, 3 },
   { 0x7F3, 11, -2, 4 },
   { 0x7F4, 11, -4, -2 },
   { 0x7F5, 11, 4, 2 },
   { 0x7F6, 11, 2, -4 },
   { 0x7F7, 11, 2, 4 },
   { 0x7F8, 11, 3, 3 },
   { 0x7F9, 11, -4, 2 },
   { 0xFF4, 12, -2, -4 },
   { 0xFF5, 12, 4, -2 },
   { 0xFF6, 12, 3, -4 },
   { 0xFF7, 12, -4, -3 },
   { 0xFF8, 12, -4, 3 },
   { 0xFF9, 12, 3, 4 },
   { 0xFFA, 12, -3, 4 },
   { 0xFFB, 12, 4, 3 },
   { 0xFFC, 12, 4, -3 },
   { 0xFFD, 12, -3, -4 },
   { 0x1FFC, 13, 4, -4 },
   { 0x1FFD, 13, -4, 4 },
   { 0x1FFE, 13, 4, 4 },
   { 0x1FFF, 13, -4, -4 },
};

AAC Huffman Table 6

AAC Huffman Table 7

static const unsigned short aac_huffman_table_pair_7[][4] = {
   /* codeword, code length, 2 data points */
   { 0x0, 1, 0, 0 },
   { 0x4, 3, 1, 0 },
   { 0x5, 3, 0, 1 },
   { 0xC, 4, 1, 1 },
   { 0x34, 6, 2, 1 },
   { 0x35, 6, 1, 2 },
   { 0x36, 6, 2, 0 },
   { 0x37, 6, 0, 2 },
   { 0x70, 7, 3, 1 },
   { 0x71, 7, 1, 3 },
   { 0x72, 7, 2, 2 },
   { 0x73, 7, 3, 0 },
   { 0x74, 7, 0, 3 },
   { 0xEA, 8, 2, 3 },
   { 0xEB, 8, 3, 2 },
   { 0xEC, 8, 1, 4 },
   { 0xED, 8, 4, 1 },
   { 0xEE, 8, 1, 5 },
   { 0xEF, 8, 5, 1 },
   { 0xF0, 8, 3, 3 },
   { 0xF1, 8, 2, 4 },
   { 0xF2, 8, 0, 4 },
   { 0xF3, 8, 4, 0 },
   { 0x1E8, 9, 4, 2 },
   { 0x1E9, 9, 2, 5 },
   { 0x1EA, 9, 5, 2 },
   { 0x1EB, 9, 0, 5 },
   { 0x1EC, 9, 6, 1 },
   { 0x1ED, 9, 5, 0 },
   { 0x1EE, 9, 1, 6 },
   { 0x1EF, 9, 4, 3 },
   { 0x1F0, 9, 3, 5 },
   { 0x1F1, 9, 3, 4 },
   { 0x1F2, 9, 5, 3 },
   { 0x1F3, 9, 2, 6 },
   { 0x1F4, 9, 6, 2 },
   { 0x1F5, 9, 1, 7 },
   { 0x3EC, 10, 3, 6 },
   { 0x3ED, 10, 0, 6 },
   { 0x3EE, 10, 6, 0 },
   { 0x3EF, 10, 4, 4 },
   { 0x3F0, 10, 7, 1 },
   { 0x3F1, 10, 4, 5 },
   { 0x3F2, 10, 7, 2 },
   { 0x3F3, 10, 5, 4 },
   { 0x3F4, 10, 6, 3 },
   { 0x3F5, 10, 2, 7 },
   { 0x3F6, 10, 7, 3 },
   { 0x3F7, 10, 6, 4 },
   { 0x3F8, 10, 5, 5 },
   { 0x3F9, 10, 4, 6 },
   { 0x3FA, 10, 3, 7 },
   { 0x7F6, 11, 7, 0 },
   { 0x7F7, 11, 0, 7 },
   { 0x7F8, 11, 6, 5 },
   { 0x7F9, 11, 5, 6 },
   { 0x7FA, 11, 7, 4 },
   { 0x7FB, 11, 4, 7 },
   { 0x7FC, 11, 5, 7 },
   { 0x7FD, 11, 7, 5 },
   { 0xFFC, 12, 7, 6 },
   { 0xFFD, 12, 6, 6 },
   { 0xFFE, 12, 6, 7 },
   { 0xFFF, 12, 7, 7 },
};

AAC Huffman Table 8

AAC Huffman Table 9

static const unsigned short aac_huffman_table_pair_9[][4] = {
   /* codeword, code length, 2 data points */
   { 0x0, 1, 0, 0 },
   { 0x4, 3, 1, 0 },
   { 0x5, 3, 0, 1 },
   { 0xC, 4, 1, 1 },
   { 0x34, 6, 2, 1 },
   { 0x35, 6, 1, 2 },
   { 0x36, 6, 2, 0 },
   { 0x37, 6, 0, 2 },
   { 0x70, 7, 3, 1 },
   { 0x71, 7, 2, 2 },
   { 0x72, 7, 1, 3 },
   { 0xE6, 8, 3, 0 },
   { 0xE7, 8, 0, 3 },
   { 0xE8, 8, 2, 3 },
   { 0xE9, 8, 3, 2 },
   { 0xEA, 8, 1, 4 },
   { 0xEB, 8, 4, 1 },
   { 0xEC, 8, 2, 4 },
   { 0xED, 8, 1, 5 },
   { 0x1DC, 9, 4, 2 },
   { 0x1DD, 9, 3, 3 },
   { 0x1DE, 9, 0, 4 },
   { 0x1DF, 9, 4, 0 },
   { 0x1E0, 9, 5, 1 },
   { 0x1E1, 9, 2, 5 },
   { 0x1E2, 9, 1, 6 },
   { 0x1E3, 9, 3, 4 },
   { 0x1E4, 9, 5, 2 },
   { 0x1E5, 9, 6, 1 },
   { 0x1E6, 9, 4, 3 },
   { 0x3CE, 10, 0, 5 },
   { 0x3CF, 10, 2, 6 },
   { 0x3D0, 10, 5, 0 },
   { 0x3D1, 10, 1, 7 },
   { 0x3D2, 10, 3, 5 },
   { 0x3D3, 10, 1, 8 },
   { 0x3D4, 10, 8, 1 },
   { 0x3D5, 10, 4, 4 },
   { 0x3D6, 10, 5, 3 },
   { 0x3D7, 10, 6, 2 },
   { 0x3D8, 10, 7, 1 },
   { 0x3D9, 10, 0, 6 },
   { 0x3DA, 10, 8, 2 },
   { 0x3DB, 10, 2, 8 },
   { 0x3DC, 10, 3, 6 },
   { 0x3DD, 10, 2, 7 },
   { 0x3DE, 10, 4, 5 },
   { 0x3DF, 10, 9, 1 },
   { 0x3E0, 10, 1, 9 },
   { 0x3E1, 10, 7, 2 },
   { 0x7C4, 11, 6, 0 },
   { 0x7C5, 11, 5, 4 },
   { 0x7C6, 11, 6, 3 },
   { 0x7C7, 11, 8, 3 },
   { 0x7C8, 11, 0, 7 },
   { 0x7C9, 11, 9, 2 },
   { 0x7CA, 11, 3, 8 },
   { 0x7CB, 11, 4, 6 },
   { 0x7CC, 11, 3, 7 },
   { 0x7CD, 11, 0, 8 },
   { 0x7CE, 11, 10, 1 },
   { 0x7CF, 11, 6, 4 },
   { 0x7D0, 11, 2, 9 },
   { 0x7D1, 11, 5, 5 },
   { 0x7D2, 11, 8, 0 },
   { 0x7D3, 11, 7, 0 },
   { 0x7D4, 11, 7, 3 },
   { 0x7D5, 11, 10, 2 },
   { 0x7D6, 11, 9, 3 },
   { 0x7D7, 11, 8, 4 },
   { 0x7D8, 11, 1, 10 },
   { 0x7D9, 11, 7, 4 },
   { 0x7DA, 11, 6, 5 },
   { 0x7DB, 11, 5, 6 },
   { 0x7DC, 11, 4, 8 },
   { 0x7DD, 11, 4, 7 },
   { 0x7DE, 11, 3, 9 },
   { 0x7DF, 11, 11, 1 },
   { 0x7E0, 11, 5, 8 },
   { 0x7E1, 11, 9, 0 },
   { 0x7E2, 11, 8, 5 },
   { 0xFC6, 12, 10, 3 },
   { 0xFC7, 12, 2, 10 },
   { 0xFC8, 12, 0, 9 },
   { 0xFC9, 12, 11, 2 },
   { 0xFCA, 12, 9, 4 },
   { 0xFCB, 12, 6, 6 },
   { 0xFCC, 12, 12, 1 },
   { 0xFCD, 12, 4, 9 },
   { 0xFCE, 12, 8, 6 },
   { 0xFCF, 12, 1, 11 },
   { 0xFD0, 12, 9, 5 },
   { 0xFD1, 12, 10, 4 },
   { 0xFD2, 12, 5, 7 },
   { 0xFD3, 12, 7, 5 },
   { 0xFD4, 12, 2, 11 },
   { 0xFD5, 12, 1, 12 },
   { 0xFD6, 12, 12, 2 },
   { 0xFD7, 12, 11, 3 },
   { 0xFD8, 12, 3, 10 },
   { 0xFD9, 12, 5, 9 },
   { 0xFDA, 12, 6, 7 },
   { 0xFDB, 12, 8, 7 },
   { 0xFDC, 12, 11, 4 },
   { 0xFDD, 12, 0, 10 },
   { 0xFDE, 12, 7, 6 },
   { 0xFDF, 12, 12, 3 },
   { 0xFE0, 12, 10, 0 },
   { 0xFE1, 12, 10, 5 },
   { 0xFE2, 12, 4, 10 },
   { 0xFE3, 12, 6, 8 },
   { 0xFE4, 12, 2, 12 },
   { 0xFE5, 12, 9, 6 },
   { 0xFE6, 12, 9, 7 },
   { 0xFE7, 12, 4, 11 },
   { 0xFE8, 12, 11, 0 },
   { 0xFE9, 12, 6, 9 },
   { 0xFEA, 12, 3, 11 },
   { 0xFEB, 12, 5, 10 },
   { 0x1FD8, 13, 8, 8 },
   { 0x1FD9, 13, 7, 8 },
   { 0x1FDA, 13, 12, 5 },
   { 0x1FDB, 13, 3, 12 },
   { 0x1FDC, 13, 11, 5 },
   { 0x1FDD, 13, 7, 7 },
   { 0x1FDE, 13, 12, 4 },
   { 0x1FDF, 13, 11, 6 },
   { 0x1FE0, 13, 10, 6 },
   { 0x1FE1, 13, 4, 12 },
   { 0x1FE2, 13, 7, 9 },
   { 0x1FE3, 13, 5, 11 },
   { 0x1FE4, 13, 0, 11 },
   { 0x1FE5, 13, 12, 6 },
   { 0x1FE6, 13, 6, 10 },
   { 0x1FE7, 13, 12, 0 },
   { 0x1FE8, 13, 10, 7 },
   { 0x1FE9, 13, 5, 12 },
   { 0x1FEA, 13, 7, 10 },
   { 0x1FEB, 13, 9, 8 },
   { 0x1FEC, 13, 0, 12 },
   { 0x1FED, 13, 11, 7 },
   { 0x1FEE, 13, 8, 9 },
   { 0x1FEF, 13, 9, 9 },
   { 0x1FF0, 13, 10, 8 },
   { 0x1FF1, 13, 7, 11 },
   { 0x1FF2, 13, 12, 7 },
   { 0x1FF3, 13, 6, 11 },
   { 0x1FF4, 13, 8, 11 },
   { 0x1FF5, 13, 11, 8 },
   { 0x1FF6, 13, 7, 12 },
   { 0x1FF7, 13, 6, 12 },
   { 0x3FF0, 14, 8, 10 },
   { 0x3FF1, 14, 10, 9 },
   { 0x3FF2, 14, 8, 12 },
   { 0x3FF3, 14, 9, 10 },
   { 0x3FF4, 14, 9, 11 },
   { 0x3FF5, 14, 9, 12 },
   { 0x3FF6, 14, 10, 11 },
   { 0x3FF7, 14, 12, 9 },
   { 0x3FF8, 14, 10, 10 },
   { 0x3FF9, 14, 11, 9 },
   { 0x3FFA, 14, 12, 8 },
   { 0x3FFB, 14, 11, 10 },
   { 0x3FFC, 14, 12, 10 },
   { 0x3FFD, 14, 12, 11 },
   { 0x7FFC, 15, 10, 12 },
   { 0x7FFD, 15, 11, 11 },
   { 0x7FFE, 15, 11, 12 },
   { 0x7FFF, 15, 12, 12 },
};

AAC Huffman Table 10

AAC Huffman Table 11

AAC Scalefactor Huffman Table

static const unsigned int aac_scalefactor_huffman_table[][3] = {
   /* codeword, code length, scalefactor */
   { 0x0, 1, 60 },
   { 0x4, 3, 59 },
   { 0xA, 4, 61 },
   { 0xB, 4, 58 },
   { 0xC, 4, 62 },
   { 0x1A, 5, 57 },
   { 0x1B, 5, 63 },
   { 0x38, 6, 56 },
   { 0x39, 6, 64 },
   { 0x3A, 6, 55 },
   { 0x3B, 6, 65 },
   { 0x78, 7, 66 },
   { 0x79, 7, 54 },
   { 0x7A, 7, 67 },
   { 0xF6, 8, 53 },
   { 0xF7, 8, 68 },
   { 0xF8, 8, 52 },
   { 0xF9, 8, 69 },
   { 0xFA, 8, 51 },
   { 0x1F6, 9, 70 },
   { 0x1F7, 9, 50 },
   { 0x1F8, 9, 49 },
   { 0x1F9, 9, 71 },
   { 0x3F4, 10, 72 },
   { 0x3F5, 10, 48 },
   { 0x3F6, 10, 73 },
   { 0x3F7, 10, 47 },
   { 0x3F8, 10, 74 },
   { 0x3F9, 10, 46 },
   { 0x7F4, 11, 76 },
   { 0x7F5, 11, 75 },
   { 0x7F6, 11, 77 },
   { 0x7F7, 11, 78 },
   { 0x7F8, 11, 45 },
   { 0x7F9, 11, 43 },
   { 0xFF4, 12, 44 },
   { 0xFF5, 12, 79 },
   { 0xFF6, 12, 42 },
   { 0xFF7, 12, 41 },
   { 0xFF8, 12, 80 },
   { 0xFF9, 12, 40 },
   { 0x1FF4, 13, 81 },
   { 0x1FF5, 13, 39 },
   { 0x1FF6, 13, 82 },
   { 0x1FF7, 13, 38 },
   { 0x1FF8, 13, 83 },
   { 0x3FF2, 14, 37 },
   { 0x3FF3, 14, 35 },
   { 0x3FF4, 14, 85 },
   { 0x3FF5, 14, 33 },
   { 0x3FF6, 14, 36 },
   { 0x3FF7, 14, 34 },
   { 0x3FF8, 14, 84 },
   { 0x3FF9, 14, 32 },
   { 0x7FF4, 15, 87 },
   { 0x7FF5, 15, 89 },
   { 0x7FF6, 15, 30 },
   { 0x7FF7, 15, 31 },
   { 0xFFF0, 16, 86 },
   { 0xFFF1, 16, 29 },
   { 0xFFF2, 16, 26 },
   { 0xFFF3, 16, 27 },
   { 0xFFF4, 16, 28 },
   { 0xFFF5, 16, 24 },
   { 0xFFF6, 16, 88 },
   { 0x1FFEE, 17, 25 },
   { 0x1FFEF, 17, 22 },
   { 0x1FFF0, 17, 23 },
   { 0x3FFE2, 18, 90 },
   { 0x3FFE3, 18, 21 },
   { 0x3FFE4, 18, 19 },
   { 0x3FFE5, 18, 3 },
   { 0x3FFE6, 18, 1 },
   { 0x3FFE7, 18, 2 },
   { 0x3FFE8, 18, 0 },
   { 0x7FFD2, 19, 98 },
   { 0x7FFD3, 19, 99 },
   { 0x7FFD4, 19, 100 },
   { 0x7FFD5, 19, 101 },
   { 0x7FFD6, 19, 102 },
   { 0x7FFD7, 19, 117 },
   { 0x7FFD8, 19, 97 },
   { 0x7FFD9, 19, 91 },
   { 0x7FFDA, 19, 92 },
   { 0x7FFDB, 19, 93 },
   { 0x7FFDC, 19, 94 },
   { 0x7FFDD, 19, 95 },
   { 0x7FFDE, 19, 96 },
   { 0x7FFDF, 19, 104 },
   { 0x7FFE0, 19, 111 },
   { 0x7FFE1, 19, 112 },
   { 0x7FFE2, 19, 113 },
   { 0x7FFE3, 19, 114 },
   { 0x7FFE4, 19, 115 },
   { 0x7FFE5, 19, 116 },
   { 0x7FFE6, 19, 110 },
   { 0x7FFE7, 19, 105 },
   { 0x7FFE8, 19, 106 },
   { 0x7FFE9, 19, 107 },
   { 0x7FFEA, 19, 108 },
   { 0x7FFEB, 19, 109 },
   { 0x7FFEC, 19, 118 },
   { 0x7FFED, 19, 6 },
   { 0x7FFEE, 19, 8 },
   { 0x7FFEF, 19, 9 },
   { 0x7FFF0, 19, 10 },
   { 0x7FFF1, 19, 5 },
   { 0x7FFF2, 19, 103 },
   { 0x7FFF3, 19, 120 },
   { 0x7FFF4, 19, 119 },
   { 0x7FFF5, 19, 4 },
   { 0x7FFF6, 19, 7 },
   { 0x7FFF7, 19, 15 },
   { 0x7FFF8, 19, 16 },
   { 0x7FFF9, 19, 18 },
   { 0x7FFFA, 19, 20 },
   { 0x7FFFB, 19, 17 },
   { 0x7FFFC, 19, 11 },
   { 0x7FFFD, 19, 12 },
   { 0x7FFFE, 19, 14 },
   { 0x7FFFF, 19, 13 },
};