All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sourceforge.jaad.aac.ps.PSHuffmanTables Maven / Gradle / Ivy

There is a newer version: 0.2.5
Show newest version
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 */};
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy