packtau.c

来自「this the source code of addio compressio」· C语言 代码 · 共 60 行

C
60
字号
/**************************************************************************
*
* ROUTINE
*		packtau (pack tau into binaru bit stream)
*
* FUNCTION
*		Input decimal value and number of binary bits, 
*		program returns binary value packed in array.
*
* SYNOPSIS
*		subroutine packtau(value, bits, pdencode, array, pointer)
*
*   formal 
*
*                       data    I/O
*       name            type    type    function
*       -------------------------------------------------------------------
*	value		int	I	decimal value
*	bits		int	I	number of bits to convert to
*					(ie. 01001 for 5 bits, 1st 0 incl.)
*	pdencode	int	I	pitch delay indexing table
*	array		short	O	array to which one bit is assigned
*					for binary representation
*	pointer		int *	I/O	points to appropriate element in
*					array
*
***************************************************************************
*
* DESCRIPTION
*
*	This program packs a decimal value into a binary value
*	to be decoded by unpacktau.c in CELP synthesizer sections.
*
***************************************************************************
*
* CALLED BY
*
*	celp
*
* CALLS
*
*
*
**************************************************************************/
packtau(value, bits, pdencode, array, pointer)
int value, pdencode[], bits, *pointer;
register short array[];
{
register  int i;

  /* *change index to permuted index					 */

  value = pdencode[value];

  /* insert in bitstream						 */

  for (i = 0; i < bits; (*pointer)++, i++)
    array[*pointer] = (value & 1 << i) >> i;
}

⌨️ 快捷键说明

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