* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "avutil.h"
-#ifdef CONFIG_DARWIN
+#ifdef SYS_DARWIN
#define AVV(x...) (x)
#else
#define AVV(x...) {x}
vector by assuming (stride % 16) == 0, unfortunately
this is not always true.
*/
- register int y;
- short __attribute__ ((aligned(16))) data[8];
+ DECLARE_ALIGNED(16, short, data[8]);
int numEq;
uint8_t *src2 = src;
vector signed short v_dcOffset;
const vector signed int zero = vec_splat_s32(0);
const int properStride = (stride % 16);
const int srcAlign = ((unsigned long)src2 % 16);
- short __attribute__ ((aligned(16))) qp[8];
+ DECLARE_ALIGNED(16, short, qp[8]);
qp[0] = c->QP;
vector signed short vqp = vec_ld(0, qp);
vqp = vec_splat(vqp, 0);
#undef LOAD_LINE
#undef LOAD_LINE_ALIGNED
- const vector unsigned short v_1 = vec_splat_u16(1);
const vector unsigned short v_2 = vec_splat_u16(2);
const vector unsigned short v_4 = vec_splat_u16(4);
*/
uint8_t *src2 = src;
const vector signed int zero = vec_splat_s32(0);
- short __attribute__ ((aligned(16))) qp[8];
+ DECLARE_ALIGNED(16, short, qp[8]);
qp[0] = 8*c->QP;
vector signed short vqp = vec_ld(0, qp);
vqp = vec_splat(vqp, 0);
src & stride :-(
*/
uint8_t *srcCopy = src;
- uint8_t __attribute__((aligned(16))) dt[16];
- const vector unsigned char vuint8_1 = vec_splat_u8(1);
+ DECLARE_ALIGNED(16, uint8_t, dt[16]);
const vector signed int zero = vec_splat_s32(0);
vector unsigned char v_dt;
dt[0] = deringThreshold;
v_avg = vec_avg(v_min, v_max);
}
- signed int __attribute__((aligned(16))) S[8];
+ DECLARE_ALIGNED(16, signed int, S[8]);
{
const vector unsigned short mask1 = (vector unsigned short)
AVV(0x0001, 0x0002, 0x0004, 0x0008,
/* I'm not sure the following is actually faster
than straight, unvectorized C code :-( */
- int __attribute__((aligned(16))) tQP2[4];
+ DECLARE_ALIGNED(16, int, tQP2[4]);
tQP2[0]= c->QP/2 + 1;
vector signed int vQP2 = vec_ld(0, tQP2);
vQP2 = vec_splat(vQP2, 0);
- const vector unsigned char vuint8_2 = vec_splat_u8(2);
const vector signed int vsint32_8 = vec_splat_s32(8);
const vector unsigned int vuint32_4 = vec_splat_u32(4);
static inline void transpose_8x16_char_fromPackedAlign_altivec(unsigned char* dst, unsigned char* src, int stride) {
const vector unsigned char zero = vec_splat_u8(0);
- const vector unsigned char magic_perm = (const vector unsigned char)
- AVV(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
- 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F);
#define LOAD_DOUBLE_LINE(i, j) \
vector unsigned char src##i = vec_ld(i * 16, src); \