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

📄 autocorr.c

📁 AMR-NB 的编码实现,纯C, VC下建立工程即可用.
💻 C
📖 第 1 页 / 共 4 页
字号:

	s = 0;                                 
	j = 39;
	i = 37;
	for (k = 0; k < 38; k++, i--, j--)
	{   
		s += h2[k]*h2[k + 2] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 36 ;
	for (k = 0; k < 37; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 3] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;
	}

	s = 0;                                 
	j = 39;
	i = 35 ;
	for (k = 0; k < 36; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 4] << 1;	rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;
	}

	s = 0;                                 
	j = 39;
	i = 34 ;
	for (k = 0; k < 35; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 5] << 1; rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 33 ;
	for (k = 0; k < 34; k++, i--, j--)
	{    
		s += h2[k]*h2[k + 6] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;
	}

	s = 0;                                 
	j = 39;
	i = 32 ;
	for (k = 0; k < 33; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 7] << 1;	 rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 31;
	for (k = 0; k < 32; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 8] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;
	}

	s = 0;                                 
	j = 39;
	i = 30;
	for (k = 0; k < 31; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 9] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;
	}

	s = 0;                                 
	j = 39;
	i = 29;
	for (k = 0; k < 30; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 10] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;
	}


	s = 0;                                 
	j = 39;
	i = 28 ;
	for (k = 0; k < 29; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 11] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;
	}

	s = 0;                                 
	j = 39;
	i = 27 ;
	for (k = 0; k < 28; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 12] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;
	}

	s = 0;                                 
	j = 39;
	i = 26 ;
	for (k = 0; k < 27; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 13] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 25 ;
	for (k = 0; k < 26; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 14] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 24 ;
	for (k = 0; k < 25; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 15] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 23 ;
	for (k = 0; k < 24; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 16] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 22 ;
	for (k = 0; k < 23; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 17] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i =  21;
	for (k = 0; k < 22; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 18] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 20;
	for (k = 0; k < 21; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 19] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 19;
	for (k = 0; k < 20; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 20] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

       }

	s = 0;                                 
	j = 39;
	i = 18;
	for (k = 0; k < 19; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 21] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 17 ;
	for (k = 0; k < 18; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 22] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 16;
	for (k = 0; k < 17; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 23] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 15 ;
	for (k = 0; k < 16; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 24] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 14 ;
	for (k = 0; k < 15; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 25] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 13 ;
	for (k = 0; k < 14; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 26] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 12 ;
	for (k = 0; k < 13; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 27] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 11;
	for (k = 0; k < 12; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 28] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 10 ;
	for (k = 0; k < 11; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 29] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 9;
	for (k = 0; k < 10; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 30] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 8 ;
	for (k = 0; k < 9; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 31] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 7 ;
	for (k = 0; k < 8; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 32] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 6 ;
	for (k = 0; k < 7; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 33] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 5 ;
	for (k = 0; k < 6; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 34] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 4;
	for (k = 0; k < 5; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 35] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 3;
	for (k = 0; k < 4; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 36] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 2;
	for (k = 0; k < 3; k++, i--, j--)
	{                       
		s += h2[k]*h2[k + 37] << 1;	 
		rr[i][j] = rr[j][i] = ((s+ 0x00008000)>> 16 ) * (psign[i]*psign[j] >> 15 ) >> 15 ;

	}

	s = 0;                                 
	j = 39;
	i = 1 ;
	for (k = 0; k < 2; k++, i--, j--)

⌨️ 快捷键说明

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