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 */};
}