iquant.c

来自「代码实现了基于ARM7的MPEG-4视频解码器」· C语言 代码 · 共 32 行

C
32
字号
//*********************************************
//File name:  iquant.c
//Author:     Anna
//Date:
//*********************************************

#define _iquant_h263(coeff, q_2scale, q_add)	if ((coeff) != 0) {	\
	if ((coeff) > 0)	{	\
	(coeff) = ((q_2scale) * (coeff)) + (q_add);}  \
   else if ((coeff) < 0)	{	\
(coeff) *= -1;	\
(coeff) = ((q_2scale) * (coeff)) + (q_add);	\
	(coeff) *= -1;}   \
}

extern int quantizer;

void iquant (short * psblock, int intraFlag)
{
	int i;
	int q_scale = quantizer;
	int q_2scale = q_scale << 1;
	int q_add = (q_scale & 1) ? q_scale : (q_scale - 1);

	for (i = intraFlag; i < 64; i++)
	{
		_iquant_h263(psblock[i], q_2scale, q_add);
        /*Anna*/
		if(psblock[i]>2047) psblock[i]=2047;
		if(psblock[i]<-2048) psblock[i]=-2048;  
	}
}

⌨️ 快捷键说明

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