transferidct.c
来自「VC++视频开发实例集锦(包括“远程视频监控”"语音识别系统"」· C语言 代码 · 共 37 行
C
37 行
#include "portab.h"
void transferIDCT_add(int16_t *sourceS16, uint8_t *destU8, int stride) {
int x, y;
stride -= 8;
for (y=0; y<8; y++) {
for (x=0; x<8; x++) {
#define SUM16 (*(destU8) + *(sourceS16))
if (SUM16 > 255) *(destU8) = 255;
else if (SUM16 < 0) *(destU8) = 0;
else *(destU8) = SUM16;
sourceS16++;
destU8++;
}
destU8 += stride;
}
}
void transferIDCT_copy(int16_t *sourceS16, uint8_t *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 + -
显示快捷键?