📄 hufftables.c
字号:
/*
* FAAD - Freeware Advanced Audio Decoder
* Copyright (C) 2001 Menno Bakker
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* $Id: hufftables.c,v 1.6 2002/01/09 22:25:41 wmay Exp $
*/
#include "all.h"
Huffman book1[] = {
/* idx codeword len codew x y v w */
{ /* 0: 0 */ 1, 0, 0, 0, 0, 0 },
{ /* 1: 1 0000 */ 5, 16, 1, 0, 0, 0 },
{ /* 2: 1 0001 */ 5, 17, -1, 0, 0, 0 },
{ /* 3: 1 0010 */ 5, 18, 0, 0, 0, -1 },
{ /* 4: 1 0011 */ 5, 19, 0, 1, 0, 0 },
{ /* 5: 1 0100 */ 5, 20, 0, 0, 0, 1 },
{ /* 6: 1 0101 */ 5, 21, 0, 0, -1, 0 },
{ /* 7: 1 0110 */ 5, 22, 0, 0, 1, 0 },
{ /* 8: 1 0111 */ 5, 23, 0, -1, 0, 0 },
{ /* 9: 110 0000 */ 7, 96, 1, -1, 0, 0 },
{ /* 10: 110 0001 */ 7, 97, -1, 1, 0, 0 },
{ /* 11: 110 0010 */ 7, 98, 0, 0, -1, 1 },
{ /* 12: 110 0011 */ 7, 99, 0, 1, -1, 0 },
{ /* 13: 110 0100 */ 7, 100, 0, -1, 1, 0 },
{ /* 14: 110 0101 */ 7, 101, 0, 0, 1, -1 },
{ /* 15: 110 0110 */ 7, 102, 1, 1, 0, 0 },
{ /* 16: 110 0111 */ 7, 103, 0, 0, -1, -1 },
{ /* 17: 110 1000 */ 7, 104, -1, -1, 0, 0 },
{ /* 18: 110 1001 */ 7, 105, 0, -1, -1, 0 },
{ /* 19: 110 1010 */ 7, 106, 1, 0, -1, 0 },
{ /* 20: 110 1011 */ 7, 107, 0, 1, 0, -1 },
{ /* 21: 110 1100 */ 7, 108, -1, 0, 1, 0 },
{ /* 22: 110 1101 */ 7, 109, 0, 0, 1, 1 },
{ /* 23: 110 1110 */ 7, 110, 1, 0, 1, 0 },
{ /* 24: 110 1111 */ 7, 111, 0, -1, 0, 1 },
{ /* 25: 111 0000 */ 7, 112, 0, 1, 1, 0 },
{ /* 26: 111 0001 */ 7, 113, 0, 1, 0, 1 },
{ /* 27: 111 0010 */ 7, 114, -1, 0, -1, 0 },
{ /* 28: 111 0011 */ 7, 115, 1, 0, 0, 1 },
{ /* 29: 111 0100 */ 7, 116, -1, 0, 0, -1 },
{ /* 30: 111 0101 */ 7, 117, 1, 0, 0, -1 },
{ /* 31: 111 0110 */ 7, 118, -1, 0, 0, 1 },
{ /* 32: 111 0111 */ 7, 119, 0, -1, 0, -1 },
{ /* 33: 1 1110 0000 */ 9, 480, 1, 1, -1, 0 },
{ /* 34: 1 1110 0001 */ 9, 481, -1, 1, -1, 0 },
{ /* 35: 1 1110 0010 */ 9, 482, 1, -1, 1, 0 },
{ /* 36: 1 1110 0011 */ 9, 483, 0, 1, 1, -1 },
{ /* 37: 1 1110 0100 */ 9, 484, 0, 1, -1, 1 },
{ /* 38: 1 1110 0101 */ 9, 485, 0, -1, 1, 1 },
{ /* 39: 1 1110 0110 */ 9, 486, 0, -1, 1, -1 },
{ /* 40: 1 1110 0111 */ 9, 487, 1, -1, -1, 0 },
{ /* 41: 1 1110 1000 */ 9, 488, 1, 0, -1, 1 },
{ /* 42: 1 1110 1001 */ 9, 489, 0, 1, -1, -1 },
{ /* 43: 1 1110 1010 */ 9, 490, -1, 1, 1, 0 },
{ /* 44: 1 1110 1011 */ 9, 491, -1, 0, 1, -1 },
{ /* 45: 1 1110 1100 */ 9, 492, -1, -1, 1, 0 },
{ /* 46: 1 1110 1101 */ 9, 493, 0, -1, -1, 1 },
{ /* 47: 1 1110 1110 */ 9, 494, 1, -1, 0, 1 },
{ /* 48: 1 1110 1111 */ 9, 495, 1, -1, 0, -1 },
{ /* 49: 1 1111 0000 */ 9, 496, -1, 1, 0, -1 },
{ /* 50: 1 1111 0001 */ 9, 497, -1, -1, -1, 0 },
{ /* 51: 1 1111 0010 */ 9, 498, 0, -1, -1, -1 },
{ /* 52: 1 1111 0011 */ 9, 499, 0, 1, 1, 1 },
{ /* 53: 1 1111 0100 */ 9, 500, 1, 0, 1, -1 },
{ /* 54: 1 1111 0101 */ 9, 501, 1, 1, 0, 1 },
{ /* 55: 1 1111 0110 */ 9, 502, -1, 1, 0, 1 },
{ /* 56: 1 1111 0111 */ 9, 503, 1, 1, 1, 0 },
{ /* 57: 11 1111 0000 */ 10, 1008, -1, -1, 0, 1 },
{ /* 58: 11 1111 0001 */ 10, 1009, -1, 0, -1, -1 },
{ /* 59: 11 1111 0010 */ 10, 1010, 1, 1, 0, -1 },
{ /* 60: 11 1111 0011 */ 10, 1011, 1, 0, -1, -1 },
{ /* 61: 11 1111 0100 */ 10, 1012, -1, 0, -1, 1 },
{ /* 62: 11 1111 0101 */ 10, 1013, -1, -1, 0, -1 },
{ /* 63: 11 1111 0110 */ 10, 1014, -1, 0, 1, 1 },
{ /* 64: 11 1111 0111 */ 10, 1015, 1, 0, 1, 1 },
{ /* 65: 111 1111 0000 */ 11, 2032, 1, -1, 1, -1 },
{ /* 66: 111 1111 0001 */ 11, 2033, -1, 1, -1, 1 },
{ /* 67: 111 1111 0010 */ 11, 2034, -1, 1, 1, -1 },
{ /* 68: 111 1111 0011 */ 11, 2035, 1, -1, -1, 1 },
{ /* 69: 111 1111 0100 */ 11, 2036, 1, 1, 1, 1 },
{ /* 70: 111 1111 0101 */ 11, 2037, -1, -1, 1, 1 },
{ /* 71: 111 1111 0110 */ 11, 2038, 1, 1, -1, -1 },
{ /* 72: 111 1111 0111 */ 11, 2039, -1, -1, 1, -1 },
{ /* 73: 111 1111 1000 */ 11, 2040, -1, -1, -1, -1 },
{ /* 74: 111 1111 1001 */ 11, 2041, 1, 1, -1, 1 },
{ /* 75: 111 1111 1010 */ 11, 2042, 1, -1, 1, 1 },
{ /* 76: 111 1111 1011 */ 11, 2043, -1, 1, 1, 1 },
{ /* 77: 111 1111 1100 */ 11, 2044, -1, 1, -1, -1 },
{ /* 78: 111 1111 1101 */ 11, 2045, -1, -1, -1, 1 },
{ /* 79: 111 1111 1110 */ 11, 2046, 1, -1, -1, -1 },
{ /* 80: 111 1111 1111 */ 11, 2047, 1, 1, 1, -1 }
};
Huffman book2[] = {
/* idx codeword len codew x y v w */
{ /* 0: 000 */ 3, 0, 0, 0, 0, 0 },
{ /* 1: 0010 */ 4, 2, 1, 0, 0, 0 },
{ /* 2: 0 0110 */ 5, 6, -1, 0, 0, 0 },
{ /* 3: 0 0111 */ 5, 7, 0, 0, 0, 1 },
{ /* 4: 0 1000 */ 5, 8, 0, 0, -1, 0 },
{ /* 5: 0 1001 */ 5, 9, 0, 0, 0, -1 },
{ /* 6: 0 1010 */ 5, 10, 0, -1, 0, 0 },
{ /* 7: 0 1011 */ 5, 11, 0, 0, 1, 0 },
{ /* 8: 0 1100 */ 5, 12, 0, 1, 0, 0 },
{ /* 9: 01 1010 */ 6, 26, 0, -1, 1, 0 },
{ /* 10: 01 1011 */ 6, 27, -1, 1, 0, 0 },
{ /* 11: 01 1100 */ 6, 28, 0, 1, -1, 0 },
{ /* 12: 01 1101 */ 6, 29, 0, 0, 1, -1 },
{ /* 13: 01 1110 */ 6, 30, 0, 1, 0, -1 },
{ /* 14: 01 1111 */ 6, 31, 0, 0, -1, 1 },
{ /* 15: 10 0000 */ 6, 32, -1, 0, 0, -1 },
{ /* 16: 10 0001 */ 6, 33, 1, -1, 0, 0 },
{ /* 17: 10 0010 */ 6, 34, 1, 0, -1, 0 },
{ /* 18: 10 0011 */ 6, 35, -1, -1, 0, 0 },
{ /* 19: 10 0100 */ 6, 36, 0, 0, -1, -1 },
{ /* 20: 10 0101 */ 6, 37, 1, 0, 1, 0 },
{ /* 21: 10 0110 */ 6, 38, 1, 0, 0, 1 },
{ /* 22: 10 0111 */ 6, 39, 0, -1, 0, 1 },
{ /* 23: 10 1000 */ 6, 40, -1, 0, 1, 0 },
{ /* 24: 10 1001 */ 6, 41, 0, 1, 0, 1 },
{ /* 25: 10 1010 */ 6, 42, 0, -1, -1, 0 },
{ /* 26: 10 1011 */ 6, 43, -1, 0, 0, 1 },
{ /* 27: 10 1100 */ 6, 44, 0, -1, 0, -1 },
{ /* 28: 10 1101 */ 6, 45, -1, 0, -1, 0 },
{ /* 29: 10 1110 */ 6, 46, 1, 1, 0, 0 },
{ /* 30: 10 1111 */ 6, 47, 0, 1, 1, 0 },
{ /* 31: 11 0000 */ 6, 48, 0, 0, 1, 1 },
{ /* 32: 11 0001 */ 6, 49, 1, 0, 0, -1 },
{ /* 33: 110 0100 */ 7, 100, 0, 1, -1, 1 },
{ /* 34: 110 0101 */ 7, 101, 1, 0, -1, 1 },
{ /* 35: 110 0110 */ 7, 102, -1, 1, -1, 0 },
{ /* 36: 110 0111 */ 7, 103, 0, -1, 1, -1 },
{ /* 37: 110 1000 */ 7, 104, 1, -1, 1, 0 },
{ /* 38: 110 1001 */ 7, 105, 1, 1, 0, -1 },
{ /* 39: 110 1010 */ 7, 106, 1, 0, 1, 1 },
{ /* 40: 110 1011 */ 7, 107, -1, 1, 1, 0 },
{ /* 41: 110 1100 */ 7, 108, 0, -1, -1, 1 },
{ /* 42: 110 1101 */ 7, 109, 1, 1, 1, 0 },
{ /* 43: 110 1110 */ 7, 110, -1, 0, 1, -1 },
{ /* 44: 110 1111 */ 7, 111, -1, -1, -1, 0 },
{ /* 45: 111 0000 */ 7, 112, -1, 0, -1, 1 },
{ /* 46: 111 0001 */ 7, 113, 1, -1, -1, 0 },
{ /* 47: 111 0010 */ 7, 114, 1, 1, -1, 0 },
{ /* 48: 1110 0110 */ 8, 230, 1, -1, 0, 1 },
{ /* 49: 1110 0111 */ 8, 231, -1, 1, 0, -1 },
{ /* 50: 1110 1000 */ 8, 232, -1, -1, 1, 0 },
{ /* 51: 1110 1001 */ 8, 233, -1, 0, 1, 1 },
{ /* 52: 1110 1010 */ 8, 234, -1, -1, 0, 1 },
{ /* 53: 1110 1011 */ 8, 235, -1, -1, 0, -1 },
{ /* 54: 1110 1100 */ 8, 236, 0, -1, -1, -1 },
{ /* 55: 1110 1101 */ 8, 237, 1, 0, 1, -1 },
{ /* 56: 1110 1110 */ 8, 238, 1, 0, -1, -1 },
{ /* 57: 1110 1111 */ 8, 239, 0, 1, -1, -1 },
{ /* 58: 1111 0000 */ 8, 240, 0, 1, 1, 1 },
{ /* 59: 1111 0001 */ 8, 241, -1, 1, 0, 1 },
{ /* 60: 1111 0010 */ 8, 242, -1, 0, -1, -1 },
{ /* 61: 1111 0011 */ 8, 243, 0, 1, 1, -1 },
{ /* 62: 1111 0100 */ 8, 244, 1, -1, 0, -1 },
{ /* 63: 1111 0101 */ 8, 245, 0, -1, 1, 1 },
{ /* 64: 1111 0110 */ 8, 246, 1, 1, 0, 1 },
{ /* 65: 1111 0111 */ 8, 247, 1, -1, 1, -1 },
{ /* 66: 1111 1000 */ 8, 248, -1, 1, -1, 1 },
{ /* 67: 1 1111 0010 */ 9, 498, 1, -1, -1, 1 },
{ /* 68: 1 1111 0011 */ 9, 499, -1, -1, -1, -1 },
{ /* 69: 1 1111 0100 */ 9, 500, -1, 1, 1, -1 },
{ /* 70: 1 1111 0101 */ 9, 501, -1, 1, 1, 1 },
{ /* 71: 1 1111 0110 */ 9, 502, 1, 1, 1, 1 },
{ /* 72: 1 1111 0111 */ 9, 503, -1, -1, 1, -1 },
{ /* 73: 1 1111 1000 */ 9, 504, 1, -1, 1, 1 },
{ /* 74: 1 1111 1001 */ 9, 505, -1, 1, -1, -1 },
{ /* 75: 1 1111 1010 */ 9, 506, -1, -1, 1, 1 },
{ /* 76: 1 1111 1011 */ 9, 507, 1, 1, -1, -1 },
{ /* 77: 1 1111 1100 */ 9, 508, 1, -1, -1, -1 },
{ /* 78: 1 1111 1101 */ 9, 509, -1, -1, -1, 1 },
{ /* 79: 1 1111 1110 */ 9, 510, 1, 1, -1, 1 },
{ /* 80: 1 1111 1111 */ 9, 511, 1, 1, 1, -1 }
};
Huffman book3[] = {
/* idx codeword len codew x y v w */
{ /* 0: 0 */ 1, 0, 0, 0, 0, 0 },
{ /* 1: 1000 */ 4, 8, 1, 0, 0, 0 },
{ /* 2: 1001 */ 4, 9, 0, 0, 0, 1 },
{ /* 3: 1010 */ 4, 10, 0, 1, 0, 0 },
{ /* 4: 1011 */ 4, 11, 0, 0, 1, 0 },
{ /* 5: 1 1000 */ 5, 24, 1, 1, 0, 0 },
{ /* 6: 1 1001 */ 5, 25, 0, 0, 1, 1 },
{ /* 7: 11 0100 */ 6, 52, 0, 1, 1, 0 },
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -