⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 huffman.c

📁 MP3的代码很实用 MP3的代码很实用
💻 C
📖 第 1 页 / 共 2 页
字号:
  -1, 195, 167,  -1,  44,  -1, 194, 181, -23, -13,  -7,  -3,  -1, 193,  12,
  -1,  75, 180,  -3,  -1, 106, 166, 179,  -5,  -3,  -1,  90, 165,  43,  -1,
 178,  27, -13,  -5,  -1, 177,  -1,  11, 176,  -3,  -1, 105, 150,  -1,  74,
 164,  -5,  -3,  -1, 120, 135, 163,  -3,  -1,  58,  89,  42, -97, -57, -33,
 -19, -11,  -5,  -3,  -1, 149, 104, 161,  -3,  -1, 134, 119, 148,  -5,  -3,
  -1,  73,  87, 103, 162,  -5,  -1,  26,  -1,  10, 160,  -3,  -1,  57, 147,
  -1,  88, 133,  -9,  -3,  -1,  41, 146,  -3,  -1, 118,   9,  25,  -5,  -1,
 145,  -1, 144,  72,  -3,  -1, 132, 117,  -1,  56, 131, -21, -11,  -5,  -3,
  -1, 102,  40, 130,  -3,  -1,  71, 116,  24,  -3,  -1, 129, 128,  -3,  -1,
   8,  86,  55,  -9,  -5,  -1, 115,  -1, 101,  70,  -1,  39, 114,  -5,  -3,
  -1, 100,  85,   7,  23, -23, -13,  -5,  -1, 113,  -1, 112,  54,  -3,  -1,
  99,  69,  -1,  84,  38,  -3,  -1,  98,  22,  -1,  97,  -1,   6,  96,  -9,
  -5,  -1,  83,  -1,  53,  68,  -1,  37,  82,  -1,  81,  -1,  21,   5, -33,
 -23, -13,  -7,  -3,  -1,  52,  67,  -1,  80,  36,  -3,  -1,  66,  51,  20,
  -5,  -1,  65,  -1,   4,  64,  -1,  35,  50,  -3,  -1,  19,  49,  -3,  -1,
   3,  48,  34,  -3,  -1,  18,  33,  -1,   2,  32,  -3,  -1,  17,   1,  16,
   0
};

 short tab24[] =
{
-451,-117, -43, -25, -15,  -7,  -3,  -1, 239, 254,  -1, 223, 253,  -3,  -1,
 207, 252,  -1, 191, 251,  -5,  -1, 250,  -1, 175, 159,  -1, 249, 248,  -9,
  -5,  -3,  -1, 143, 127, 247,  -1, 111, 246,  -3,  -1,  95, 245,  -1,  79,
 244, -71,  -7,  -3,  -1,  63, 243,  -1,  47, 242,  -5,  -1, 241,  -1,  31,
 240, -25,  -9,  -1,  15,  -3,  -1, 238, 222,  -1, 237, 206,  -7,  -3,  -1,
 236, 221,  -1, 190, 235,  -3,  -1, 205, 220,  -1, 174, 234, -15,  -7,  -3,
  -1, 189, 219,  -1, 204, 158,  -3,  -1, 233, 173,  -1, 218, 188,  -7,  -3,
  -1, 203, 142,  -1, 232, 157,  -3,  -1, 217, 126,  -1, 231, 172, 255,-235,
-143, -77, -45, -25, -15,  -7,  -3,  -1, 202, 187,  -1, 141, 216,  -5,  -3,
  -1,  14, 224,  13, 230,  -5,  -3,  -1, 110, 156, 201,  -1,  94, 186,  -9,
  -5,  -1, 229,  -1, 171, 125,  -1, 215, 228,  -3,  -1, 140, 200,  -3,  -1,
  78,  46,  62, -15,  -7,  -3,  -1, 109, 214,  -1, 227, 155,  -3,  -1, 185,
 170,  -1, 226,  30,  -7,  -3,  -1, 225,  93,  -1, 213, 124,  -3,  -1, 199,
  77,  -1, 139, 184, -31, -15,  -7,  -3,  -1, 212, 154,  -1, 169, 108,  -3,
  -1, 198,  61,  -1, 211,  45,  -7,  -3,  -1, 210,  29,  -1, 123, 183,  -3,
  -1, 209,  92,  -1, 197, 138, -17,  -7,  -3,  -1, 168, 153,  -1,  76, 196,
  -3,  -1, 107, 182,  -3,  -1, 208,  12,  60,  -7,  -3,  -1, 195, 122,  -1,
 167,  44,  -3,  -1, 194,  91,  -1, 181,  28, -57, -35, -19,  -7,  -3,  -1,
 137, 152,  -1, 193,  75,  -5,  -3,  -1, 192,  11,  59,  -3,  -1, 176,  10,
  26,  -5,  -1, 180,  -1, 106, 166,  -3,  -1, 121, 151,  -3,  -1, 160,   9,
 144,  -9,  -3,  -1, 179, 136,  -3,  -1,  43,  90, 178,  -7,  -3,  -1, 165,
  27,  -1, 177, 105,  -1, 150, 164, -17,  -9,  -5,  -3,  -1,  74, 120, 135,
  -1,  58, 163,  -3,  -1,  89, 149,  -1,  42, 162,  -7,  -3,  -1, 161, 104,
  -1, 134, 119,  -3,  -1,  73, 148,  -1,  57, 147, -63, -31, -15,  -7,  -3,
  -1,  88, 133,  -1,  41, 103,  -3,  -1, 118, 146,  -1,  25, 145,  -7,  -3,
  -1,  72, 132,  -1,  87, 117,  -3,  -1,  56, 131,  -1, 102,  40, -17,  -7,
  -3,  -1, 130,  24,  -1,  71, 116,  -5,  -1, 129,  -1,   8, 128,  -1,  86,
 101,  -7,  -5,  -1,  23,  -1,   7, 112, 115,  -3,  -1,  55,  39, 114, -15,
  -7,  -3,  -1,  70, 100,  -1,  85, 113,  -3,  -1,  54,  99,  -1,  69,  84,
  -7,  -3,  -1,  38,  98,  -1,  22,  97,  -5,  -3,  -1,   6,  96,  53,  -1,
  83,  68, -51, -37, -23, -15,  -9,  -3,  -1,  37,  82,  -1,  21,  -1,   5,
  80,  -1,  81,  -1,  52,  67,  -3,  -1,  36,  66,  -1,  51,  20,  -9,  -5,
  -1,  65,  -1,   4,  64,  -1,  35,  50,  -1,  19,  49,  -7,  -5,  -3,  -1,
   3,  48,  34,  18,  -1,  33,  -1,   2,  32,  -3,  -1,  17,   1,  -1,  16,
   0
};

 short tab_c0[] =
{
 -29, -21, -13,  -7,  -3,  -1,  11,  15,  -1,  13,  14,  -3,  -1,   7,   5,
   9,  -3,  -1,   6,   3,  -1,  10,  12,  -3,  -1,   2,   1,  -1,   4,   8,
   0
};

 short tab_c1[] =
{
 -15,  -7,  -3,  -1,  15,  14,  -1,  13,  12,  -3,  -1,  11,  10,  -1,   9,
   8,  -7,  -3,  -1,   7,   6,  -1,   5,   4,  -3,  -1,   3,   2,  -1,   1,
   0
};


