NEON: implement alpha-filters (horizontal/vertical/gradient)

gradient-filter code is not much faster, but maybe improvable in the future.

Change-Id: Ia16070e409fe8703b02276166f19526917df6b35
This commit is contained in:
Pascal Massimino
2017-01-16 16:11:41 +01:00
parent db013a8d5c
commit 1de931c669
8 changed files with 347 additions and 1 deletions

View File

@ -79,4 +79,22 @@ static WEBP_INLINE int32x4x4_t Transpose4x4(const int32x4x4_t rows) {
}
}
#if 0 // Useful debug macro.
#include <stdio.h>
#define PRINT_REG(REG, SIZE) do { \
int i; \
printf("%s \t[%d]: 0x", #REG, SIZE); \
if (SIZE == 8) { \
uint8_t _tmp[8]; \
vst1_u8(_tmp, (REG)); \
for (i = 0; i < 8; ++i) printf("%.2x ", _tmp[i]); \
} else if (SIZE == 16) { \
uint16_t _tmp[4]; \
vst1_u16(_tmp, (REG)); \
for (i = 0; i < 4; ++i) printf("%.4x ", _tmp[i]); \
} \
printf("\n"); \
} while (0)
#endif
#endif // WEBP_DSP_NEON_H_