transferidct.c

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

C
39
字号
//***********************************************
//File name: transferIDCT.c
//Author:    Anna
//Date:
//***********************************************

void transferIDCT_add(short *sourceS16, unsigned char *destU8, int stride) {
	int x, y;
    //int SUM16;
	stride -= 8;	
	for (y=0; y<8; y++) {
		for (x=0; x<8; x++) {
			#define SUM16 (*(destU8) + *(sourceS16))
		//	SUM16=(int)*(destU8) + *(sourceS16);
			if      (SUM16 > 255) *(destU8) = 255;
			else if (SUM16 <   0) *(destU8) =  0;
			else                  *(destU8) = (unsigned char)SUM16;
			sourceS16++;
			destU8++;
		}
		destU8 += stride;
	}
}

void transferIDCT_copy(short *sourceS16, unsigned char *destU8, int stride) {
	int x, y;

	stride -= 8;	
	for (y=0; y<8; y++) {
		for (x=0; x<8; x++) {
			if      (*(sourceS16) > 255)  *(destU8) = 255;
			else if (*(sourceS16) <   0)  *(destU8) = 0;
			else                          *(destU8) = (unsigned char) *(sourceS16);
			sourceS16++;
			destU8++;
		}
		destU8 += stride;
	}
}

⌨️ 快捷键说明

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