//#if 0
 struct newhuff ht[] = 
{
 { /* 0 */ 0 , tab0  } ,
 { /* 2 */ 0 , tab1  } ,
 { /* 3 */ 0 , tab2  } ,
 { /* 3 */ 0 , tab3  } ,
 { /* 0 */ 0 , tab0  } ,
 { /* 4 */ 0 , tab5  } ,
 { /* 4 */ 0 , tab6  } ,
 { /* 6 */ 0 , tab7  } ,
 { /* 6 */ 0 , tab8  } ,
 { /* 6 */ 0 , tab9  } ,
 { /* 8 */ 0 , tab10 } ,
 { /* 8 */ 0 , tab11 } ,
 { /* 8 */ 0 , tab12 } ,
 { /* 16 */ 0 , tab13 } ,
 { /* 0  */ 0 , tab0  } ,
 { /* 16 */ 0 , tab15 } ,

 { /* 16 */ 1 , tab16 } ,
 { /* 16 */ 2 , tab16 } ,
 { /* 16 */ 3 , tab16 } ,
 { /* 16 */ 4 , tab16 } ,
 { /* 16 */ 6 , tab16 } ,
 { /* 16 */ 8 , tab16 } ,
 { /* 16 */ 10, tab16 } ,
 { /* 16 */ 13, tab16 } ,
 { /* 16 */ 4 , tab24 } ,
 { /* 16 */ 5 , tab24 } ,
 { /* 16 */ 6 , tab24 } ,
 { /* 16 */ 7 , tab24 } ,
 { /* 16 */ 8 , tab24 } ,
 { /* 16 */ 9 , tab24 } ,
 { /* 16 */ 11, tab24 } ,
 { /* 16 */ 13, tab24 }
};
//#endif

 struct newhuff htc[] = 
{
 { /* 1 , 1 , */ 0 , tab_c0 } ,
 { /* 1 , 1 , */ 0 , tab_c1 }
};

 //***********************************************data
