package net.sourceforge.jaad.aac.ps; /** * This class is part of JAAD ( jaadec.sourceforge.net ) that is distributed * under the Public Domain license. Code changes provided by the JCodec project * are distributed under FreeBSD license. * * @author in-somnia */ interface PSHuffmanTables { /* binary lookup huffman tables */ int[][] f_huff_iid_def = { { /*0*/-31, 1}, /* index 0: 1 bits: x */ {2, 3}, /* index 1: 2 bits: 1x */ { /*1*/-30, /*-1*/ -32}, /* index 2: 3 bits: 10x */ {4, 5}, /* index 3: 3 bits: 11x */ { /*2*/-29, /*-2*/ -33}, /* index 4: 4 bits: 110x */ {6, 7}, /* index 5: 4 bits: 111x */ { /*3*/-28, /*-3*/ -34}, /* index 6: 5 bits: 1110x */ {8, 9}, /* index 7: 5 bits: 1111x */ { /*-4*/-35, /*4*/ -27}, /* index 8: 6 bits: 11110x */ { /*5*/-26, 10}, /* index 9: 6 bits: 11111x */ { /*-5*/-36, 11}, /* index 10: 7 bits: 111111x */ { /*6*/-25, 12}, /* index 11: 8 bits: 1111111x */ { /*-6*/-37, 13}, /* index 12: 9 bits: 11111111x */ { /*-7*/-38, 14}, /* index 13: 10 bits: 111111111x */ { /*7*/-24, 15}, /* index 14: 11 bits: 1111111111x */ {16, 17}, /* index 15: 12 bits: 11111111111x */ { /*8*/-23, /*-8*/ -39}, /* index 16: 13 bits: 111111111110x */ {18, 19}, /* index 17: 13 bits: 111111111111x */ { /*9*/-22, /*10*/ -21}, /* index 18: 14 bits: 1111111111110x */ {20, 21}, /* index 19: 14 bits: 1111111111111x */ { /*-9*/-40, /*11*/ -20}, /* index 20: 15 bits: 11111111111110x */ {22, 23}, /* index 21: 15 bits: 11111111111111x */ { /*-10*/-41, 24}, /* index 22: 16 bits: 111111111111110x */ {25, 26}, /* index 23: 16 bits: 111111111111111x */ { /*-11*/-42, /*-14*/ -45}, /* index 24: 17 bits: 1111111111111101x */ { /*-13*/-44, /*-12*/ -43}, /* index 25: 17 bits: 1111111111111110x */ { /*12*/-19, 27}, /* index 26: 17 bits: 1111111111111111x */ { /*13*/-18, /*14*/ -17} /* index 27: 18 bits: 11111111111111111x */}; int[][] t_huff_iid_def = { { /*0*/-31, 1}, /* index 0: 1 bits: x */ { /*-1*/-32, 2}, /* index 1: 2 bits: 1x */ { /*1*/-30, 3}, /* index 2: 3 bits: 11x */ { /*-2*/-33, 4}, /* index 3: 4 bits: 111x */ { /*2*/-29, 5}, /* index 4: 5 bits: 1111x */ { /*-3*/-34, 6}, /* index 5: 6 bits: 11111x */ { /*3*/-28, 7}, /* index 6: 7 bits: 111111x */ { /*-4*/-35, 8}, /* index 7: 8 bits: 1111111x */ { /*4*/-27, 9}, /* index 8: 9 bits: 11111111x */ { /*-5*/-36, 10}, /* index 9: 10 bits: 111111111x */ { /*5*/-26, 11}, /* index 10: 11 bits: 1111111111x */ { /*-6*/-37, 12}, /* index 11: 12 bits: 11111111111x */ { /*6*/-25, 13}, /* index 12: 13 bits: 111111111111x */ { /*7*/-24, 14}, /* index 13: 14 bits: 1111111111111x */ { /*-7*/-38, 15}, /* index 14: 15 bits: 11111111111111x */ {16, 17}, /* index 15: 16 bits: 111111111111111x */ { /*8*/-23, /*-8*/ -39}, /* index 16: 17 bits: 1111111111111110x */ {18, 19}, /* index 17: 17 bits: 1111111111111111x */ {20, 21}, /* index 18: 18 bits: 11111111111111110x */ {22, 23}, /* index 19: 18 bits: 11111111111111111x */ { /*9*/-22, /*-14*/ -45}, /* index 20: 19 bits: 111111111111111100x */ { /*-13*/-44, /*-12*/ -43}, /* index 21: 19 bits: 111111111111111101x */ {24, 25}, /* index 22: 19 bits: 111111111111111110x */ {26, 27}, /* index 23: 19 bits: 111111111111111111x */ { /*-11*/-42, /*-10*/ -41}, /* index 24: 20 bits: 1111111111111111100x */ { /*-9*/-40, /*10*/ -21}, /* index 25: 20 bits: 1111111111111111101x */ { /*11*/-20, /*12*/ -19}, /* index 26: 20 bits: 1111111111111111110x */ { /*13*/-18, /*14*/ -17} /* index 27: 20 bits: 1111111111111111111x */}; int[][] f_huff_iid_fine = { {1, /*0*/ -31}, /* index 0: 1 bits: x */ {2, 3}, /* index 1: 2 bits: 0x */ {4, /*-1*/ -32}, /* index 2: 3 bits: 00x */ { /*1*/-30, 5}, /* index 3: 3 bits: 01x */ { /*-2*/-33, /*2*/ -29}, /* index 4: 4 bits: 000x */ {6, 7}, /* index 5: 4 bits: 011x */ { /*-3*/-34, /*3*/ -28}, /* index 6: 5 bits: 0110x */ {8, 9}, /* index 7: 5 bits: 0111x */ { /*-4*/-35, /*4*/ -27}, /* index 8: 6 bits: 01110x */ {10, 11}, /* index 9: 6 bits: 01111x */ { /*-5*/-36, /*5*/ -26}, /* index 10: 7 bits: 011110x */ {12, 13}, /* index 11: 7 bits: 011111x */ { /*-6*/-37, /*6*/ -25}, /* index 12: 8 bits: 0111110x */ {14, 15}, /* index 13: 8 bits: 0111111x */ { /*7*/-24, 16}, /* index 14: 9 bits: 01111110x */ {17, 18}, /* index 15: 9 bits: 01111111x */ {19, /*-8*/ -39}, /* index 16: 10 bits: 011111101x */ { /*8*/-23, 20}, /* index 17: 10 bits: 011111110x */ {21, /*-7*/ -38}, /* index 18: 10 bits: 011111111x */ { /*10*/-21, 22}, /* index 19: 11 bits: 0111111010x */ {23, /*-9*/ -40}, /* index 20: 11 bits: 0111111101x */ { /*9*/-22, 24}, /* index 21: 11 bits: 0111111110x */ { /*-11*/-42, /*11*/ -20}, /* index 22: 12 bits: 01111110101x */ {25, 26}, /* index 23: 12 bits: 01111111010x */ {27, /*-10*/ -41}, /* index 24: 12 bits: 01111111101x */ {28, /*-12*/ -43}, /* index 25: 13 bits: 011111110100x */ { /*12*/-19, 29}, /* index 26: 13 bits: 011111110101x */ {30, 31}, /* index 27: 13 bits: 011111111010x */ {32, /*-14*/ -45}, /* index 28: 14 bits: 0111111101000x */ { /*14*/-17, 33}, /* index 29: 14 bits: 0111111101011x */ {34, /*-13*/ -44}, /* index 30: 14 bits: 0111111110100x */ { /*13*/-18, 35}, /* index 31: 14 bits: 0111111110101x */ {36, 37}, /* index 32: 15 bits: 01111111010000x */ {38, /*-15*/ -46}, /* index 33: 15 bits: 01111111010111x */ { /*15*/-16, 39}, /* index 34: 15 bits: 01111111101000x */ {40, 41}, /* index 35: 15 bits: 01111111101011x */ {42, 43}, /* index 36: 16 bits: 011111110100000x */ { /*-17*/-48, /*17*/ -14}, /* index 37: 16 bits: 011111110100001x */ {44, 45}, /* index 38: 16 bits: 011111110101110x */ {46, 47}, /* index 39: 16 bits: 011111111010001x */ {48, 49}, /* index 40: 16 bits: 011111111010110x */ { /*-16*/-47, /*16*/ -15}, /* index 41: 16 bits: 011111111010111x */ { /*-21*/-52, /*21*/ -10}, /* index 42: 17 bits: 0111111101000000x */ { /*-19*/-50, /*19*/ -12}, /* index 43: 17 bits: 0111111101000001x */ { /*-18*/-49, /*18*/ -13}, /* index 44: 17 bits: 0111111101011100x */ {50, 51}, /* index 45: 17 bits: 0111111101011101x */ {52, 53}, /* index 46: 17 bits: 0111111110100010x */ {54, 55}, /* index 47: 17 bits: 0111111110100011x */ {56, 57}, /* index 48: 17 bits: 0111111110101100x */ {58, 59}, /* index 49: 17 bits: 0111111110101101x */ { /*-26*/-57, /*-25*/ -56}, /* index 50: 18 bits: 01111111010111010x */ { /*-28*/-59, /*-27*/ -58}, /* index 51: 18 bits: 01111111010111011x */ { /*-22*/-53, /*22*/ -9}, /* index 52: 18 bits: 01111111101000100x */ { /*-24*/-55, /*-23*/ -54}, /* index 53: 18 bits: 01111111101000101x */ { /*25*/-6, /*26*/ -5}, /* index 54: 18 bits: 01111111101000110x */ { /*23*/-8, /*24*/ -7}, /* index 55: 18 bits: 01111111101000111x */ { /*29*/-2, /*30*/ -1}, /* index 56: 18 bits: 01111111101011000x */ { /*27*/-4, /*28*/ -3}, /* index 57: 18 bits: 01111111101011001x */ { /*-30*/-61, /*-29*/ -60}, /* index 58: 18 bits: 01111111101011010x */ { /*-20*/-51, /*20*/ -11} /* index 59: 18 bits: 01111111101011011x */}; int[][] t_huff_iid_fine = { {1, /*0*/ -31}, /* index 0: 1 bits: x */ { /*1*/-30, 2}, /* index 1: 2 bits: 0x */ {3, /*-1*/ -32}, /* index 2: 3 bits: 01x */ {4, 5}, /* index 3: 4 bits: 010x */ {6, 7}, /* index 4: 5 bits: 0100x */ { /*-2*/-33, /*2*/ -29}, /* index 5: 5 bits: 0101x */ {8, /*-3*/ -34}, /* index 6: 6 bits: 01000x */ { /*3*/-28, 9}, /* index 7: 6 bits: 01001x */ { /*-4*/-35, /*4*/ -27}, /* index 8: 7 bits: 010000x */ {10, 11}, /* index 9: 7 bits: 010011x */ { /*5*/-26, 12}, /* index 10: 8 bits: 0100110x */ {13, 14}, /* index 11: 8 bits: 0100111x */ { /*-6*/-37, /*6*/ -25}, /* index 12: 9 bits: 01001101x */ {15, 16}, /* index 13: 9 bits: 01001110x */ {17, /*-5*/ -36}, /* index 14: 9 bits: 01001111x */ {18, /*-7*/ -38}, /* index 15: 10 bits: 010011100x */ { /*7*/-24, 19}, /* index 16: 10 bits: 010011101x */ {20, 21}, /* index 17: 10 bits: 010011110x */ { /*9*/-22, 22}, /* index 18: 11 bits: 0100111000x */ {23, 24}, /* index 19: 11 bits: 0100111011x */ { /*-8*/-39, /*8*/ -23}, /* index 20: 11 bits: 0100111100x */ {25, 26}, /* index 21: 11 bits: 0100111101x */ { /*11*/-20, 27}, /* index 22: 12 bits: 01001110001x */ {28, 29}, /* index 23: 12 bits: 01001110110x */ { /*-10*/-41, /*10*/ -21}, /* index 24: 12 bits: 01001110111x */ {30, 31}, /* index 25: 12 bits: 01001111010x */ {32, /*-9*/ -40}, /* index 26: 12 bits: 01001111011x */ {33, /*-13*/ -44}, /* index 27: 13 bits: 010011100011x */ { /*13*/-18, 34}, /* index 28: 13 bits: 010011101100x */ {35, 36}, /* index 29: 13 bits: 010011101101x */ {37, /*-12*/ -43}, /* index 30: 13 bits: 010011110100x */ { /*12*/-19, 38}, /* index 31: 13 bits: 010011110101x */ {39, /*-11*/ -42}, /* index 32: 13 bits: 010011110110x */ {40, 41}, /* index 33: 14 bits: 0100111000110x */ {42, 43}, /* index 34: 14 bits: 0100111011001x */ {44, 45}, /* index 35: 14 bits: 0100111011010x */ {46, /*-15*/ -46}, /* index 36: 14 bits: 0100111011011x */ { /*15*/-16, 47}, /* index 37: 14 bits: 0100111101000x */ { /*-14*/-45, /*14*/ -17}, /* index 38: 14 bits: 0100111101011x */ {48, 49}, /* index 39: 14 bits: 0100111101100x */ { /*-21*/-52, /*-20*/ -51}, /* index 40: 15 bits: 01001110001100x */ { /*18*/-13, /*19*/ -12}, /* index 41: 15 bits: 01001110001101x */ { /*-19*/-50, /*-18*/ -49}, /* index 42: 15 bits: 01001110110010x */ {50, 51}, /* index 43: 15 bits: 01001110110011x */ {52, 53}, /* index 44: 15 bits: 01001110110100x */ {54, 55}, /* index 45: 15 bits: 01001110110101x */ {56, /*-17*/ -48}, /* index 46: 15 bits: 01001110110110x */ { /*17*/-14, 57}, /* index 47: 15 bits: 01001111010001x */ {58, /*-16*/ -47}, /* index 48: 15 bits: 01001111011000x */ { /*16*/-15, 59}, /* index 49: 15 bits: 01001111011001x */ { /*-26*/-57, /*26*/ -5}, /* index 50: 16 bits: 010011101100110x */ { /*-28*/-59, /*-27*/ -58}, /* index 51: 16 bits: 010011101100111x */ { /*29*/-2, /*30*/ -1}, /* index 52: 16 bits: 010011101101000x */ { /*27*/-4, /*28*/ -3}, /* index 53: 16 bits: 010011101101001x */ { /*-30*/-61, /*-29*/ -60}, /* index 54: 16 bits: 010011101101010x */ { /*-25*/-56, /*25*/ -6}, /* index 55: 16 bits: 010011101101011x */ { /*-24*/-55, /*24*/ -7}, /* index 56: 16 bits: 010011101101100x */ { /*-23*/-54, /*23*/ -8}, /* index 57: 16 bits: 010011110100011x */ { /*-22*/-53, /*22*/ -9}, /* index 58: 16 bits: 010011110110000x */ { /*20*/-11, /*21*/ -10} /* index 59: 16 bits: 010011110110011x */}; int[][] f_huff_icc = { { /*0*/-31, 1}, /* index 0: 1 bits: x */ { /*1*/-30, 2}, /* index 1: 2 bits: 1x */ { /*-1*/-32, 3}, /* index 2: 3 bits: 11x */ { /*2*/-29, 4}, /* index 3: 4 bits: 111x */ { /*-2*/-33, 5}, /* index 4: 5 bits: 1111x */ { /*3*/-28, 6}, /* index 5: 6 bits: 11111x */ { /*-3*/-34, 7}, /* index 6: 7 bits: 111111x */ { /*4*/-27, 8}, /* index 7: 8 bits: 1111111x */ { /*5*/-26, 9}, /* index 8: 9 bits: 11111111x */ { /*-4*/-35, 10}, /* index 9: 10 bits: 111111111x */ { /*6*/-25, 11}, /* index 10: 11 bits: 1111111111x */ { /*-5*/-36, 12}, /* index 11: 12 bits: 11111111111x */ { /*7*/-24, 13}, /* index 12: 13 bits: 111111111111x */ { /*-6*/-37, /*-7*/ -38} /* index 13: 14 bits: 1111111111111x */}; int[][] t_huff_icc = { { /*0*/-31, 1}, /* index 0: 1 bits: x */ { /*1*/-30, 2}, /* index 1: 2 bits: 1x */ { /*-1*/-32, 3}, /* index 2: 3 bits: 11x */ { /*2*/-29, 4}, /* index 3: 4 bits: 111x */ { /*-2*/-33, 5}, /* index 4: 5 bits: 1111x */ { /*3*/-28, 6}, /* index 5: 6 bits: 11111x */ { /*-3*/-34, 7}, /* index 6: 7 bits: 111111x */ { /*4*/-27, 8}, /* index 7: 8 bits: 1111111x */ { /*-4*/-35, 9}, /* index 8: 9 bits: 11111111x */ { /*5*/-26, 10}, /* index 9: 10 bits: 111111111x */ { /*-5*/-36, 11}, /* index 10: 11 bits: 1111111111x */ { /*6*/-25, 12}, /* index 11: 12 bits: 11111111111x */ { /*-6*/-37, 13}, /* index 12: 13 bits: 111111111111x */ { /*-7*/-38, /*7*/ -24} /* index 13: 14 bits: 1111111111111x */}; int[][] f_huff_ipd = { {1, /*0*/ -31}, /* index 0: 1 bits: x */ {2, 3}, /* index 1: 2 bits: 0x */ { /*1*/-30, 4}, /* index 2: 3 bits: 00x */ {5, 6}, /* index 3: 3 bits: 01x */ { /*4*/-27, /*5*/ -26}, /* index 4: 4 bits: 001x */ { /*3*/-28, /*6*/ -25}, /* index 5: 4 bits: 010x */ { /*2*/-29, /*7*/ -24} /* index 6: 4 bits: 011x */}; int[][] t_huff_ipd = { {1, /*0*/ -31}, /* index 0: 1 bits: x */ {2, 3}, /* index 1: 2 bits: 0x */ {4, 5}, /* index 2: 3 bits: 00x */ { /*1*/-30, /*7*/ -24}, /* index 3: 3 bits: 01x */ { /*5*/-26, 6}, /* index 4: 4 bits: 000x */ { /*2*/-29, /*6*/ -25}, /* index 5: 4 bits: 001x */ { /*4*/-27, /*3*/ -28} /* index 6: 5 bits: 0001x */}; int[][] f_huff_opd = { {1, /*0*/ -31}, /* index 0: 1 bits: x */ {2, 3}, /* index 1: 2 bits: 0x */ { /*7*/-24, /*1*/ -30}, /* index 2: 3 bits: 00x */ {4, 5}, /* index 3: 3 bits: 01x */ { /*3*/-28, /*6*/ -25}, /* index 4: 4 bits: 010x */ { /*2*/-29, 6}, /* index 5: 4 bits: 011x */ { /*5*/-26, /*4*/ -27} /* index 6: 5 bits: 0111x */}; int[][] t_huff_opd = { {1, /*0*/ -31}, /* index 0: 1 bits: x */ {2, 3}, /* index 1: 2 bits: 0x */ {4, 5}, /* index 2: 3 bits: 00x */ { /*1*/-30, /*7*/ -24}, /* index 3: 3 bits: 01x */ { /*5*/-26, /*2*/ -29}, /* index 4: 4 bits: 000x */ { /*6*/-25, 6}, /* index 5: 4 bits: 001x */ { /*4*/-27, /*3*/ -28} /* index 6: 5 bits: 0011x */}; }