iqiz.c

来自「void III_hufman_decode(struct Granule *g」· C语言 代码 · 共 41 行

C
41
字号
#include "jddatatype.h"

UINT8 zigzag_table [] =
{
	 0,  1,  8, 16,  9,  2,  3, 10,
	17, 24, 32, 25, 18, 11,  4,  5,
	12, 19, 26, 33, 40, 48, 41, 34,
	27, 20, 13,  6,  7, 14, 21, 28,
	35, 42, 49, 56, 57, 50, 43, 36,
	29, 22, 15, 23, 30, 37, 44, 51,
	58, 59, 52, 45, 38, 31, 39, 46,
	53, 60, 61, 54, 47, 55, 62, 63
};

void inverse_quantize_inverse_zigzag (INT16 * input, INT16 * output,
	UINT16 * quantization_table)
{
	UINT16 i;
	UINT8 *zigzag_table_ptr = zigzag_table;

	for (i=64; i>0; i--)
		output [*zigzag_table_ptr++] = (INT16) (*input++ * *quantization_table++);
}  

void level_shift (INT16 * data, INT16 * output)
{
	UINT16 i;

	for (i=64; i>0; i--)
	{
		*output = (INT16) (*data++ + 128);

		if (*output < 0)
			*output = 0;
		else if (*output > 255)
			*output = 255;

		output ++;
	}
}

⌨️ 快捷键说明

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