#if 0
 int bitindex;		//in mpg123.c
unsigned char *bufpointer;
real win1[4][36];

real /*const*/ win[4][36] = {							// FLOAT24
	{
		0x000843a9, 0x001b71e0, 0x00338fe2, 0x00535b97, 0x00800000, 0x00c48ce2, 0x013dc0c8, 0x0254fac1, 
		0x07be80a6, 0xf78c7a66, 0xfcf6004c, 0xfe0d3a45, 0xfe866e2b, 0xfecafb0d, 0xfef79f75, 0xff176b2b, 
		0xff2f892d, 0xff42b764, 0xff528db3, 0xff600a32, 0xff6bd44e, 0xff765fbe, 0xff800000, 0xff88f3e7, 
		0xff916cc2, 0xff999313, 0xffa189e2, 0xffa9712c, 0xffb167fa, 0xffb98e4c, 0xffc20726, 0xffcafb0d, 
		0xffd49b50, 0xffdf26bf, 0xffeaf0dc, 0xfff86d5b, 
	},
	{
		0x000843a9, 0x001b71e0, 0x00338fe2, 0x00535b97, 0x00800000, 0x00c48ce2, 0x013dc0c8, 0x0254fac1, 
		0x07be80a6, 0xf78c7a66, 0xfcf6004c, 0xfe0d3a45, 0xfe866e2b, 0xfecafb0d, 0xfef79f75, 0xff176b2b, 
		0xff2f892d, 0xff42b764, 0xff526366, 0xff5ea8d8, 0xff683b58, 0xff6fb1f3, 0xff75742d, 0xff79c9cd, 
		0xff7e038d, 0xff88b916, 0xff9a5aa2, 0xffb2011a, 0xffce9807, 0xffeee313, 0x00000000, 0x00000000, 
		0x00000000, 0x00000000, 0x00000000, 0x00000000, 
	},
	{
		0x001b71e0, 0x00800000, 0x0254fac1, 0xfcf6004c, 0xfecafb0d, 0xff2f892d, 0xff600a32, 0xff800000, 
		0xff999313, 0xffb167fa, 0xffcafb0d, 0xffeaf0dc, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
		0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
		0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 
		0x00000000, 0x00000000, 0x00000000, 0x00000000, 
	},
	{
		0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x004d3116, 0x017746ea, 
		0x06fa6529, 0xf6e7ecac, 0xfc76004c, 0xfdb5aba3, 0xfe5655b5, 0xfeb18517, 0xfeeacafb, 0xff11c58b, 
		0xff2dbcad, 0xff42893a, 0xff528db3, 0xff600a32, 0xff6bd44e, 0xff765fbe, 0xff800000, 0xff88f3e7, 
		0xff916cc2, 0xff999313, 0xffa189e2, 0xffa9712c, 0xffb167fa, 0xffb98e4c, 0xffc20726, 0xffcafb0d, 
		0xffd49b50, 0xffdf26bf, 0xffeaf0dc, 0xfff86d5b, 
	},
};

real /*const*/ COS9[9] = {							// FLOAT24
	0x01000000, 0x00fc1c5c, 0x00f08fb2, 0x00ddb3d7, 0x00c41b7d, 0x00a48dba, 0x00800000, 0x00578ea1, 0x002c7434, 
};

