/*
* Copyright (c) 1997-2004 Alexandros Eleftheriadis, Danny Hong and
* Yuntai Kyong.
*
* This file is part of Flavor, developed at Columbia University
* (www.ee.columbia.edu/flavor).
*
* Flavor is free software; you can redistribute it and/or modify
* it under the terms of the Flavor Artistic License as described in
* the file COPYING.txt.
*
*/
/*
* Authors:
* Danny Hong <danny@ee.columbia.edu>
* Chun Hao(Tony) Wang <tony@ee.columbia.edu>
*
*/
/*
* Variable length code tables for MPEG-1 Video sequence
*
* (ISO/IEC 11172-2 1993(E) Tables B.1, B.2, B.3, B.4, B.5)
*
*/
/* Table B.1 */
map TableB1(int) {
0b1, 1,
0b011, 2,
0b010, 3,
0b0011, 4,
0b0010, 5,
0b00011, 6,
0b00010, 7,
0b0000111, 8,
0b0000110, 9,
0b00001011, 10,
0b00001010, 11,
0b00001001, 12,
0b00001000, 13,
0b00000111, 14,
0b00000110, 15,
0b0000010111, 16,
0b0000010110, 17,
0b0000010101, 18,
0b0000010100, 19,
0b0000010011, 20,
0b0000010010, 21,
0b00000100011, 22,
0b00000100010, 23,
0b00000100001, 24,
0b00000100000, 25,
0b00000011111, 26,
0b00000011110, 27,
0b00000011101, 28,
0b00000011100, 29,
0b00000011011, 30,
0b00000011010, 31,
0b00000011001, 32,
0b00000011000, 33,
0b00000001111, 34,
0b00000001000, 35
}
/* Table B.2 */
class MacroblockTypes {
int quant;
int motion_forward;
int motion_backward;
int pattern;
int intra;
}
map TableB2a(MacroblockTypes) {
0b1, {0,0,0,0,1},
0b01, {1,0,0,0,1}
}
map TableB2b(MacroblockTypes) {
0b1, {0,1,0,1,0},
0b01, {0,0,0,1,0},
0b001, {0,1,0,0,0},
0b00011, {0,0,0,0,1},
0b00010, {1,1,0,1,0},
0b00001, {1,0,0,1,0},
0b000001, {1,0,0,0,1}
}
map TableB2c(MacroblockTypes) {
0b10, {0,1,1,0,0},
0b11, {0,1,1,1,0},
0b010, {0,0,1,0,0},
0b011, {0,0,1,1,0},
0b0010, {0,1,0,0,0},
0b0011, {0,1,0,1,0},
0b00011, {0,0,0,0,1},
0b00010, {1,1,1,1,0},
0b000011, {1,1,0,1,0},
0b000010, {1,0,1,1,0},
0b000001, {1,0,0,0,1}
}
map TableB2d(MacroblockTypes) {
0b1, {0,0,0,0,1}
}
/* Table B.3 */
map TableB3(int) {
0b111, 60,
0b1101, 4,
0b1100, 8,
0b1011, 16,
0b1010, 32,
0b10011, 12,
0b10010, 48,
0b10001, 20,
0b10000, 40,
0b01111, 28,
0b01110, 44,
0b01101, 52,
0b01100, 56,
0b01011, 1,
0b01010, 61,
0b01001, 2,
0b01000, 62,
0b001111, 24,
0b001110, 36,
0b001101, 3,
0b001100, 63,
0b0010111, 5,
0b0010110, 9,
0b0010101, 17,
0b0010100, 33,
0b0010011, 6,
0b0010010, 10,
0b0010001, 18,
0b0010000, 34,
0b00011111, 7,
0b00011110, 11,
0b00011101, 19,
0b00011100, 35,
0b00011011, 13,
0b00011010, 49,
0b00011001, 21,
0b00011000, 41,
0b00010111, 14,
0b00010110, 50,
0b00010101, 22,
0b00010100, 42,
0b00010011, 15,
0b00010010, 51,
0b00010001, 23,
0b00010000, 43,
0b00001111, 25,
0b00001110, 37,
0b00001101, 26,
0b00001100, 38,
0b00001011, 29,
0b00001010, 45,
0b00001001, 53,
0b00001000, 57,
0b00000111, 30,
0b00000110, 46,
0b00000101, 54,
0b00000100, 58,
0b000000111, 31,
0b000000110, 47,
0b000000101, 55,
0b000000100, 59,
0b000000011, 27,
0b000000010, 39
}
/* Table B.4 */
map TableB4(int) {
0b00000011001, -16,
0b00000011011, -15,
0b00000011101, -14,
0b00000011111, -13,
0b00000100001, -12,
0b00000100011, -11,
0b0000010011, -10,
0b0000010101, -9,
0b0000010111, -8,
0b00000111, -7,
0b00001001, -6,
0b00001011, -5,
0b0000111, -4,
0b00011, -3,
0b0011, -2,
0b011, -1,
0b1, 0,
0b010, 1,
0b0010, 2,
0b00010, 3,
0b0000110, 4,
0b00001010, 5,
0b00001000, 6,
0b00000110, 7,
0b0000010110, 8,
0b0000010100, 9,
0b0000010010, 10,
0b00000100010, 11,
0b00000100000, 12,
0b00000011110, 13,
0b00000011100, 14,
0b00000011010, 15,
0b00000011000, 16
}
/* Table B.5a */
map TableB5a(int) {
0b100, 0,
0b00, 1,
0b01, 2,
0b101, 3,
0b110, 4,
0b1110, 5,
0b11110, 6,
0b111110, 7,
0b1111110, 8
}
/* Table B.5b */
map TableB5b(int) {
0b00, 0,
0b01, 1,
0b10, 2,
0b110, 3,
0b1110, 4,
0b11110, 5,
0b111110, 6,
0b1111110, 7,
0b11111110, 8
}
/* Table B.5c,d,e */
class DCTCoeff {
unsigned int run;
int level;
}
map FirstCoeffTable(DCTCoeff) {
0b10, {0, 1},
0b11, {0, -1},
0b0110, {1, 1},
0b0111, {1, -1},
0b0100.0, {0, 2},
0b0100.1, {0, -2},
0b0101.0, {2, 1},
0b0101.1, {2, -1},
0b0010.10, {0, 3},
0b0010.11, {0, -3},
0b0011.10, {3, 1},
0b0011.11, {3, -1},
0b0011.00, {4, 1},
0b0011.01, {4, -1},
0b0001.100, {1, 2},
0b0001.101, {1, -2},
0b0001.110, {5, 1},
0b0001.111, {5, -1},
0b0001.010, {6, 1},
0b0001.011, {6, -1},
0b0001.000, {7, 1},
0b0001.001, {7, -1},
0b0000.1100, {0, 4},
0b0000.1101, {0, -4},
0b0000.1000, {2, 2},
0b0000.1001, {2, -2},
0b0000.1110, {8, 1},
0b0000.1111, {8, -1},
0b0000.1010, {9, 1},
0b0000.1011, {9, -1},
0b0000.01, {unsigned int(6), int(8)},
0b0010.0110.0, {0, 5},
0b0010.0110.1, {0, -5},
0b0010.0001.0, {0, 6},
0b0010.0001.1, {0, -6},
0b0010.0101.0, {1, 3},
0b0010.0101.1, {1, -3},
0b0010.0100.0, {3, 2},
0b0010.0100.1, {3, -2},
0b0010.0111.0, {10, 1},
0b0010.0111.1, {10, -1},
0b0010.0011.0, {11, 1},
0b0010.0011.1, {11, -1},
0b0010.0010.0, {12, 1},
0b0010.0010.1, {12, -1},
0b0010.0000.0, {13, 1},
0b0010.0000.1, {13, -1},
0b0000.0010.100, {0, 7},
0b0000.0010.101, {0, -7},
0b0000.0011.000, {1, 4},
0b0000.0011.001, {1, -4},
0b0000.0010.110, {2, 3},
0b0000.0010.111, {2, -3},
0b0000.0011.110, {4, 2},
0b0000.0011.111, {4, -2},
0b0000.0010.010, {5, 2},
0b0000.0010.011, {5, -2},
0b0000.0011.100, {14, 1},
0b0000.0011.101, {14, -1},
0b0000.0011.010, {15, 1},
0b0000.0011.011, {15, -1},
0b0000.0010.000, {16, 1},
0b0000.0010.001, {16, -1},
0b0000.0001.1101.0, {0, 8},
0b0000.0001.1101.1, {0, -8},
0b0000.0001.1000.0, {0, 9},
0b0000.0001.1000.1, {0, -9},
0b0000.0001.0011.0, {0, 10},
0b0000.0001.0011.1, {0, -10},
0b0000.0001.0000.0, {0, 11},
0b0000.0001.0000.1, {0, -11},
0b0000.0001.1011.0, {1, 5},
0b0000.0001.1011.1, {1, -5},
0b0000.0001.0100.0, {2, 4},
0b0000.0001.0100.1, {2, -4},
0b0000.0001.1100.0, {3, 3},
0b0000.0001.1100.1, {3, -3},
0b0000.0001.0010.0, {4, 3},
0b0000.0001.0010.1, {4, -3},
0b0000.0001.1110.0, {6, 2},
0b0000.0001.1110.1, {6, -2},
0b0000.0001.0101.0, {7, 2},
0b0000.0001.0101.1, {7, -2},
0b0000.0001.0001.0, {8, 2},
0b0000.0001.0001.1, {8, -2},
0b0000.0001.1111.0, {17, 1},
0b0000.0001.1111.1, {17, -1},
0b0000.0001.1010.0, {18, 1},
0b0000.0001.1010.1, {18, -1},
0b0000.0001.1001.0, {19, 1},
0b0000.0001.1001.1, {19, -1},
0b0000.0001.0111.0, {20, 1},
0b0000.0001.0111.1, {20, -1},
0b0000.0001.0110.0, {21, 1},
0b0000.0001.0110.1, {21, -1},
0b0000.0000.1101.00, {0, 12},
0b0000.0000.1101.01, {0, -12},
0b0000.0000.1100.10, {0, 13},
0b0000.0000.1100.11, {0, -13},
0b0000.0000.1100.00, {0, 14},
0b0000.0000.1100.01, {0, -14},
0b0000.0000.1011.10, {0, 15},
0b0000.0000.1011.11, {0, -15},
0b0000.0000.1011.00, {1, 6},
0b0000.0000.1011.01, {1, -6},
0b0000.0000.1010.10, {1, 7},
0b0000.0000.1010.11, {1, -7},
0b0000.0000.1010.00, {2, 5},
0b0000.0000.1010.01, {2, -5},
0b0000.0000.1001.10, {3, 4},
0b0000.0000.1001.11, {3, -4},
0b0000.0000.1001.00, {5, 3},
0b0000.0000.1001.01, {5, -3},
0b0000.0000.1000.10, {9, 2},
0b0000.0000.1000.11, {9, -2},
0b0000.0000.1000.00, {10, 2},
0b0000.0000.1000.01, {10, -2},
0b0000.0000.1111.10, {22, 1},
0b0000.0000.1111.11, {22, -1},
0b0000.0000.1111.00, {23, 1},
0b0000.0000.1111.01, {23, -1},
0b0000.0000.1110.10, {24, 1},
0b0000.0000.1110.11, {24, -1},
0b0000.0000.1110.00, {25, 1},
0b0000.0000.1110.01, {25, -1},
0b0000.0000.1101.10, {26, 1},
0b0000.0000.1101.11, {26, -1},
0b0000.0000.0111.110, {0, 16},
0b0000.0000.0111.111, {0, -16},
0b0000.0000.0111.100, {0, 17},
0b0000.0000.0111.101, {0, -17},
0b0000.0000.0111.010, {0, 18},
0b0000.0000.0111.011, {0, -18},
0b0000.0000.0111.000, {0, 19},
0b0000.0000.0111.001, {0, -19},
0b0000.0000.0110.110, {0, 20},
0b0000.0000.0110.111, {0, -20},
0b0000.0000.0110.100, {0, 21},
0b0000.0000.0110.101, {0, -21},
0b0000.0000.0110.010, {0, 22},
0b0000.0000.0110.011, {0, -22},
0b0000.0000.0110.000, {0, 23},
0b0000.0000.0110.001, {0, -23},
0b0000.0000.0101.110, {0, 24},
0b0000.0000.0101.111, {0, -24},
0b0000.0000.0101.100, {0, 25},
0b0000.0000.0101.101, {0, -25},
0b0000.0000.0101.010, {0, 26},
0b0000.0000.0101.011, {0, -26},
0b0000.0000.0101.000, {0, 27},
0b0000.0000.0101.001, {0, -27},
0b0000.0000.0100.110, {0, 28},
0b0000.0000.0100.111, {0, -28},
0b0000.0000.0100.100, {0, 29},
0b0000.0000.0100.101, {0, -29},
0b0000.0000.0100.010, {0, 30},
0b0000.0000.0100.011, {0, -30},
0b0000.0000.0100.000, {0, 31},
0b0000.0000.0100.001, {0, -31},
0b0000.0000.0011.0000, {0, 32},
0b0000.0000.0011.0001, {0, -32},
0b0000.0000.0010.1110, {0, 33},
0b0000.0000.0010.1111, {0, -33},
0b0000.0000.0010.1100, {0, 34},
0b0000.0000.0010.1101, {0, -34},
0b0000.0000.0010.1010, {0, 35},
0b0000.0000.0010.1011, {0, -35},
0b0000.0000.0010.1000, {0, 36},
0b0000.0000.0010.1001, {0, -36},
0b0000.0000.0010.0110, {0, 37},
0b0000.0000.0010.0111, {0, -37},
0b0000.0000.0010.0100, {0, 38},
0b0000.0000.0010.0101, {0, -38},
0b0000.0000.0010.0010, {0, 39},
0b0000.0000.0010.0011, {0, -39},
0b0000.0000.0010.0000, {0, 40},
0b0000.0000.0010.0001, {0, -40},
0b0000.0000.0011.1110, {1, 8},
0b0000.0000.0011.1111, {1, -8},
0b0000.0000.0011.1100, {1, 9},
0b0000.0000.0011.1101, {1, -9},
0b0000.0000.0011.1010, {1, 10},
0b0000.0000.0011.1011, {1, -10},
0b0000.0000.0011.1000, {1, 11},
0b0000.0000.0011.1001, {1, -11},
0b0000.0000.0011.0110, {1, 12},
0b0000.0000.0011.0111, {1, -12},
0b0000.0000.0011.0100, {1, 13},
0b0000.0000.0011.0101, {1, -13},
0b0000.0000.0011.0010, {1, 14},
0b0000.0000.0011.0011, {1, -14},
0b0000.0000.0001.0011.0, {1, 15},
0b0000.0000.0001.0011.1, {1, -15},
0b0000.0000.0001.0010.0, {1, 16},
0b0000.0000.0001.0010.1, {1, -16},
0b0000.0000.0001.0001.0, {1, 17},
0b0000.0000.0001.0001.1, {1, -17},
0b0000.0000.0001.0000.0, {1, 18},
0b0000.0000.0001.0000.1, {1, -18},
0b0000.0000.0001.0100.0, {6, 3},
0b0000.0000.0001.0100.1, {6, -3},
0b0000.0000.0001.1010.0, {11, 2},
0b0000.0000.0001.1010.1, {11, -2},
0b0000.0000.0001.1001.0, {12, 2},
0b0000.0000.0001.1001.1, {12, -2},
0b0000.0000.0001.1000.0, {13, 2},
0b0000.0000.0001.1000.1, {13, -2},
0b0000.0000.0001.0111.0, {14, 2},
0b0000.0000.0001.0111.1, {14, -2},
0b0000.0000.0001.0110.0, {15, 2},
0b0000.0000.0001.0110.1, {15, -2},
0b0000.0000.0001.0101.0, {16, 2},
0b0000.0000.0001.0101.1, {16, -2},
0b0000.0000.0001.1111.0, {27, 1},
0b0000.0000.0001.1111.1, {27, -1},
0b0000.0000.0001.1110.0, {28, 1},
0b0000.0000.0001.1110.1, {28, -1},
0b0000.0000.0001.1101.0, {29, 1},
0b0000.0000.0001.1101.1, {29, -1},
0b0000.0000.0001.1100.0, {30, 1},
0b0000.0000.0001.1100.1, {30, -1},
0b0000.0000.0001.1011.0, {31, 1},
0b0000.0000.0001.1011.1, {31, -1}
}
map NextCoeffTable(DCTCoeff) {
0b110, {0, 1},
0b111, {0, -1},
0b0110, {1, 1},
0b0111, {1, -1},
0b0100.0, {0, 2},
0b0100.1, {0, -2},
0b0101.0, {2, 1},
0b0101.1, {2, -1},
0b0010.10, {0, 3},
0b0010.11, {0, -3},
0b0011.10, {3, 1},
0b0011.11, {3, -1},
0b0011.00, {4, 1},
0b0011.01, {4, -1},
0b0001.100, {1, 2},
0b0001.101, {1, -2},
0b0001.110, {5, 1},
0b0001.111, {5, -1},
0b0001.010, {6, 1},
0b0001.011, {6, -1},
0b0001.000, {7, 1},
0b0001.001, {7, -1},
0b0000.1100, {0, 4},
0b0000.1101, {0, -4},
0b0000.1000, {2, 2},
0b0000.1001, {2, -2},
0b0000.1110, {8, 1},
0b0000.1111, {8, -1},
0b0000.1010, {9, 1},
0b0000.1011, {9, -1},
0b0000.01, {unsigned int(6), int(8)},
0b0010.0110.0, {0, 5},
0b0010.0110.1, {0, -5},
0b0010.0001.0, {0, 6},
0b0010.0001.1, {0, -6},
0b0010.0101.0, {1, 3},
0b0010.0101.1, {1, -3},
0b0010.0100.0, {3, 2},
0b0010.0100.1, {3, -2},
0b0010.0111.0, {10, 1},
0b0010.0111.1, {10, -1},
0b0010.0011.0, {11, 1},
0b0010.0011.1, {11, -1},
0b0010.0010.0, {12, 1},
0b0010.0010.1, {12, -1},
0b0010.0000.0, {13, 1},
0b0010.0000.1, {13, -1},
0b0000.0010.100, {0, 7},
0b0000.0010.101, {0, -7},
0b0000.0011.000, {1, 4},
0b0000.0011.001, {1, -4},
0b0000.0010.110, {2, 3},
0b0000.0010.111, {2, -3},
0b0000.0011.110, {4, 2},
0b0000.0011.111, {4, -2},
0b0000.0010.010, {5, 2},
0b0000.0010.011, {5, -2},
0b0000.0011.100, {14, 1},
0b0000.0011.101, {14, -1},
0b0000.0011.010, {15, 1},
0b0000.0011.011, {15, -1},
0b0000.0010.000, {16, 1},
0b0000.0010.001, {16, -1},
0b0000.0001.1101.0, {0, 8},
0b0000.0001.1101.1, {0, -8},
0b0000.0001.1000.0, {0, 9},
0b0000.0001.1000.1, {0, -9},
0b0000.0001.0011.0, {0, 10},
0b0000.0001.0011.1, {0, -10},
0b0000.0001.0000.0, {0, 11},
0b0000.0001.0000.1, {0, -11},
0b0000.0001.1011.0, {1, 5},
0b0000.0001.1011.1, {1, -5},
0b0000.0001.0100.0, {2, 4},
0b0000.0001.0100.1, {2, -4},
0b0000.0001.1100.0, {3, 3},
0b0000.0001.1100.1, {3, -3},
0b0000.0001.0010.0, {4, 3},
0b0000.0001.0010.1, {4, -3},
0b0000.0001.1110.0, {6, 2},
0b0000.0001.1110.1, {6, -2},
0b0000.0001.0101.0, {7, 2},
0b0000.0001.0101.1, {7, -2},
0b0000.0001.0001.0, {8, 2},
0b0000.0001.0001.1, {8, -2},
0b0000.0001.1111.0, {17, 1},
0b0000.0001.1111.1, {17, -1},
0b0000.0001.1010.0, {18, 1},
0b0000.0001.1010.1, {18, -1},
0b0000.0001.1001.0, {19, 1},
0b0000.0001.1001.1, {19, -1},
0b0000.0001.0111.0, {20, 1},
0b0000.0001.0111.1, {20, -1},
0b0000.0001.0110.0, {21, 1},
0b0000.0001.0110.1, {21, -1},
0b0000.0000.1101.00, {0, 12},
0b0000.0000.1101.01, {0, -12},
0b0000.0000.1100.10, {0, 13},
0b0000.0000.1100.11, {0, -13},
0b0000.0000.1100.00, {0, 14},
0b0000.0000.1100.01, {0, -14},
0b0000.0000.1011.10, {0, 15},
0b0000.0000.1011.11, {0, -15},
0b0000.0000.1011.00, {1, 6},
0b0000.0000.1011.01, {1, -6},
0b0000.0000.1010.10, {1, 7},
0b0000.0000.1010.11, {1, -7},
0b0000.0000.1010.00, {2, 5},
0b0000.0000.1010.01, {2, -5},
0b0000.0000.1001.10, {3, 4},
0b0000.0000.1001.11, {3, -4},
0b0000.0000.1001.00, {5, 3},
0b0000.0000.1001.01, {5, -3},
0b0000.0000.1000.10, {9, 2},
0b0000.0000.1000.11, {9, -2},
0b0000.0000.1000.00, {10, 2},
0b0000.0000.1000.01, {10, -2},
0b0000.0000.1111.10, {22, 1},
0b0000.0000.1111.11, {22, -1},
0b0000.0000.1111.00, {23, 1},
0b0000.0000.1111.01, {23, -1},
0b0000.0000.1110.10, {24, 1},
0b0000.0000.1110.11, {24, -1},
0b0000.0000.1110.00, {25, 1},
0b0000.0000.1110.01, {25, -1},
0b0000.0000.1101.10, {26, 1},
0b0000.0000.1101.11, {26, -1},
0b0000.0000.0111.110, {0, 16},
0b0000.0000.0111.111, {0, -16},
0b0000.0000.0111.100, {0, 17},
0b0000.0000.0111.101, {0, -17},
0b0000.0000.0111.010, {0, 18},
0b0000.0000.0111.011, {0, -18},
0b0000.0000.0111.000, {0, 19},
0b0000.0000.0111.001, {0, -19},
0b0000.0000.0110.110, {0, 20},
0b0000.0000.0110.111, {0, -20},
0b0000.0000.0110.100, {0, 21},
0b0000.0000.0110.101, {0, -21},
0b0000.0000.0110.010, {0, 22},
0b0000.0000.0110.011, {0, -22},
0b0000.0000.0110.000, {0, 23},
0b0000.0000.0110.001, {0, -23},
0b0000.0000.0101.110, {0, 24},
0b0000.0000.0101.111, {0, -24},
0b0000.0000.0101.100, {0, 25},
0b0000.0000.0101.101, {0, -25},
0b0000.0000.0101.010, {0, 26},
0b0000.0000.0101.011, {0, -26},
0b0000.0000.0101.000, {0, 27},
0b0000.0000.0101.001, {0, -27},
0b0000.0000.0100.110, {0, 28},
0b0000.0000.0100.111, {0, -28},
0b0000.0000.0100.100, {0, 29},
0b0000.0000.0100.101, {0, -29},
0b0000.0000.0100.010, {0, 30},
0b0000.0000.0100.011, {0, -30},
0b0000.0000.0100.000, {0, 31},
0b0000.0000.0100.001, {0, -31},
0b0000.0000.0011.0000, {0, 32},
0b0000.0000.0011.0001, {0, -32},
0b0000.0000.0010.1110, {0, 33},
0b0000.0000.0010.1111, {0, -33},
0b0000.0000.0010.1100, {0, 34},
0b0000.0000.0010.1101, {0, -34},
0b0000.0000.0010.1010, {0, 35},
0b0000.0000.0010.1011, {0, -35},
0b0000.0000.0010.1000, {0, 36},
0b0000.0000.0010.1001, {0, -36},
0b0000.0000.0010.0110, {0, 37},
0b0000.0000.0010.0111, {0, -37},
0b0000.0000.0010.0100, {0, 38},
0b0000.0000.0010.0101, {0, -38},
0b0000.0000.0010.0010, {0, 39},
0b0000.0000.0010.0011, {0, -39},
0b0000.0000.0010.0000, {0, 40},
0b0000.0000.0010.0001, {0, -40},
0b0000.0000.0011.1110, {1, 8},
0b0000.0000.0011.1111, {1, -8},
0b0000.0000.0011.1100, {1, 9},
0b0000.0000.0011.1101, {1, -9},
0b0000.0000.0011.1010, {1, 10},
0b0000.0000.0011.1011, {1, -10},
0b0000.0000.0011.1000, {1, 11},
0b0000.0000.0011.1001, {1, -11},
0b0000.0000.0011.0110, {1, 12},
0b0000.0000.0011.0111, {1, -12},
0b0000.0000.0011.0100, {1, 13},
0b0000.0000.0011.0101, {1, -13},
0b0000.0000.0011.0010, {1, 14},
0b0000.0000.0011.0011, {1, -14},
0b0000.0000.0001.0011.0, {1, 15},
0b0000.0000.0001.0011.1, {1, -15},
0b0000.0000.0001.0010.0, {1, 16},
0b0000.0000.0001.0010.1, {1, -16},
0b0000.0000.0001.0001.0, {1, 17},
0b0000.0000.0001.0001.1, {1, -17},
0b0000.0000.0001.0000.0, {1, 18},
0b0000.0000.0001.0000.1, {1, -18},
0b0000.0000.0001.0100.0, {6, 3},
0b0000.0000.0001.0100.1, {6, -3},
0b0000.0000.0001.1010.0, {11, 2},
0b0000.0000.0001.1010.1, {11, -2},
0b0000.0000.0001.1001.0, {12, 2},
0b0000.0000.0001.1001.1, {12, -2},
0b0000.0000.0001.1000.0, {13, 2},
0b0000.0000.0001.1000.1, {13, -2},
0b0000.0000.0001.0111.0, {14, 2},
0b0000.0000.0001.0111.1, {14, -2},
0b0000.0000.0001.0110.0, {15, 2},
0b0000.0000.0001.0110.1, {15, -2},
0b0000.0000.0001.0101.0, {16, 2},
0b0000.0000.0001.0101.1, {16, -2},
0b0000.0000.0001.1111.0, {27, 1},
0b0000.0000.0001.1111.1, {27, -1},
0b0000.0000.0001.1110.0, {28, 1},
0b0000.0000.0001.1110.1, {28, -1},
0b0000.0000.0001.1101.0, {29, 1},
0b0000.0000.0001.1101.1, {29, -1},
0b0000.0000.0001.1100.0, {30, 1},
0b0000.0000.0001.1100.1, {30, -1},
0b0000.0000.0001.1011.0, {31, 1},
0b0000.0000.0001.1011.1, {31, -1}
}
|