AAC Huffman Tables
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 }, };