real /*const*/ aa_cs[8] = {							// FLOAT24
	0x00db84a8, 0x00e1b9d7, 0x00f31adc, 0x00fbba81, 0x00feda41, 0x00ffc8fc, 0x00fff964, 0x00ffff8d, 
};

real /*const*/ aa_ca[8] = {							// FLOAT24
	0xff7c4a02, 0xff873c93, 0xffafc67f, 0xffd16e23, 0xffe7c9fd, 0xfff58348, 0xfffc5d7c, 0xffff0d85, 
};



real /*const*/ tfcos36[9] = {							// FLOAT24
	0x00807d2b, 0x008483ee, 0x008d3b7c, 0x009c4257, 0x00b504f3, 0x00df2943, 0x012edfb1, 0x01ee8dd4, 0x05bca2a2, 
};


unsigned char rval;


real *pnts[5] = {cos64, cos32, cos16, cos8, cos4};
real /*const*/ ispow[130] = {							// FLOAT21	!!!!!!!!!!!!!!
	0x00000000, 0x00200000, 0x0050a28b, 0x008a74b9, 0x00cb2ff5, 0x0111989d, 0x015ce31c, 0x01ac7f20, 
	0x02000000, 0x0257106b, 0x02b16b4a, 0x030ed74b, 0x036f23fa, 0x03d227bd, 0x0437be65, 0x049fc823, 
	0x050a28be, 0x0576c6f5, 0x05e58c0b, 0x06566361, 0x06c93a2e, 0x073dff3e, 0x07b4a2bc, 0x082d160a, 
	0x08a74b9b, 0x092336d5, 0x09a0cbf6, 0x0a200000, 0x0aa0c8a1, 0x0b231c29, 0x0ba6f175, 0x0c2c3fe6, 
	0x0cb2ff52, 0x0d3b2800, 0x0dc4b298, 0x0e4f9821, 0x0edbd1f8, 0x0f6959c5, 0x0ff8297f, 0x10883b5c, 
	0x111989d6, 0x11ac0f9e, 0x123fc7a1, 0x12d4acfc, 0x136abaff, 0x1401ed25, 0x149a3f18, 0x1533aca7, 
	0x15ce31c8, 0x1669ca96, 0x1706734d, 0x17a4284a, 0x1842e608, 0x18e2a91f, 0x19836e43, 0x1a253242, 
	0x1ac7f203, 0x1b6baa83, 0x1c1058d7, 0x1cb5fa2b, 0x1d5c8bbe, 0x1e040ae1, 0x1eac74fa, 0x1f55c782, 
	0x20000000, 0x20ab1c0d, 0x21571953, 0x2203f589, 0x22b1ae76, 0x236041f0, 0x240fadd7, 0x24bff01b, 
	0x257106b8, 0x2622efb5, 0x26d5a925, 0x27893125, 0x283d85e0, 0x28f2a588, 0x29a88e5a, 0x2a5f3e9e, 
	0x2b16b4a3, 0x2bceeec2, 0x2c87eb5f, 0x2d41a8e2, 0x2dfc25bf, 0x2eb7606f, 0x2f735776, 0x3030095d, 
	0x30ed74b3, 0x31ab9812, 0x326a7217, 0x332a0167, 0x33ea44ae, 0x34ab3a9d, 0x356ce1ec, 0x362f3958, 
	0x36f23fa5, 0x37b5f39a, 0x387a5405, 0x393f5fbb, 0x3a051592, 0x3acb7469, 0x3b927b20, 0x3c5a28a0, 
	0x3d227bd2, 0x3deb73a7, 0x3eb50f12, 0x3f7f4d0d, 0x404a2c92, 0x4115aca2, 0x41e1cc42, 0x42ae8a7a, 
	0x437be655, 0x4449dee4, 0x45187337, 0x45e7a268, 0x46b76b8e, 0x4787cdc8, 0x4858c835, 0x492a59f9, 
	0x49fc823c, 0x4acf4026, 0x4ba292e4, 0x4c7679a5, 0x4d4af39d, 0x4e200000, 0x4ef59e05, 0x4fcbcce8, 
	0x50a28be6, 0x5179da3d, 
};

real /*const*/ gainpow2[4] = {0x01000000, 0x01306fe0, 0x016a09e6, 0x01ae89f9, };	// FLOAT24


#endif
real b0x[16];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -