- int64_t c0 = c;
- int64_t c1 = c0 + dcdy;
- int64_t c2 = c1 + dcdy;
- int64_t c3 = c2 + dcdy;
-
- mask |= ((c0 + 0 * dcdx) >> FIXED_SHIFT) & (1 << 0);
- mask |= ((c0 + 1 * dcdx) >> FIXED_SHIFT) & (1 << 1);
- mask |= ((c0 + 2 * dcdx) >> FIXED_SHIFT) & (1 << 2);
- mask |= ((c0 + 3 * dcdx) >> FIXED_SHIFT) & (1 << 3);
- mask |= ((c1 + 0 * dcdx) >> FIXED_SHIFT) & (1 << 4);
- mask |= ((c1 + 1 * dcdx) >> FIXED_SHIFT) & (1 << 5);
- mask |= ((c1 + 2 * dcdx) >> FIXED_SHIFT) & (1 << 6);
- mask |= ((c1 + 3 * dcdx) >> FIXED_SHIFT) & (1 << 7);
- mask |= ((c2 + 0 * dcdx) >> FIXED_SHIFT) & (1 << 8);
- mask |= ((c2 + 1 * dcdx) >> FIXED_SHIFT) & (1 << 9);
- mask |= ((c2 + 2 * dcdx) >> FIXED_SHIFT) & (1 << 10);
- mask |= ((c2 + 3 * dcdx) >> FIXED_SHIFT) & (1 << 11);
- mask |= ((c3 + 0 * dcdx) >> FIXED_SHIFT) & (1 << 12);
- mask |= ((c3 + 1 * dcdx) >> FIXED_SHIFT) & (1 << 13);
- mask |= ((c3 + 2 * dcdx) >> FIXED_SHIFT) & (1 << 14);
- mask |= ((c3 + 3 * dcdx) >> FIXED_SHIFT) & (1 << 15);
+ int32_t c0 = c;
+ int32_t c1 = c0 + dcdy;
+ int32_t c2 = c1 + dcdy;
+ int32_t c3 = c2 + dcdy;
+
+ mask |= ((c0 + 0 * dcdx) >> 31) & (1 << 0);
+ mask |= ((c0 + 1 * dcdx) >> 31) & (1 << 1);
+ mask |= ((c0 + 2 * dcdx) >> 31) & (1 << 2);
+ mask |= ((c0 + 3 * dcdx) >> 31) & (1 << 3);
+ mask |= ((c1 + 0 * dcdx) >> 31) & (1 << 4);
+ mask |= ((c1 + 1 * dcdx) >> 31) & (1 << 5);
+ mask |= ((c1 + 2 * dcdx) >> 31) & (1 << 6);
+ mask |= ((c1 + 3 * dcdx) >> 31) & (1 << 7);
+ mask |= ((c2 + 0 * dcdx) >> 31) & (1 << 8);
+ mask |= ((c2 + 1 * dcdx) >> 31) & (1 << 9);
+ mask |= ((c2 + 2 * dcdx) >> 31) & (1 << 10);
+ mask |= ((c2 + 3 * dcdx) >> 31) & (1 << 11);
+ mask |= ((c3 + 0 * dcdx) >> 31) & (1 << 12);
+ mask |= ((c3 + 1 * dcdx) >> 31) & (1 << 13);
+ mask |= ((c3 + 2 * dcdx) >> 31) & (1 << 14);
+ mask |= ((c3 + 3 * dcdx) >> 31) & (1 << 15);