#define C2 30274 // 2 COS (PI/8) 1.84776
#define C4 23171 // SQRT(2) 1.41421
#define C6 12540 // 2 SIN (PI/8) 0.76537
#define C6pC2 42814 file://C6+C2 2.61313
#define C6sC2 (-17734) // -1.08239
#define RC0 14
#define RC1 18
#define ROUND (1<<(RC1-1))
// do 80 times of multiply; fastidct :176;
#define idct_unit(a,b) {x4 = x5 - x3; \
t1 = x5 + x3; \
x3 = (x2+x6)<
t0 = x1 + x7; \
x6= x1 - x7; \
x7= (t0 + t1)<
t0=C6*(x4+x6); \
x4=C6sC2*x4-t0; \
x6=C6pC2*x6-t0; \
t0=x6-x7; \
x1=(a-b)<
x6=(a+b)<
x4=x3+x6; \
x6-=x3; \
x3=x1+x2; \
x5=x1-x2; }
文章来源于领测软件测试网 https://www.ltesting.net/