📄 test.c
字号:
#include <stdio.h>
#include <imagelib.h>
#pragma DATA_SECTION(imageBlock,"mydata");
#pragma DATA_SECTION(interBuffer,"mytemp");
short imageBlock[64]={ // The left-top 8*8 macro block of 128-shift
//lena.raw (Q16.0 format 256*256, Gray level 0 - 255 -> -128 - 127)
9, 9, 10, 5, 1, 3, 3, 3,
8, 8, 5, 5, 5, 5, 2, 4,
5, 5, 6, 5, 2, 2, 2, 2,
8, 8, 6, 2, 2, -6, 2, 2,
10, 10, 8, 6, 5, 4, 4, 3,
6, 6, 4, 5, 3, 3, 3, 3,
6, 6, 2, 0, 4, 2, 0, 2,
4, 4, 2, -3, 0, 2, 2, 0
};
short interBuffer[72];
void main()
{
int i,j;
IMG_fdct_8x8(imageBlock,interBuffer);
/* Theoretical results of 2-D DCT for image block Q16.0 format
32 15 6 -1 -1 -2 -1 1
7 3 -1 -4 0 2 1 -1
-3 -2 1 3 -3 -1 3 -1
7 1 -1 0 0 0 1 -2
0 4 3 -2 -2 1 -1 3
-4 2 2 -3 1 0 -1 2
-2 -2 -1 -2 -2 3 1 -1
3 0 -2 1 -1 0 2 -1
*/
for(i=0;i<8;i++) // Convert DCT coefficients from Q16.0 to 13.3.
for(j=0;j<8;j++)
imageBlock[i*8+j]=imageBlock[i*8+j]<<3;
IMG_idct_8x8(imageBlock,interBuffer);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -