34 const vector
unsigned int zero =
35 (
const vector
unsigned int) vec_splat_u32(0);
36 vector
unsigned int sv = (vector
unsigned int) vec_splat_u32(0);
37 vector
signed int sum;
39 for (
i = 0;
i < 16;
i++) {
44 vector
unsigned char pixv = vec_vsx_ld(0,
pix);
47 sv = vec_msum(pixv, pixv, sv);
52 sum = vec_sums((vector
signed int) sv, (vector
signed int)
zero);
53 sum = vec_splat(sum, 3);
61 const vector
unsigned int zero =
62 (
const vector
unsigned int) vec_splat_u32(0);
63 vector
unsigned char perm = vec_lvsl(0,
pix);
64 vector
unsigned int sv = (vector
unsigned int) vec_splat_u32(0);
65 vector
signed int sum;
67 for (
i = 0;
i < 16;
i++) {
69 vector
unsigned char pixl = vec_ld(0,
pix);
70 vector
unsigned char pixr = vec_ld(15,
pix);
71 vector
unsigned char pixv = vec_perm(pixl, pixr,
perm);
74 sv = vec_msum(pixv, pixv, sv);
79 sum = vec_sums((vector
signed int) sv, (vector
signed int)
zero);
80 sum = vec_splat(sum, 3);
91 const vector
unsigned int zero =
92 (
const vector
unsigned int) vec_splat_u32(0);
93 vector
unsigned int sad = (vector
unsigned int) vec_splat_u32(0);
94 vector
signed int sumdiffs;
96 for (
i = 0;
i < 16;
i++) {
101 vector
unsigned char t1 = vec_vsx_ld(0,
pix);
104 sad = vec_sum4s(t1, sad);
110 sumdiffs = vec_sums((vector
signed int) sad, (vector
signed int)
zero);
111 sumdiffs = vec_splat(sumdiffs, 3);
112 vec_ste(sumdiffs, 0, &
s);
119 const vector
unsigned int zero =
120 (
const vector
unsigned int) vec_splat_u32(0);
121 vector
unsigned char perm = vec_lvsl(0,
pix);
122 vector
unsigned int sad = (vector
unsigned int) vec_splat_u32(0);
123 vector
signed int sumdiffs;
125 for (
i = 0;
i < 16;
i++) {
127 vector
unsigned char pixl = vec_ld(0,
pix);
128 vector
unsigned char pixr = vec_ld(15,
pix);
129 vector
unsigned char t1 = vec_perm(pixl, pixr,
perm);
132 sad = vec_sum4s(t1, sad);
138 sumdiffs = vec_sums((vector
signed int) sad, (vector
signed int)
zero);
139 sumdiffs = vec_splat(sumdiffs, 3);
140 vec_ste(sumdiffs, 0, &
s);
#define i(width, name, range_min, range_max)
static int zero(InterplayACMContext *s, unsigned ind, unsigned col)
Macro definitions for various function/variable attributes.
static int pix_sum_altivec(const uint8_t *pix, ptrdiff_t line_size)
av_cold void ff_mpegvideoencdsp_init_altivec(MpegvideoEncDSPContext *c, AVCodecContext *avctx)
static int pix_norm1_altivec(const uint8_t *pix, ptrdiff_t line_size)
main external API structure.
Contains misc utility macros and inline functions.