|
|
|
@ -140,14 +140,14 @@ const static uint8_t match6[256][2] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/* Multiplication over 8 bit emulation */ |
|
|
|
|
#define mul8(a, b) (a * b + 128 + ((a * b + 128) >> 8)) >> 8 |
|
|
|
|
#define mul8(a, b) (((a) * (b) + 128 + (((a) * (b) + 128) >> 8)) >> 8) |
|
|
|
|
|
|
|
|
|
/* Conversion from rgb24 to rgb565 */ |
|
|
|
|
#define rgb2rgb565(r, g, b) \ |
|
|
|
|
(mul8(r, 31) << 11) | (mul8(g, 63) << 5) | (mul8(b, 31) << 0) |
|
|
|
|
((mul8(r, 31) << 11) | (mul8(g, 63) << 5) | (mul8(b, 31) << 0)) |
|
|
|
|
|
|
|
|
|
/* Linear interpolation at 1/3 point between a and b */ |
|
|
|
|
#define lerp13(a, b) (2 * a + b) / 3 |
|
|
|
|
#define lerp13(a, b) ((2 * (a) + (b)) / 3) |
|
|
|
|
|
|
|
|
|
/* Linear interpolation on an RGB pixel */ |
|
|
|
|
static inline void lerp13rgb(uint8_t *out, uint8_t *p1, uint8_t *p2) |
|
|
|
|