1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avcodec/vp3: Apply VLC offset during init

By switching to ff_init_vlc_from_lengths() one can apply both positive
as well as negative offsets for free; in this case it even saves space
because one replaces codes tables that don't fit into an uint8_t by
symbols tables that fit into an uint8_t or can even be completely
avoided as they are trivial.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2020-11-06 10:14:22 +01:00
parent 984fdfd042
commit 22241d12c7
3 changed files with 210 additions and 257 deletions

View File

@ -48,6 +48,9 @@
#include "vp3dsp.h"
#include "xiph.h"
#define VP4_MV_VLC_BITS 6
#define SUPERBLOCK_VLC_BITS 6
#define FRAGMENT_PIXELS 8
// FIXME split things out into their own arrays
@ -489,7 +492,7 @@ static int unpack_superblocks(Vp3DecodeContext *s, GetBitContext *gb)
bit ^= 1;
current_run = get_vlc2(gb, s->superblock_run_length_vlc.table,
6, 2) + 1;
SUPERBLOCK_VLC_BITS, 2);
if (current_run == 34)
current_run += get_bits(gb, 12);
@ -523,7 +526,7 @@ static int unpack_superblocks(Vp3DecodeContext *s, GetBitContext *gb)
bit ^= 1;
current_run = get_vlc2(gb, s->superblock_run_length_vlc.table,
6, 2) + 1;
SUPERBLOCK_VLC_BITS, 2);
if (current_run == 34)
current_run += get_bits(gb, 12);
@ -885,7 +888,8 @@ static int unpack_modes(Vp3DecodeContext *s, GetBitContext *gb)
static int vp4_get_mv(Vp3DecodeContext *s, GetBitContext *gb, int axis, int last_motion)
{
int v = get_vlc2(gb, s->vp4_mv_vlc[axis][vp4_mv_table_selector[FFABS(last_motion)]].table, 6, 2) - 31;
int v = get_vlc2(gb, s->vp4_mv_vlc[axis][vp4_mv_table_selector[FFABS(last_motion)]].table,
VP4_MV_VLC_BITS, 2);
return last_motion < 0 ? -v : v;
}
@ -1104,7 +1108,8 @@ static int unpack_block_qpis(Vp3DecodeContext *s, GetBitContext *gb)
else
bit ^= 1;
run_length = get_vlc2(gb, s->superblock_run_length_vlc.table, 6, 2) + 1;
run_length = get_vlc2(gb, s->superblock_run_length_vlc.table,
SUPERBLOCK_VLC_BITS, 2);
if (run_length == 34)
run_length += get_bits(gb, 12);
blocks_decoded += run_length;
@ -2452,9 +2457,10 @@ static av_cold int vp3_decode_init(AVCodecContext *avctx)
}
}
if ((ret = init_vlc(&s->superblock_run_length_vlc, 6, 34,
&superblock_run_length_vlc_table[0][1], 4, 2,
&superblock_run_length_vlc_table[0][0], 4, 2, 0)) < 0)
ret = ff_init_vlc_from_lengths(&s->superblock_run_length_vlc, SUPERBLOCK_VLC_BITS, 34,
superblock_run_length_vlc_lens, 1,
NULL, 0, 0, 1, 0, avctx);
if (ret < 0)
return ret;
if ((ret = init_vlc(&s->fragment_run_length_vlc, 5, 30,
@ -2474,11 +2480,14 @@ static av_cold int vp3_decode_init(AVCodecContext *avctx)
#if CONFIG_VP4_DECODER
for (j = 0; j < 2; j++)
for (i = 0; i < 7; i++)
if ((ret = init_vlc(&s->vp4_mv_vlc[j][i], 6, 63,
&vp4_mv_vlc[j][i][0][1], 4, 2,
&vp4_mv_vlc[j][i][0][0], 4, 2, 0)) < 0)
for (i = 0; i < 7; i++) {
ret = ff_init_vlc_from_lengths(&s->vp4_mv_vlc[j][i], VP4_MV_VLC_BITS, 63,
&vp4_mv_vlc[j][i][0][1], 2,
&vp4_mv_vlc[j][i][0][0], 2, 1, -31,
0, avctx);
if (ret < 0)
return ret;
}
/* version >= 2 */
for (i = 0; i < 2; i++)

View File

@ -95,25 +95,11 @@ static const uint8_t vp31_filter_limit_values[64] = {
0, 0, 0, 0, 0, 0, 0, 0
};
static const uint16_t superblock_run_length_vlc_table[34][2] = {
{ 0, 1 },
{ 4, 3 }, { 5, 3 },
{ 0xC, 4 }, { 0xD, 4 },
{ 0x38, 6 }, { 0x39, 6 }, { 0x3A, 6 }, { 0x3B, 6 },
{ 0xF0, 8 }, { 0xF1, 8 }, { 0xF2, 8 }, { 0xF3, 8 },
{ 0xF4, 8 }, { 0xF5, 8 }, { 0xF6, 8 }, { 0xF7, 8 },
{ 0x3E0, 10 }, { 0x3E1, 10 }, { 0x3E2, 10 }, { 0x3E3, 10 },
{ 0x3E4, 10 }, { 0x3E5, 10 }, { 0x3E6, 10 }, { 0x3E7, 10 },
{ 0x3E8, 10 }, { 0x3E9, 10 }, { 0x3EA, 10 }, { 0x3EB, 10 },
{ 0x3EC, 10 }, { 0x3ED, 10 }, { 0x3EE, 10 }, { 0x3EF, 10 },
{ 0x3F, 6 } /* this last VLC is a special case for reading 12 more
* bits from stream and adding the value 34 */
static const uint8_t superblock_run_length_vlc_lens[34] = {
1, 3, 3, 4, 4, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
6, /* This last value is a special case for reading 12 more
* bits from the stream and adding the value 34. */
};
static const uint16_t fragment_run_length_vlc_table[30][2] = {

View File

@ -109,262 +109,220 @@ static const uint8_t vp4_mv_table_selector[32] = {
6, 6, 6, 6, 6, 6, 6, 6,
};
static const uint16_t vp4_mv_vlc[2][7][63][2] = {
static const uint8_t vp4_mv_vlc[2][7][63][2] = {
{ /* x-axis tables */
{
{ 0x6A, 7 }, { 0x11A, 9 }, { 0x18E, 9 }, { 0x237, 10 },
{ 0x4A, 8 }, { 0x236, 10 }, { 0x7A, 8 }, { 0xD6, 9 },
{ 0x7E, 8 }, { 0x1FD, 10 }, { 0x8C, 8 }, { 0xD7, 9 },
{ 0x87, 8 }, { 0x183, 9 }, { 0x3C, 7 }, { 0x61, 7 },
{ 0x47, 7 }, { 0x69, 8 }, { 0x40, 7 }, { 0x48, 8 },
{ 0x49, 7 }, { 0x86, 8 }, { 0x13, 6 }, { 0xD2, 8 },
{ 0x1C, 6 }, { 0x42, 7 }, { 0x25, 6 }, { 0x1B, 6 },
{ 0x13, 5 }, { 0x5, 4 }, { 0x0, 2 }, { 0x7, 3 },
{ 0x5, 3 }, { 0x1B, 5 }, { 0x19, 5 }, { 0x19, 6 },
{ 0x8, 5 }, { 0x45, 7 }, { 0x1D, 6 }, { 0xC6, 8 },
{ 0x68, 7 }, { 0x90, 8 }, { 0x41, 7 }, { 0x4B, 8 },
{ 0x31, 7 }, { 0x18F, 9 }, { 0x62, 7 }, { 0x3E, 7 },
{ 0x44, 7 }, { 0x68, 8 }, { 0x30, 7 }, { 0x182, 9 },
{ 0xC0, 8 }, { 0x1A7, 9 }, { 0x91, 8 }, { 0x92, 9 },
{ 0x7B, 8 }, { 0xFF, 9 }, { 0x1A6, 9 }, { 0x1FC, 10 },
{ 0x6A, 8 }, { 0x93, 9 }, { 0x6B, 7 }
{ 30, 2 }, { 36, 5 }, { 19, 8 }, { 55, 9 }, { 61, 9 },
{ 4, 8 }, { 43, 8 }, { 22, 6 }, { 29, 4 }, { 50, 7 },
{ 44, 7 }, { 35, 6 }, { 49, 8 }, { 17, 8 }, { 60, 8 },
{ 7, 9 }, { 11, 9 }, { 27, 6 }, { 24, 6 }, { 38, 6 },
{ 14, 7 }, { 6, 8 }, { 56, 8 }, { 47, 7 }, { 8, 8 },
{ 59, 10 }, { 9, 10 }, { 57, 9 }, { 18, 7 }, { 42, 7 },
{ 25, 7 }, { 21, 8 }, { 12, 8 }, { 48, 7 }, { 37, 7 },
{ 10, 8 }, { 1, 9 }, { 5, 10 }, { 3, 10 }, { 16, 7 },
{ 41, 8 }, { 54, 8 }, { 20, 7 }, { 26, 6 }, { 28, 5 },
{ 32, 3 }, { 52, 8 }, { 51, 9 }, { 13, 9 }, { 15, 7 },
{ 46, 7 }, { 39, 8 }, { 2, 9 }, { 45, 9 }, { 34, 5 },
{ 40, 7 }, { 23, 8 }, { 58, 9 }, { 53, 9 }, { 0, 7 },
{ 62, 7 }, { 33, 5 }, { 31, 3 },
},
{
{ 0x39, 7 }, { 0x259, 10 }, { 0x1B, 8 }, { 0x1D1, 10 },
{ 0x137, 9 }, { 0x1D0, 10 }, { 0x1A, 8 }, { 0x1B5, 10 },
{ 0x1D, 8 }, { 0x4BC, 11 }, { 0x6C, 8 }, { 0x38, 9 },
{ 0x71, 8 }, { 0x2D, 9 }, { 0x7D, 8 }, { 0x75, 8 },
{ 0x19, 7 }, { 0xE9, 9 }, { 0x37, 7 }, { 0x15, 8 },
{ 0x1E, 7 }, { 0xDB, 9 }, { 0x4C, 7 }, { 0x70, 8 },
{ 0xD, 6 }, { 0xC, 7 }, { 0x27, 6 }, { 0x4, 6 },
{ 0x2, 4 }, { 0x0, 4 }, { 0x5, 3 }, { 0x7, 3 },
{ 0x6, 3 }, { 0x2, 3 }, { 0x8, 4 }, { 0x24, 6 },
{ 0xC, 5 }, { 0x3B, 7 }, { 0x1E, 6 }, { 0x9A, 8 },
{ 0xE, 6 }, { 0x69, 8 }, { 0x4A, 7 }, { 0x12D, 9 },
{ 0x35, 7 }, { 0xF9, 9 }, { 0x18, 7 }, { 0x7F, 8 },
{ 0xF, 7 }, { 0xF8, 9 }, { 0x7E, 8 }, { 0x25F, 10 },
{ 0x68, 8 }, { 0x2C, 9 }, { 0x14, 8 }, { 0x258, 10 },
{ 0x136, 9 }, { 0x4BD, 11 }, { 0x12E, 9 }, { 0x1B4, 10 },
{ 0x17, 8 }, { 0x39, 9 }, { 0x1F, 7 }
{ 29, 4 }, { 27, 6 }, { 54, 8 }, { 19, 8 }, { 53, 9 },
{ 13, 9 }, { 60, 8 }, { 25, 7 }, { 6, 8 }, { 2, 8 },
{ 11, 9 }, { 61, 9 }, { 8, 8 }, { 48, 7 }, { 28, 4 },
{ 46, 7 }, { 16, 7 }, { 24, 6 }, { 40, 6 }, { 20, 7 },
{ 62, 7 }, { 33, 3 }, { 36, 5 }, { 52, 8 }, { 41, 8 },
{ 44, 7 }, { 10, 8 }, { 59, 10 }, { 7, 10 }, { 21, 9 },
{ 18, 7 }, { 23, 8 }, { 12, 8 }, { 0, 7 }, { 5, 10 },
{ 3, 10 }, { 17, 9 }, { 15, 8 }, { 37, 7 }, { 38, 6 },
{ 49, 9 }, { 45, 9 }, { 14, 8 }, { 50, 8 }, { 47, 8 },
{ 34, 4 }, { 35, 6 }, { 42, 7 }, { 55, 10 }, { 1, 10 },
{ 43, 9 }, { 58, 9 }, { 9, 11 }, { 57, 11 }, { 51, 10 },
{ 22, 7 }, { 39, 8 }, { 56, 9 }, { 4, 9 }, { 26, 6 },
{ 30, 3 }, { 32, 3 }, { 31, 3 },
},
{
{ 0x29, 7 }, { 0x3CB, 10 }, { 0x1F5, 9 }, { 0x263, 10 },
{ 0x1F4, 9 }, { 0x3DA, 10 }, { 0x50, 8 }, { 0x260, 10 },
{ 0x1EC, 9 }, { 0x3D3, 10 }, { 0x109, 9 }, { 0x3D2, 10 },
{ 0x51, 8 }, { 0x792, 11 }, { 0xF3, 8 }, { 0x9A, 8 },
{ 0xF7, 8 }, { 0x132, 9 }, { 0xC1, 8 }, { 0x1E8, 9 },
{ 0x2A, 7 }, { 0x85, 8 }, { 0x61, 7 }, { 0x1F7, 9 },
{ 0x78, 7 }, { 0xC7, 8 }, { 0x23, 6 }, { 0x7C, 7 },
{ 0x12, 5 }, { 0xB, 5 }, { 0xE, 4 }, { 0xD, 4 },
{ 0x0, 2 }, { 0x5, 3 }, { 0x3, 3 }, { 0x4, 4 },
{ 0x19, 5 }, { 0x20, 6 }, { 0x3F, 6 }, { 0x43, 7 },
{ 0x62, 7 }, { 0x9F, 8 }, { 0x4E, 7 }, { 0x181, 9 },
{ 0x2B, 7 }, { 0x137, 9 }, { 0xF5, 8 }, { 0x89, 8 },
{ 0xC6, 8 }, { 0x262, 10 }, { 0x88, 8 }, { 0x3C8, 10 },
{ 0x1F6, 9 }, { 0x3CA, 10 }, { 0x9E, 8 }, { 0x261, 10 },
{ 0x136, 9 }, { 0x108, 9 }, { 0x133, 9 }, { 0x793, 11 },
{ 0x180, 9 }, { 0x3DB, 10 }, { 0x45, 7 }
{ 32, 2 }, { 35, 4 }, { 6, 8 }, { 12, 8 }, { 0, 7 },
{ 20, 7 }, { 44, 7 }, { 29, 5 }, { 34, 3 }, { 37, 6 },
{ 57, 9 }, { 10, 9 }, { 21, 8 }, { 39, 7 }, { 50, 8 },
{ 47, 8 }, { 62, 7 }, { 26, 6 }, { 28, 5 }, { 7, 10 },
{ 55, 10 }, { 49, 10 }, { 3, 10 }, { 17, 9 }, { 58, 9 },
{ 15, 8 }, { 56, 9 }, { 45, 9 }, { 42, 7 }, { 54, 8 },
{ 41, 8 }, { 33, 3 }, { 60, 9 }, { 43, 9 }, { 18, 8 },
{ 22, 7 }, { 40, 7 }, { 48, 8 }, { 25, 8 }, { 36, 5 },
{ 31, 4 }, { 30, 4 }, { 24, 7 }, { 51, 10 }, { 13, 11 },
{ 59, 11 }, { 53, 10 }, { 1, 10 }, { 14, 8 }, { 19, 9 },
{ 11, 10 }, { 9, 10 }, { 46, 8 }, { 8, 9 }, { 5, 10 },
{ 61, 10 }, { 16, 8 }, { 27, 7 }, { 4, 9 }, { 2, 9 },
{ 52, 9 }, { 23, 9 }, { 38, 6 },
},
{
{ 0x1, 6 }, { 0x1C7, 9 }, { 0x67, 8 }, { 0xB5, 9 },
{ 0x66, 8 }, { 0x139, 9 }, { 0x99, 8 }, { 0xB4, 9 },
{ 0xC3, 8 }, { 0x130, 9 }, { 0x0, 7 }, { 0x131, 9 },
{ 0x9E, 8 }, { 0xB7, 9 }, { 0x2C, 7 }, { 0x1, 7 },
{ 0x28, 7 }, { 0x138, 9 }, { 0x4B, 7 }, { 0x31, 8 },
{ 0x60, 7 }, { 0x91, 8 }, { 0x3, 6 }, { 0x9D, 8 },
{ 0x17, 6 }, { 0x4D, 7 }, { 0x31, 6 }, { 0x70, 7 },
{ 0x7, 5 }, { 0x3A, 6 }, { 0x7, 4 }, { 0x2, 4 },
{ 0xB, 4 }, { 0x1, 4 }, { 0xF, 4 }, { 0x8, 4 },
{ 0xD, 4 }, { 0x4, 4 }, { 0xA, 4 }, { 0xD, 5 },
{ 0x19, 5 }, { 0x2, 6 }, { 0x3B, 6 }, { 0x4A, 7 },
{ 0x15, 6 }, { 0xC2, 8 }, { 0x18, 6 }, { 0x32, 7 },
{ 0x72, 7 }, { 0x1C6, 9 }, { 0x29, 7 }, { 0x1C5, 9 },
{ 0x49, 7 }, { 0x121, 9 }, { 0x1B, 7 }, { 0x30, 8 },
{ 0x1A, 7 }, { 0x1C4, 9 }, { 0x9F, 8 }, { 0xB6, 9 },
{ 0x19, 7 }, { 0x120, 9 }, { 0x73, 7 }
{ 10, 7 }, { 15, 7 }, { 0, 6 }, { 41, 6 }, { 22, 6 },
{ 33, 4 }, { 31, 4 }, { 55, 8 }, { 19, 8 }, { 60, 7 },
{ 56, 7 }, { 54, 7 }, { 28, 5 }, { 37, 4 }, { 16, 7 },
{ 50, 7 }, { 44, 6 }, { 14, 7 }, { 7, 9 }, { 3, 9 },
{ 59, 9 }, { 13, 9 }, { 24, 6 }, { 46, 6 }, { 47, 7 },
{ 4, 8 }, { 2, 8 }, { 39, 5 }, { 30, 4 }, { 35, 4 },
{ 61, 9 }, { 53, 9 }, { 21, 8 }, { 52, 7 }, { 43, 7 },
{ 18, 7 }, { 9, 9 }, { 11, 9 }, { 6, 8 }, { 25, 7 },
{ 17, 9 }, { 5, 9 }, { 23, 8 }, { 12, 8 }, { 58, 8 },
{ 38, 4 }, { 32, 4 }, { 20, 7 }, { 45, 8 }, { 8, 8 },
{ 26, 6 }, { 40, 5 }, { 36, 4 }, { 27, 7 }, { 57, 9 },
{ 51, 9 }, { 49, 9 }, { 1, 9 }, { 48, 7 }, { 62, 7 },
{ 29, 6 }, { 42, 6 }, { 34, 4 },
},
{
{ 0x23, 6 }, { 0x1C8, 9 }, { 0x43, 8 }, { 0x110, 9 },
{ 0xC, 7 }, { 0x153, 9 }, { 0x22, 7 }, { 0x111, 9 },
{ 0xF, 7 }, { 0x42, 8 }, { 0x23, 7 }, { 0x1C9, 9 },
{ 0x2A, 7 }, { 0x1B, 8 }, { 0x73, 7 }, { 0x45, 7 },
{ 0x6E, 7 }, { 0x89, 8 }, { 0x6C, 7 }, { 0x1A, 8 },
{ 0x6F, 7 }, { 0xB6, 8 }, { 0xB, 6 }, { 0xE5, 8 },
{ 0x25, 6 }, { 0x20, 7 }, { 0x29, 6 }, { 0x4D, 7 },
{ 0x2, 5 }, { 0x14, 6 }, { 0x1A, 5 }, { 0x17, 5 },
{ 0x1E, 5 }, { 0x27, 6 }, { 0x18, 5 }, { 0x28, 6 },
{ 0x1F, 5 }, { 0x0, 5 }, { 0x6, 4 }, { 0x10, 5 },
{ 0x7, 4 }, { 0xB, 5 }, { 0x3, 4 }, { 0x4, 5 },
{ 0x1D, 5 }, { 0x2C, 6 }, { 0x19, 5 }, { 0x2B, 6 },
{ 0x9, 5 }, { 0x55, 7 }, { 0x38, 6 }, { 0xE, 7 },
{ 0x24, 6 }, { 0xA8, 8 }, { 0xA, 6 }, { 0x99, 8 },
{ 0x5A, 7 }, { 0x98, 8 }, { 0x6D, 7 }, { 0x152, 9 },
{ 0x2B, 7 }, { 0xB7, 8 }, { 0x1, 5 }
{ 37, 5 }, { 62, 5 }, { 28, 5 }, { 4, 7 }, { 19, 8 },
{ 13, 8 }, { 51, 7 }, { 8, 7 }, { 43, 5 }, { 54, 6 },
{ 22, 6 }, { 42, 4 }, { 25, 7 }, { 9, 8 }, { 2, 8 },
{ 6, 7 }, { 10, 7 }, { 48, 5 }, { 29, 6 }, { 12, 7 },
{ 60, 7 }, { 41, 5 }, { 38, 4 }, { 40, 4 }, { 39, 5 },
{ 3, 9 }, { 7, 9 }, { 17, 8 }, { 15, 7 }, { 0, 6 },
{ 52, 6 }, { 24, 6 }, { 57, 8 }, { 55, 8 }, { 27, 7 },
{ 33, 6 }, { 35, 6 }, { 26, 6 }, { 53, 8 }, { 59, 9 },
{ 5, 9 }, { 49, 7 }, { 47, 6 }, { 45, 6 }, { 56, 7 },
{ 21, 8 }, { 61, 8 }, { 31, 5 }, { 34, 5 }, { 46, 5 },
{ 30, 5 }, { 18, 7 }, { 58, 7 }, { 16, 7 }, { 20, 7 },
{ 50, 6 }, { 1, 9 }, { 11, 9 }, { 23, 8 }, { 14, 7 },
{ 44, 5 }, { 32, 5 }, { 36, 5 },
},
{
{ 0x3D, 6 }, { 0xB1, 8 }, { 0xDD, 8 }, { 0x1F6, 9 },
{ 0xC5, 8 }, { 0x188, 9 }, { 0x37, 7 }, { 0x3F, 8 },
{ 0x1E, 7 }, { 0x189, 9 }, { 0xF, 7 }, { 0x3E, 8 },
{ 0x6A, 7 }, { 0x1F7, 9 }, { 0x61, 7 }, { 0x79, 7 },
{ 0x18, 6 }, { 0xB0, 8 }, { 0xE, 6 }, { 0xB3, 8 },
{ 0xC, 6 }, { 0xDF, 8 }, { 0x6, 6 }, { 0xDC, 8 },
{ 0x19, 6 }, { 0xDE, 8 }, { 0x27, 6 }, { 0xE, 7 },
{ 0x1A, 6 }, { 0x63, 7 }, { 0xF, 5 }, { 0xE, 5 },
{ 0x14, 5 }, { 0x7C, 7 }, { 0x36, 6 }, { 0x6B, 7 },
{ 0x3F, 6 }, { 0x60, 7 }, { 0x8, 5 }, { 0x74, 7 },
{ 0x9, 5 }, { 0x78, 7 }, { 0x12, 5 }, { 0xD, 6 },
{ 0x15, 5 }, { 0x2D, 6 }, { 0x2, 4 }, { 0x1C, 5 },
{ 0x5, 4 }, { 0x3B, 6 }, { 0x0, 4 }, { 0x34, 6 },
{ 0x19, 5 }, { 0x26, 6 }, { 0x10, 5 }, { 0x75, 7 },
{ 0x2, 5 }, { 0x36, 7 }, { 0x23, 6 }, { 0xB2, 8 },
{ 0x22, 6 }, { 0xFA, 8 }, { 0x17, 5 }
{ 50, 4 }, { 56, 5 }, { 22, 6 }, { 27, 7 }, { 10, 7 },
{ 46, 4 }, { 20, 6 }, { 43, 6 }, { 18, 6 }, { 8, 7 },
{ 11, 8 }, { 7, 8 }, { 38, 5 }, { 40, 5 }, { 48, 4 },
{ 16, 6 }, { 24, 6 }, { 28, 6 }, { 57, 7 }, { 6, 7 },
{ 31, 5 }, { 30, 5 }, { 54, 5 }, { 60, 6 }, { 58, 6 },
{ 42, 5 }, { 53, 6 }, { 26, 6 }, { 32, 5 }, { 44, 5 },
{ 17, 8 }, { 1, 8 }, { 59, 8 }, { 19, 8 }, { 45, 6 },
{ 62, 5 }, { 37, 7 }, { 14, 7 }, { 5, 9 }, { 9, 9 },
{ 4, 8 }, { 29, 7 }, { 52, 5 }, { 51, 6 }, { 12, 7 },
{ 35, 7 }, { 34, 6 }, { 23, 8 }, { 2, 8 }, { 25, 8 },
{ 21, 8 }, { 47, 5 }, { 39, 7 }, { 55, 7 }, { 49, 6 },
{ 41, 7 }, { 15, 7 }, { 0, 6 }, { 33, 7 }, { 61, 8 },
{ 3, 9 }, { 13, 9 }, { 36, 6 },
},
{
{ 0x15, 5 }, { 0xDD, 8 }, { 0x3E, 7 }, { 0x16E, 9 },
{ 0x4C, 7 }, { 0x12, 8 }, { 0x5D, 7 }, { 0xB6, 8 },
{ 0x6F, 7 }, { 0x1F1, 9 }, { 0x69, 7 }, { 0x1F0, 9 },
{ 0x1D, 7 }, { 0x16F, 9 }, { 0x2, 6 }, { 0x6B, 7 },
{ 0xC, 6 }, { 0xDC, 8 }, { 0x68, 7 }, { 0x9B, 8 },
{ 0x7D, 7 }, { 0x9A, 8 }, { 0xD, 6 }, { 0x13, 8 },
{ 0x8, 6 }, { 0xF9, 8 }, { 0x2C, 6 }, { 0x12, 7 },
{ 0x33, 6 }, { 0x4F, 7 }, { 0xD, 5 }, { 0x5, 5 },
{ 0x12, 5 }, { 0x3F, 7 }, { 0x32, 6 }, { 0x13, 7 },
{ 0x3B, 6 }, { 0x5, 6 }, { 0x2F, 6 }, { 0x5A, 7 },
{ 0x3F, 6 }, { 0x1C, 7 }, { 0x3A, 6 }, { 0x8, 7 },
{ 0x36, 6 }, { 0x5C, 7 }, { 0x10, 5 }, { 0x0, 5 },
{ 0xC, 5 }, { 0x4E, 7 }, { 0x3, 5 }, { 0x6A, 7 },
{ 0xE, 5 }, { 0x3, 6 }, { 0x14, 5 }, { 0x1E, 6 },
{ 0x1C, 5 }, { 0xF, 6 }, { 0x18, 5 }, { 0x23, 6 },
{ 0x1E, 5 }, { 0x22, 6 }, { 0x2, 3 }
}
{ 47, 5 }, { 14, 6 }, { 53, 6 }, { 43, 7 }, { 5, 8 },
{ 23, 8 }, { 37, 6 }, { 50, 5 }, { 24, 6 }, { 27, 7 },
{ 35, 7 }, { 31, 5 }, { 16, 6 }, { 22, 6 }, { 41, 7 },
{ 12, 7 }, { 57, 6 }, { 62, 3 }, { 48, 5 }, { 30, 5 },
{ 52, 5 }, { 55, 6 }, { 2, 7 }, { 33, 7 }, { 46, 5 },
{ 61, 6 }, { 59, 6 }, { 32, 5 }, { 4, 7 }, { 21, 8 },
{ 19, 8 }, { 49, 7 }, { 29, 7 }, { 54, 5 }, { 0, 5 },
{ 26, 6 }, { 39, 7 }, { 7, 8 }, { 3, 9 }, { 13, 9 },
{ 45, 7 }, { 6, 7 }, { 38, 6 }, { 58, 5 }, { 34, 6 },
{ 28, 6 }, { 18, 7 }, { 10, 7 }, { 51, 7 }, { 15, 7 },
{ 44, 6 }, { 17, 8 }, { 1, 8 }, { 8, 7 }, { 56, 5 },
{ 42, 6 }, { 36, 6 }, { 60, 5 }, { 11, 9 }, { 9, 9 },
{ 25, 8 }, { 20, 7 }, { 40, 6 },
},
},
{ /* y-axis tables */
{
{ 0x52, 7 }, { 0x14C, 9 }, { 0x1FA, 9 }, { 0x124, 9 },
{ 0x82, 8 }, { 0x29E, 10 }, { 0x8E, 8 }, { 0x24B, 10 },
{ 0x9C, 8 }, { 0x3F7, 10 }, { 0x86, 8 }, { 0x114, 9 },
{ 0x83, 8 }, { 0x3A5, 10 }, { 0xFA, 8 }, { 0x4F, 7 },
{ 0xFB, 8 }, { 0x13B, 9 }, { 0xFC, 8 }, { 0x172, 9 },
{ 0x44, 7 }, { 0x173, 9 }, { 0x51, 7 }, { 0x87, 8 },
{ 0x5F, 7 }, { 0xBA, 8 }, { 0x26, 6 }, { 0x5E, 7 },
{ 0x16, 5 }, { 0x15, 5 }, { 0x6, 3 }, { 0x1, 2 },
{ 0x0, 2 }, { 0x1C, 5 }, { 0x1E, 5 }, { 0x75, 7 },
{ 0x3B, 6 }, { 0xFF, 8 }, { 0x25, 6 }, { 0xBB, 8 },
{ 0x7C, 7 }, { 0x8B, 8 }, { 0x48, 7 }, { 0x171, 9 },
{ 0x42, 7 }, { 0x14E, 9 }, { 0x46, 7 }, { 0xFE, 8 },
{ 0x40, 7 }, { 0x13A, 9 }, { 0x93, 8 }, { 0x115, 9 },
{ 0x8F, 8 }, { 0x3F6, 10 }, { 0x170, 9 }, { 0x29F, 10 },
{ 0x1D1, 9 }, { 0x24A, 10 }, { 0x1D3, 9 }, { 0x3A4, 10 },
{ 0x1D0, 9 }, { 0x14D, 9 }, { 0x50, 7 }
{ 32, 2 }, { 31, 2 }, { 48, 7 }, { 4, 8 }, { 12, 8 },
{ 44, 7 }, { 10, 8 }, { 23, 8 }, { 20, 7 }, { 11, 9 },
{ 51, 9 }, { 41, 8 }, { 46, 7 }, { 6, 8 }, { 52, 8 },
{ 42, 7 }, { 3, 9 }, { 57, 10 }, { 7, 10 }, { 50, 8 },
{ 38, 6 }, { 26, 6 }, { 8, 8 }, { 49, 9 }, { 17, 9 },
{ 15, 7 }, { 62, 7 }, { 22, 7 }, { 0, 7 }, { 1, 9 },
{ 61, 9 }, { 45, 9 }, { 5, 10 }, { 55, 10 }, { 29, 5 },
{ 28, 5 }, { 54, 9 }, { 43, 9 }, { 19, 9 }, { 21, 9 },
{ 25, 8 }, { 39, 8 }, { 27, 7 }, { 24, 7 }, { 30, 3 },
{ 33, 5 }, { 60, 9 }, { 56, 9 }, { 59, 10 }, { 13, 10 },
{ 58, 9 }, { 35, 7 }, { 36, 6 }, { 34, 5 }, { 40, 7 },
{ 14, 8 }, { 16, 8 }, { 18, 8 }, { 2, 9 }, { 53, 10 },
{ 9, 10 }, { 47, 8 }, { 37, 8 },
},
{
{ 0xDE, 8 }, { 0x223, 10 }, { 0x136, 9 }, { 0x7C5, 11 },
{ 0x12F, 9 }, { 0x4A1, 11 }, { 0x3D7, 10 }, { 0x7AC, 11 },
{ 0x133, 9 }, { 0x7C4, 11 }, { 0x1B8, 9 }, { 0x222, 10 },
{ 0x96, 8 }, { 0x251, 10 }, { 0x95, 8 }, { 0x1F0, 9 },
{ 0xDA, 8 }, { 0x110, 9 }, { 0x9A, 8 }, { 0x360, 10 },
{ 0xDD, 8 }, { 0x12E, 9 }, { 0x48, 7 }, { 0x92, 8 },
{ 0x78, 7 }, { 0x98, 8 }, { 0x27, 6 }, { 0x45, 7 },
{ 0x1A, 5 }, { 0x10, 5 }, { 0x5, 3 }, { 0x0, 2 },
{ 0x1, 2 }, { 0xE, 4 }, { 0xC, 4 }, { 0x23, 6 },
{ 0x3F, 6 }, { 0xF4, 8 }, { 0x7D, 7 }, { 0x89, 8 },
{ 0x7B, 7 }, { 0x1BE, 9 }, { 0xF9, 8 }, { 0x3E3, 10 },
{ 0xF3, 8 }, { 0x127, 9 }, { 0xDB, 8 }, { 0x1EA, 9 },
{ 0xD9, 8 }, { 0x6E7, 11 }, { 0x1BF, 9 }, { 0x4A0, 11 },
{ 0x1B1, 9 }, { 0x6E6, 11 }, { 0x137, 9 }, { 0x7AD, 11 },
{ 0x126, 9 }, { 0x6C2, 11 }, { 0x132, 9 }, { 0x6C3, 11 },
{ 0x129, 9 }, { 0x372, 10 }, { 0xF2, 8 }
{ 31, 2 }, { 32, 2 }, { 29, 5 }, { 17, 9 }, { 11, 10 },
{ 1, 10 }, { 39, 8 }, { 27, 7 }, { 35, 6 }, { 22, 7 },
{ 23, 8 }, { 56, 9 }, { 45, 9 }, { 51, 11 }, { 5, 11 },
{ 13, 10 }, { 60, 9 }, { 14, 8 }, { 12, 8 }, { 21, 9 },
{ 4, 9 }, { 25, 8 }, { 58, 9 }, { 8, 9 }, { 18, 8 },
{ 2, 9 }, { 54, 9 }, { 26, 6 }, { 30, 3 }, { 34, 4 },
{ 28, 5 }, { 19, 10 }, { 57, 11 }, { 59, 11 }, { 52, 9 },
{ 48, 8 }, { 16, 8 }, { 46, 8 }, { 10, 9 }, { 61, 10 },
{ 53, 11 }, { 49, 11 }, { 20, 8 }, { 0, 8 }, { 41, 9 },
{ 50, 9 }, { 33, 4 }, { 24, 7 }, { 62, 8 }, { 44, 8 },
{ 37, 8 }, { 47, 9 }, { 7, 11 }, { 55, 11 }, { 6, 10 },
{ 40, 7 }, { 15, 9 }, { 9, 11 }, { 3, 11 }, { 43, 10 },
{ 42, 8 }, { 38, 7 }, { 36, 6 },
},
{
{ 0x16, 7 }, { 0x9C, 9 }, { 0x13C, 9 }, { 0x9E, 10 },
{ 0x12B, 9 }, { 0xBA, 10 }, { 0x181, 9 }, { 0x317, 10 },
{ 0x84, 8 }, { 0x4E, 9 }, { 0x26, 8 }, { 0x316, 10 },
{ 0x180, 9 }, { 0x5C, 9 }, { 0xC1, 8 }, { 0x2F, 8 },
{ 0x10, 7 }, { 0x45, 9 }, { 0x12, 7 }, { 0x189, 9 },
{ 0x24, 7 }, { 0x13D, 9 }, { 0x66, 7 }, { 0x23, 8 },
{ 0x67, 7 }, { 0xC6, 8 }, { 0x24, 6 }, { 0x4B, 7 },
{ 0x11, 5 }, { 0x32, 6 }, { 0xD, 4 }, { 0x0, 3 },
{ 0x7, 3 }, { 0x5, 3 }, { 0x3, 3 }, { 0x3, 4 },
{ 0x5, 4 }, { 0x20, 6 }, { 0x8, 5 }, { 0x25, 7 },
{ 0x26, 6 }, { 0x4F, 8 }, { 0x61, 7 }, { 0x2B, 8 },
{ 0x4E, 7 }, { 0x18A, 9 }, { 0x43, 7 }, { 0x9F, 8 },
{ 0x14, 7 }, { 0x254, 10 }, { 0x94, 8 }, { 0x310, 10 },
{ 0x85, 8 }, { 0x311, 10 }, { 0x2A, 8 }, { 0xBB, 10 },
{ 0x18F, 9 }, { 0x255, 10 }, { 0x9D, 9 }, { 0x9F, 10 },
{ 0x18E, 9 }, { 0x44, 9 }, { 0x26, 7 }
{ 31, 3 }, { 16, 7 }, { 61, 9 }, { 17, 9 }, { 23, 8 },
{ 18, 7 }, { 10, 8 }, { 9, 9 }, { 3, 10 }, { 59, 10 },
{ 48, 7 }, { 54, 8 }, { 43, 8 }, { 0, 7 }, { 13, 9 },
{ 5, 10 }, { 55, 10 }, { 15, 8 }, { 35, 4 }, { 38, 5 },
{ 20, 7 }, { 39, 7 }, { 62, 7 }, { 1, 9 }, { 58, 9 },
{ 41, 8 }, { 36, 4 }, { 34, 3 }, { 37, 6 }, { 8, 8 },
{ 52, 8 }, { 46, 7 }, { 28, 5 }, { 26, 6 }, { 50, 8 },
{ 49, 10 }, { 57, 10 }, { 4, 9 }, { 27, 7 }, { 40, 6 },
{ 44, 7 }, { 2, 9 }, { 21, 9 }, { 47, 8 }, { 33, 3 },
{ 12, 9 }, { 6, 9 }, { 14, 8 }, { 42, 7 }, { 51, 10 },
{ 53, 10 }, { 19, 9 }, { 45, 9 }, { 11, 10 }, { 7, 10 },
{ 25, 8 }, { 60, 9 }, { 56, 9 }, { 29, 6 }, { 22, 7 },
{ 24, 7 }, { 30, 4 }, { 32, 3 },
},
{
{ 0x61, 7 }, { 0x12A, 9 }, { 0xD, 8 }, { 0x3BD, 10 },
{ 0x89, 8 }, { 0x109, 9 }, { 0x18E, 9 }, { 0x210, 10 },
{ 0x1D3, 9 }, { 0x211, 10 }, { 0x88, 8 }, { 0x19, 9 },
{ 0x85, 8 }, { 0x18, 9 }, { 0xE8, 8 }, { 0xCE, 8 },
{ 0x40, 7 }, { 0x119, 9 }, { 0x45, 7 }, { 0x1D2, 9 },
{ 0x4B, 7 }, { 0x1DD, 9 }, { 0x62, 7 }, { 0x94, 8 },
{ 0x75, 7 }, { 0xC, 7 }, { 0x27, 6 }, { 0xD, 7 },
{ 0x2, 5 }, { 0x26, 6 }, { 0x6, 4 }, { 0x1E, 5 },
{ 0xD, 4 }, { 0x1F, 5 }, { 0x1, 3 }, { 0xA, 4 },
{ 0x2, 3 }, { 0x7, 4 }, { 0xB, 4 }, { 0x0, 5 },
{ 0x1C, 5 }, { 0x76, 7 }, { 0x32, 6 }, { 0x7, 7 },
{ 0x24, 6 }, { 0xC0, 8 }, { 0x7, 6 }, { 0x41, 7 },
{ 0x2, 6 }, { 0x18F, 9 }, { 0x47, 7 }, { 0x1DC, 9 },
{ 0x43, 7 }, { 0x12B, 9 }, { 0xCF, 8 }, { 0x118, 9 },
{ 0xC6, 8 }, { 0x3BC, 10 }, { 0x8D, 8 }, { 0x3BF, 10 },
{ 0xC1, 8 }, { 0x3BE, 10 }, { 0x66, 7 }
{ 39, 5 }, { 48, 6 }, { 13, 9 }, { 11, 9 }, { 2, 8 },
{ 43, 7 }, { 28, 5 }, { 25, 7 }, { 27, 7 }, { 46, 6 },
{ 34, 3 }, { 36, 3 }, { 30, 4 }, { 37, 4 }, { 16, 7 },
{ 47, 7 }, { 7, 10 }, { 9, 10 }, { 5, 9 }, { 12, 8 },
{ 52, 7 }, { 10, 8 }, { 4, 8 }, { 18, 7 }, { 55, 9 },
{ 17, 9 }, { 58, 8 }, { 50, 7 }, { 44, 6 }, { 23, 8 },
{ 1, 9 }, { 53, 9 }, { 20, 7 }, { 29, 6 }, { 26, 6 },
{ 35, 4 }, { 38, 4 }, { 45, 8 }, { 60, 8 }, { 0, 7 },
{ 22, 7 }, { 56, 8 }, { 6, 9 }, { 49, 9 }, { 42, 6 },
{ 62, 7 }, { 15, 8 }, { 54, 8 }, { 32, 4 }, { 40, 5 },
{ 14, 8 }, { 19, 9 }, { 8, 9 }, { 24, 7 }, { 41, 7 },
{ 51, 9 }, { 21, 9 }, { 57, 10 }, { 3, 10 }, { 61, 10 },
{ 59, 10 }, { 31, 5 }, { 33, 5 },
},
{
{ 0x7, 6 }, { 0x14D, 9 }, { 0xA0, 8 }, { 0x9E, 9 },
{ 0xCF, 8 }, { 0x39C, 10 }, { 0xA1, 8 }, { 0x39D, 10 },
{ 0xAB, 8 }, { 0x1C5, 9 }, { 0x26, 7 }, { 0x14C, 9 },
{ 0x25, 7 }, { 0x19C, 9 }, { 0x3F, 7 }, { 0xE1, 8 },
{ 0x66, 7 }, { 0x1CF, 9 }, { 0x3E, 7 }, { 0x1C4, 9 },
{ 0x72, 7 }, { 0x4E, 8 }, { 0x6, 6 }, { 0xAA, 8 },
{ 0x1C, 6 }, { 0xE6, 8 }, { 0x32, 6 }, { 0x51, 7 },
{ 0x3B, 6 }, { 0x5, 6 }, { 0x1F, 5 }, { 0x18, 5 },
{ 0x2, 4 }, { 0x3A, 6 }, { 0x0, 4 }, { 0x36, 6 },
{ 0x5, 4 }, { 0x8, 5 }, { 0x8, 4 }, { 0x16, 5 },
{ 0x9, 4 }, { 0xD, 5 }, { 0x3, 4 }, { 0x2F, 6 },
{ 0x1E, 5 }, { 0x2E, 6 }, { 0x1A, 5 }, { 0x2B, 6 },
{ 0xC, 5 }, { 0x24, 7 }, { 0x1E, 6 }, { 0xE0, 8 },
{ 0x4, 6 }, { 0xA7, 8 }, { 0x54, 7 }, { 0x1C7, 9 },
{ 0x52, 7 }, { 0x19D, 9 }, { 0x3A, 7 }, { 0x9F, 9 },
{ 0x3B, 7 }, { 0x1C6, 9 }, { 0x37, 6 }
{ 34, 4 }, { 52, 6 }, { 29, 6 }, { 22, 6 }, { 0, 6 },
{ 32, 4 }, { 42, 4 }, { 37, 5 }, { 49, 7 }, { 12, 7 },
{ 10, 7 }, { 21, 8 }, { 3, 9 }, { 59, 9 }, { 36, 4 },
{ 48, 5 }, { 41, 5 }, { 24, 6 }, { 58, 7 }, { 60, 7 },
{ 50, 6 }, { 18, 7 }, { 14, 7 }, { 38, 4 }, { 40, 4 },
{ 2, 8 }, { 6, 8 }, { 27, 7 }, { 56, 7 }, { 11, 9 },
{ 1, 9 }, { 53, 8 }, { 54, 7 }, { 23, 8 }, { 8, 8 },
{ 47, 6 }, { 39, 5 }, { 45, 6 }, { 43, 6 }, { 31, 5 },
{ 26, 6 }, { 16, 7 }, { 13, 9 }, { 57, 9 }, { 4, 8 },
{ 46, 5 }, { 35, 6 }, { 62, 6 }, { 51, 8 }, { 15, 8 },
{ 19, 9 }, { 9, 9 }, { 61, 9 }, { 55, 9 }, { 20, 7 },
{ 25, 8 }, { 5, 10 }, { 7, 10 }, { 17, 9 }, { 33, 6 },
{ 28, 6 }, { 44, 5 }, { 30, 5 },
},
{
{ 0x2A, 6 }, { 0x39, 8 }, { 0x25, 7 }, { 0x115, 9 },
{ 0x24, 7 }, { 0x1FA, 9 }, { 0x2F, 7 }, { 0x114, 9 },
{ 0x75, 7 }, { 0x38, 8 }, { 0xFC, 8 }, { 0x36, 8 },
{ 0x1E, 7 }, { 0x1FB, 9 }, { 0x7F, 7 }, { 0x68, 7 },
{ 0x16, 6 }, { 0x37, 8 }, { 0x1F, 7 }, { 0x5C, 8 },
{ 0x13, 6 }, { 0x8B, 8 }, { 0x1, 6 }, { 0xFB, 8 },
{ 0x21, 6 }, { 0x44, 7 }, { 0x2B, 6 }, { 0x6B, 7 },
{ 0x3B, 6 }, { 0xC, 6 }, { 0x1C, 5 }, { 0x19, 5 },
{ 0x1, 4 }, { 0x20, 6 }, { 0x16, 5 }, { 0x7C, 7 },
{ 0xC, 5 }, { 0x74, 7 }, { 0xA, 5 }, { 0x1C, 6 },
{ 0x12, 5 }, { 0x69, 7 }, { 0xF, 5 }, { 0x6A, 7 },
{ 0x14, 5 }, { 0x11, 6 }, { 0x1E, 5 }, { 0x17, 5 },
{ 0x2, 4 }, { 0x31, 6 }, { 0x1B, 5 }, { 0x30, 6 },
{ 0xD, 5 }, { 0x0, 6 }, { 0x1, 5 }, { 0x1D, 7 },
{ 0x23, 6 }, { 0x1A, 7 }, { 0x1D, 6 }, { 0x5D, 8 },
{ 0x10, 6 }, { 0xFA, 8 }, { 0x13, 5 }
{ 53, 6 }, { 22, 6 }, { 54, 5 }, { 32, 4 }, { 48, 4 },
{ 29, 6 }, { 57, 7 }, { 11, 8 }, { 17, 8 }, { 9, 8 },
{ 1, 8 }, { 55, 7 }, { 12, 7 }, { 18, 7 }, { 60, 6 },
{ 45, 6 }, { 4, 7 }, { 2, 7 }, { 20, 6 }, { 38, 5 },
{ 16, 6 }, { 19, 8 }, { 59, 8 }, { 6, 7 }, { 36, 5 },
{ 52, 5 }, { 39, 6 }, { 58, 6 }, { 42, 5 }, { 33, 6 },
{ 24, 6 }, { 25, 7 }, { 7, 9 }, { 3, 9 }, { 21, 8 },
{ 56, 6 }, { 40, 5 }, { 62, 5 }, { 44, 5 }, { 0, 6 },
{ 26, 6 }, { 34, 5 }, { 47, 5 }, { 51, 6 }, { 49, 6 },
{ 31, 5 }, { 15, 7 }, { 41, 7 }, { 43, 7 }, { 27, 7 },
{ 50, 5 }, { 30, 5 }, { 37, 7 }, { 8, 7 }, { 28, 6 },
{ 46, 5 }, { 35, 7 }, { 61, 8 }, { 23, 8 }, { 10, 8 },
{ 5, 9 }, { 13, 9 }, { 14, 7 },
},
{
{ 0x12, 5 }, { 0x26, 7 }, { 0x41, 7 }, { 0x22, 8 },
{ 0x1A, 7 }, { 0xA9, 8 }, { 0x4C, 7 }, { 0x1B2, 9 },
{ 0x5C, 7 }, { 0xA8, 8 }, { 0x58, 7 }, { 0x1B3, 9 },
{ 0x40, 7 }, { 0x79, 8 }, { 0xC, 6 }, { 0x55, 7 },
{ 0x1F, 6 }, { 0xD8, 8 }, { 0x76, 7 }, { 0x23, 8 },
{ 0x5F, 7 }, { 0x78, 8 }, { 0xB, 6 }, { 0x1B, 7 },
{ 0x2D, 6 }, { 0x10, 7 }, { 0x37, 6 }, { 0x6D, 7 },
{ 0x32, 6 }, { 0xA, 6 }, { 0x1A, 5 }, { 0x1E, 5 },
{ 0x1F, 5 }, { 0x2B, 6 }, { 0xD, 5 }, { 0x77, 7 },
{ 0x31, 6 }, { 0x5D, 7 }, { 0x38, 6 }, { 0x27, 7 },
{ 0xC, 5 }, { 0xE9, 8 }, { 0x33, 6 }, { 0x5E, 7 },
{ 0x30, 6 }, { 0x4D, 7 }, { 0xA, 5 }, { 0x21, 6 },
{ 0x7, 5 }, { 0x3D, 7 }, { 0x39, 6 }, { 0xE8, 8 },
{ 0xB, 5 }, { 0x59, 7 }, { 0x14, 5 }, { 0x27, 6 },
{ 0x11, 5 }, { 0x75, 7 }, { 0xE, 5 }, { 0x9, 6 },
{ 0x8, 5 }, { 0x12, 6 }, { 0x0, 3 }
}
{ 62, 3 }, { 25, 7 }, { 3, 8 }, { 19, 8 }, { 59, 6 },
{ 29, 6 }, { 22, 6 }, { 14, 6 }, { 4, 7 }, { 23, 7 },
{ 48, 5 }, { 60, 5 }, { 61, 6 }, { 1, 7 }, { 39, 7 },
{ 46, 5 }, { 52, 5 }, { 40, 5 }, { 34, 5 }, { 58, 5 },
{ 21, 8 }, { 13, 8 }, { 49, 7 }, { 16, 6 }, { 12, 7 },
{ 2, 7 }, { 47, 6 }, { 56, 5 }, { 0, 5 }, { 6, 7 },
{ 45, 7 }, { 55, 6 }, { 54, 5 }, { 9, 8 }, { 5, 8 },
{ 15, 7 }, { 33, 6 }, { 10, 7 }, { 53, 7 }, { 24, 6 },
{ 8, 7 }, { 37, 7 }, { 43, 7 }, { 20, 7 }, { 44, 6 },
{ 36, 6 }, { 28, 6 }, { 42, 6 }, { 30, 5 }, { 17, 8 },
{ 7, 9 }, { 11, 9 }, { 27, 7 }, { 26, 6 }, { 38, 6 },
{ 50, 6 }, { 51, 8 }, { 41, 8 }, { 57, 7 }, { 18, 7 },
{ 35, 7 }, { 31, 5 }, { 32, 5 },
},
}
};