// constants
static const double a1 = 0.7071067811865474; // sqrt(2)
static const double a2 = 0.5411961001461971; // cos(3/8 pi) * sqrt(2)
- static const double a3 = a1;
+ // static const double a3 = a1;
+ static const double a3 = 0.7071067811865474;
static const double a4 = 1.3065629648763766; // cos(pi/8) * sqrt(2)
- static const double a5 = 0.5 * (a4 - a2);
+ // static const double a5 = 0.5 * (a4 - a2);
+ static const double a5 = 0.3826834323650897;
// phase 1
const double p1_0 = y0;
temp2);
for (unsigned x = 0; x < DCTSIZE; ++x) {
const double val = temp2[x];
- if (val < 0.0) {
+ if (val < -128.0) {
output[y * DCTSIZE + x] = 0;
- } else if (val >= 255.0) {
+ } else if (val >= 127.0) {
output[y * DCTSIZE + x] = 255;
} else {
- output[y * DCTSIZE + x] = (uint8_t)(val + 0.5);
+ output[y * DCTSIZE + x] = (uint8_t)(val + 128.5);
}
}
}