Home | History | Annotate | Download | only in ppc

Lines Matching refs:dst

14 void vpx_v_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
20 for (i = 0; i < 16; i++, dst += stride) {
21 vec_vsx_st(d, 0, dst);
25 void vpx_v_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride,
32 for (i = 0; i < 32; i++, dst += stride) {
33 vec_vsx_st(d0, 0, dst);
34 vec_vsx_st(d1, 16, dst);
40 void vpx_h_predictor_4x4_vsx(uint8_t *dst, ptrdiff_t stride,
50 vec_vsx_st(vec_sel(v0, vec_vsx_ld(0, dst), (uint8x16_t)mask4), 0, dst);
51 dst += stride;
52 vec_vsx_st(vec_sel(v1, vec_vsx_ld(0, dst), (uint8x16_t)mask4), 0, dst);
53 dst += stride;
54 vec_vsx_st(vec_sel(v2, vec_vsx_ld(0, dst), (uint8x16_t)mask4), 0, dst);
55 dst += stride;
56 vec_vsx_st(vec_sel(v3, vec_vsx_ld(0, dst), (uint8x16_t)mask4), 0, dst);
59 void vpx_h_predictor_8x8_vsx(uint8_t *dst, ptrdiff_t stride,
74 vec_vsx_st(xxpermdi(v0, vec_vsx_ld(0, dst), 1), 0, dst);
75 dst += stride;
76 vec_vsx_st(xxpermdi(v1, vec_vsx_ld(0, dst), 1), 0, dst);
77 dst += stride;
78 vec_vsx_st(xxpermdi(v2, vec_vsx_ld(0, dst), 1), 0, dst);
79 dst += stride;
80 vec_vsx_st(xxpermdi(v3, vec_vsx_ld(0, dst), 1), 0, dst);
81 dst += stride;
82 vec_vsx_st(xxpermdi(v4, vec_vsx_ld(0, dst), 1), 0, dst);
83 dst += stride;
84 vec_vsx_st(xxpermdi(v5, vec_vsx_ld(0, dst), 1), 0, dst);
85 dst += stride;
86 vec_vsx_st(xxpermdi(v6, vec_vsx_ld(0, dst), 1), 0, dst);
87 dst += stride;
88 vec_vsx_st(xxpermdi(v7, vec_vsx_ld(0, dst), 1), 0, dst);
91 void vpx_h_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
116 vec_vsx_st(v0, 0, dst);
117 dst += stride;
118 vec_vsx_st(v1, 0, dst);
119 dst += stride;
120 vec_vsx_st(v2, 0, dst);
121 dst += stride;
122 vec_vsx_st(v3, 0, dst);
123 dst += stride;
124 vec_vsx_st(v4, 0, dst);
125 dst += stride;
126 vec_vsx_st(v5, 0, dst);
127 dst += stride;
128 vec_vsx_st(v6, 0, dst);
129 dst += stride;
130 vec_vsx_st(v7, 0, dst);
131 dst += stride;
132 vec_vsx_st(v8, 0, dst);
133 dst += stride;
134 vec_vsx_st(v9, 0, dst);
135 dst += stride;
136 vec_vsx_st(v10, 0, dst);
137 dst += stride;
138 vec_vsx_st(v11, 0, dst);
139 dst += stride;
140 vec_vsx_st(v12, 0, dst);
141 dst += stride;
142 vec_vsx_st(v13, 0, dst);
143 dst += stride;
144 vec_vsx_st(v14, 0, dst);
145 dst += stride;
146 vec_vsx_st(v15, 0, dst);
150 vec_vsx_st(v, 0, dst); \
151 vec_vsx_st(v, 16, dst); \
152 dst += stride
154 void vpx_h_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride,
236 void vpx_tm_predictor_4x4_vsx(uint8_t *dst, ptrdiff_t stride,
244 d = vec_vsx_ld(0, dst);
247 vec_vsx_st(vec_sel(vec_packsu(val, tmp), d, (uint8x16_t)mask4), 0, dst);
248 dst += stride;
250 d = vec_vsx_ld(0, dst);
253 vec_vsx_st(vec_sel(vec_packsu(val, tmp), d, (uint8x16_t)mask4), 0, dst);
254 dst += stride;
256 d = vec_vsx_ld(0, dst);
259 vec_vsx_st(vec_sel(vec_packsu(val, tmp), d, (uint8x16_t)mask4), 0, dst);
260 dst += stride;
262 d = vec_vsx_ld(0, dst);
265 vec_vsx_st(vec_sel(vec_packsu(val, tmp), d, (uint8x16_t)mask4), 0, dst);
268 void vpx_tm_predictor_8x8_vsx(uint8_t *dst, ptrdiff_t stride,
275 tmp = unpack_to_s16_l(vec_vsx_ld(0, dst));
277 vec_vsx_st(vec_packsu(val, tmp), 0, dst);
278 dst += stride;
280 tmp = unpack_to_s16_l(vec_vsx_ld(0, dst));
282 vec_vsx_st(vec_packsu(val, tmp), 0, dst);
283 dst += stride;
285 tmp = unpack_to_s16_l(vec_vsx_ld(0, dst));
287 vec_vsx_st(vec_packsu(val, tmp), 0, dst);
288 dst += stride;
290 tmp = unpack_to_s16_l(vec_vsx_ld(0, dst));
292 vec_vsx_st(vec_packsu(val, tmp), 0, dst);
293 dst += stride;
295 tmp = unpack_to_s16_l(vec_vsx_ld(0, dst));
297 vec_vsx_st(vec_packsu(val, tmp), 0, dst);
298 dst += stride;
300 tmp = unpack_to_s16_l(vec_vsx_ld(0, dst));
302 vec_vsx_st(vec_packsu(val, tmp), 0, dst);
303 dst += stride;
305 tmp = unpack_to_s16_l(vec_vsx_ld(0, dst));
307 vec_vsx_st(vec_packsu(val, tmp), 0, dst);
308 dst += stride;
310 tmp = unpack_to_s16_l(vec_vsx_ld(0, dst));
312 vec_vsx_st(vec_packsu(val, tmp), 0, dst);
315 static void tm_predictor_16x8(uint8_t *dst, const ptrdiff_t stride, int16x8_t l,
322 vec_vsx_st(vec_packsu(vh, vl), 0, dst);
323 dst += stride;
328 vec_vsx_st(vec_packsu(vh, vl), 0, dst);
329 dst += stride;
334 vec_vsx_st(vec_packsu(vh, vl), 0, dst);
335 dst += stride;
340 vec_vsx_st(vec_packsu(vh, vl), 0, dst);
341 dst += stride;
346 vec_vsx_st(vec_packsu(vh, vl), 0, dst);
347 dst += stride;
352 vec_vsx_st(vec_packsu(vh, vl), 0, dst);
353 dst += stride;
358 vec_vsx_st(vec_packsu(vh, vl), 0, dst);
359 dst += stride;
364 vec_vsx_st(vec_packsu(vh, vl), 0, dst);
367 void vpx_tm_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
377 tm_predictor_16x8(dst, stride, lh, ah, al, tl);
379 dst += stride * 8;
381 tm_predictor_16x8(dst, stride, ll, ah, al, tl);
384 static INLINE void tm_predictor_32x1(uint8_t *dst, const int16x8_t ls,
392 vec_vsx_st(vec_packsu(vh, vl), 0, dst);
395 vec_vsx_st(vec_packsu(vh, vl), 16, dst);
398 static void tm_predictor_32x8(uint8_t *dst, const ptrdiff_t stride,
406 tm_predictor_32x1(dst, vec_splat(l, 0), a0h, a0l, a1h, a1l, tl);
407 dst += stride;
409 tm_predictor_32x1(dst, vec_splat(l, 1), a0h, a0l, a1h, a1l, tl);
410 dst += stride;
412 tm_predictor_32x1(dst, vec_splat(l, 2), a0h, a0l, a1h, a1l, tl);
413 dst += stride;
415 tm_predictor_32x1(dst, vec_splat(l, 3), a0h, a0l, a1h, a1l, tl);
416 dst += stride;
418 tm_predictor_32x1(dst, vec_splat(l, 4), a0h, a0l, a1h, a1l, tl);
419 dst += stride;
421 tm_predictor_32x1(dst, vec_splat(l, 5), a0h, a0l, a1h, a1l, tl);
422 dst += stride;
424 tm_predictor_32x1(dst, vec_splat(l, 6), a0h, a0l, a1h, a1l, tl);
425 dst += stride;
427 tm_predictor_32x1(dst, vec_splat(l, 7), a0h, a0l, a1h, a1l, tl);
430 void vpx_tm_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride,
438 tm_predictor_32x8(dst, stride, unpack_to_s16_h(l0), a0, a1, tl);
439 dst += stride * 8;
441 tm_predictor_32x8(dst, stride, unpack_to_s16_l(l0), a0, a1, tl);
442 dst += stride * 8;
444 tm_predictor_32x8(dst, stride, unpack_to_s16_h(l1), a0, a1, tl);
445 dst += stride * 8;
447 tm_predictor_32x8(dst, stride, unpack_to_s16_l(l1), a0, a1, tl);
450 static INLINE void dc_fill_predictor_8x8(uint8_t *dst, const ptrdiff_t stride,
454 for (i = 0; i < 8; i++, dst += stride) {
455 const uint8x16_t d = vec_vsx_ld(0, dst);
456 vec_vsx_st(xxpermdi(val, d, 1), 0, dst);
460 static INLINE void dc_fill_predictor_16x16(uint8_t *dst, const ptrdiff_t stride,
464 for (i = 0; i < 16; i++, dst += stride) {
465 vec_vsx_st(val, 0, dst);
469 void vpx_dc_128_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
475 dc_fill_predictor_16x16(dst, stride, v128);
478 static INLINE void dc_fill_predictor_32x32(uint8_t *dst, const ptrdiff_t stride,
482 for (i = 0; i < 32; i++, dst += stride) {
483 vec_vsx_st(val, 0, dst);
484 vec_vsx_st(val, 16, dst);
488 void vpx_dc_128_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride,
494 dc_fill_predictor_32x32(dst, stride, v128);
507 void vpx_dc_left_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
512 dc_fill_predictor_16x16(dst, stride, avg16(left));
515 void vpx_dc_top_predictor_16x16_vsx(uint8_t *dst
519 dc_fill_predictor_16x16(dst, stride, avg16(above));
535 void vpx_dc_left_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride,
540 dc_fill_predictor_32x32(dst, stride, avg32(left));
543 void vpx_dc_top_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride,
547 dc_fill_predictor_32x32(dst, stride, avg32(above));
576 void vpx_dc_predictor_8x8_vsx(uint8_t *dst, ptrdiff_t stride,
578 dc_fill_predictor_8x8(dst, stride, dc_avg8(above, left));
581 void vpx_dc_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
583 dc_fill_predictor_16x16(dst, stride, dc_avg16(above, left));
601 void vpx_dc_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride,
603 dc_fill_predictor_32x32(dst, stride, dc_avg32(above, left));
618 void vpx_d45_predictor_8x8_vsx(uint8_t *dst, ptrdiff_t stride,
630 const uint8x16_t d = vec_vsx_ld(0, dst);
631 vec_vsx_st(xxpermdi(row, d, 1), 0, dst);
632 dst += stride;
637 void vpx_d45_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
648 vec_vsx_st(row, 0, dst);
649 dst += stride;
654 void vpx_d45_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride,
669 vec_vsx_st(row0, 0, dst);
670 vec_vsx_st(row1, 16, dst);
671 dst += stride;
677 void vpx_d63_predictor_8x8_vsx(uint8_t *dst, ptrdiff_t stride,
690 const uint8x16_t d0 = vec_vsx_ld(0, dst);
691 const uint8x16_t d1 = vec_vsx_ld(0, dst + stride);
692 vec_vsx_st(xxpermdi(row0, d0, 1), 0, dst);
693 vec_vsx_st(xxpermdi(row1, d1, 1), 0, dst + stride);
694 dst += stride * 2;
700 void vpx_d63_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
713 vec_vsx_st(row0, 0, dst);
714 vec_vsx_st(row1, 0, dst + stride);
715 dst += stride * 2;
721 void vpx_d63_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride,
739 vec_vsx_st(row0_0, 0, dst);
740 vec_vsx_st(row0_1, 16, dst);
741 vec_vsx_st(row1_0, 0, dst + stride);
742 vec_vsx_st(row1_1, 16, dst + stride);
743 dst += stride * 2;