Lines Matching refs:src

40 static void vc1_v_overlap_c(uint8_t *src, ptrdiff_t stride)
47 a = src[-2 * stride];
48 b = src[-stride];
49 c = src[0];
50 d = src[stride];
54 src[-2 * stride] = a - d1;
55 src[-stride] = av_clip_uint8(b - d2);
56 src[0] = av_clip_uint8(c + d2);
57 src[stride] = d + d1;
58 src++;
64 static void vc1_h_overlap_c(uint8_t *src, ptrdiff_t stride)
71 a = src[-2];
72 b = src[-1];
73 c = src[0];
74 d = src[1];
78 src[-2] = a - d1;
79 src[-1] = av_clip_uint8(b - d2);
80 src[0] = av_clip_uint8(c + d2);
81 src[1] = d + d1;
82 src += stride;
144 * @param src source block type
150 static av_always_inline int vc1_filter_line(uint8_t *src, ptrdiff_t stride, int pq)
152 int a0 = (2 * (src[-2 * stride] - src[1 * stride]) -
153 5 * (src[-1 * stride] - src[0 * stride]) + 4) >> 3;
158 int a1 = FFABS((2 * (src[-4 * stride] - src[-1 * stride]) -
159 5 * (src[-3 * stride] - src[-2 * stride]) + 4) >> 3);
160 int a2 = FFABS((2 * (src[ 0 * stride] - src[ 3 * stride]) -
161 5 * (src[ 1 * stride] - src[ 2 * stride]) + 4) >> 3);
163 int clip = src[-1 * stride] - src[0 * stride];
180 src[-1 * stride] = av_clip_uint8(src[-1 * stride] - d);
181 src[ 0 * stride] = av_clip_uint8(src[ 0 * stride] + d);
192 * @param src source block type
199 static inline void vc1_loop_filter(uint8_t *src, int step, ptrdiff_t stride,
206 filt3 = vc1_filter_line(src + 2 * step, stride, pq);
208 vc1_filter_line(src + 0 * step, stride, pq);
209 vc1_filter_line(src + 1 * step, stride, pq);
210 vc1_filter_line(src + 3 * step, stride, pq);
212 src += step * 4;
216 static void vc1_v_loop_filter4_c(uint8_t *src, ptrdiff_t stride, int pq)
218 vc1_loop_filter(src, 1, stride, 4, pq);
221 static void vc1_h_loop_filter4_c(uint8_t *src, ptrdiff_t stride, int pq)
223 vc1_loop_filter(src, stride, 1, 4, pq);
226 static void vc1_v_loop_filter8_c(uint8_t *src, ptrdiff_t stride, int pq)
228 vc1_loop_filter(src, 1, stride, 8, pq);
231 static void vc1_h_loop_filter8_c(uint8_t *src, ptrdiff_t stride, int pq)
233 vc1_loop_filter(src, stride, 1, 8, pq);
236 static void vc1_v_loop_filter16_c(uint8_t *src, ptrdiff_t stride, int pq)
238 vc1_loop_filter(src, 1, stride, 16, pq);
241 static void vc1_h_loop_filter16_c(uint8_t *src, ptrdiff_t stride, int pq)
243 vc1_loop_filter(src, stride, 1, 16, pq);
272 int16_t *src, *dst, temp[64];
274 src = block;
277 t1 = 12 * (src[ 0] + src[32]) + 4;
278 t2 = 12 * (src[ 0] - src[32]) + 4;
279 t3 = 16 * src[16] + 6 * src[48];
280 t4 = 6 * src[16] - 16 * src[48];
287 t1 = 16 * src[ 8] + 15 * src[24] + 9 * src[40] + 4 * src[56];
288 t2 = 15 * src[ 8] - 4 * src[24] - 16 * src[40] - 9 * src[56];
289 t3 = 9 * src[ 8] - 16 * src[24] + 4 * src[40] + 15 * src[56];
290 t4 = 4 * src[ 8] - 9 * src[24] + 15 * src[40] - 16 * src[56];
301 src += 1;
305 src = temp;
308 t1 = 12 * (src[ 0] + src[32]) + 64;
309 t2 = 12 * (src[ 0] - src[32]) + 64;
310 t3 = 16 * src[16] + 6 * src[48];
311 t4 = 6 * src[16] - 16 * src[48];
318 t1 = 16 * src[ 8] + 15 * src[24] + 9 * src[40] + 4 * src[56];
319 t2 = 15 * src[ 8] - 4 * src[24] - 16 * src[40] - 9 * src[56];
320 t3 = 9 * src[ 8] - 16 * src[24] + 4 * src[40] + 15 * src[56];
321 t4 = 4 * src[ 8] - 9 * src[24] + 15 * src[40] - 16 * src[56];
332 src++;
363 int16_t *src, *dst;
365 src = block;
369 t1 = 12 * (src[0] + src[4]) + 4;
370 t2 = 12 * (src[0] - src[4]) + 4;
371 t3 = 16 * src[2] + 6 * src[6];
372 t4 = 6 * src[2] - 16 * src[6];
379 t1 = 16 * src[1] + 15 * src[3] + 9 * src[5] + 4 * src[7];
380 t2 = 15 * src[1] - 4 * src[3] - 16 * src[5] - 9 * src[7];
381 t3 = 9 * src[1] - 16 * src[3] + 4 * src[5] + 15 * src[7];
382 t4 = 4 * src[1] - 9 * src[3] + 15 * src[5] - 16 * src[7];
393 src += 8;
397 src = block;
399 t1 = 17 * (src[ 0] + src[16]) + 64;
400 t2 = 17 * (src[ 0] - src[16]) + 64;
401 t3 = 22 * src[ 8] + 10 * src[24];
402 t4 = 22 * src[24] - 10 * src[ 8];
409 src++;
436 int16_t *src, *dst;
438 src = block;
442 t1 = 17 * (src[0] + src[2]) + 4;
443 t2 = 17 * (src[0] - src[2]) + 4;
444 t3 = 22 * src[1] + 10 * src[3];
445 t4 = 22 * src[3] - 10 * src[1];
452 src += 8;
456 src = block;
458 t1 = 12 * (src[ 0] + src[32]) + 64;
459 t2 = 12 * (src[ 0] - src[32]) + 64;
460 t3 = 16 * src[16] + 6 * src[48];
461 t4 = 6 * src[16] - 16 * src[48];
468 t1 = 16 * src[ 8] + 15 * src[24] + 9 * src[40] + 4 * src[56];
469 t2 = 15 * src[ 8] - 4 * src[24] - 16 * src[40] - 9 * src[56];
470 t3 = 9 * src[ 8] - 16 * src[24] + 4 * src[40] + 15 * src[56];
471 t4 = 4 * src[ 8] - 9 * src[24] + 15 * src[40] - 16 * src[56];
482 src++;
509 int16_t *src, *dst;
511 src = block;
514 t1 = 17 * (src[0] + src[2]) + 4;
515 t2 = 17 * (src[0] - src[2]) + 4;
516 t3 = 22 * src[1] + 10 * src[3];
517 t4 = 22 * src[3] - 10 * src[1];
524 src += 8;
528 src = block;
530 t1 = 17 * (src[0] + src[16]) + 64;
531 t2 = 17 * (src[0] - src[16]) + 64;
532 t3 = 22 * src[8] + 10 * src[24];
533 t4 = 22 * src[24] - 10 * src[8];
540 src++;
549 static av_always_inline int vc1_mspel_ ## DIR ## _filter_16bits(const TYPE *src, \
557 return -4 * src[-stride] + 53 * src[0] + \
558 18 * src[stride] - 3 * src[stride * 2]; \
560 return -1 * src[-stride] + 9 * src[0] + \
561 9 * src[stride] - 1 * src[stride * 2]; \
563 return -3 * src[-stride] + 18 * src[0] + \
564 53 * src[stride] - 4 * src[stride * 2]; \
573 static av_always_inline int vc1_mspel_filter(const uint8_t *src, int stride,
578 return src[0];
580 return (-4 * src[-stride] + 53 * src[0] +
581 18 * src[stride] - 3 * src[stride * 2] + 32 - r) >> 6;
583 return (-1 * src[-stride] + 9 * src[0] +
584 9 * src[stride] - 1 * src[stride * 2] + 8 - r) >> 4;
586 return (-3 * src[-stride] + 18 * src[0] +
587 53 * src[stride] - 4 * src[stride * 2] + 32 - r) >> 6;
595 const uint8_t *src, \
613 src -= 1; \
616 tptr[i] = (vc1_mspel_ver_filter_16bits(src + i, stride, vmode) + r) >> shift; \
617 src += stride; \
636 OP(dst[i], vc1_mspel_filter(src + i, stride, vmode, r)); \
637 src += stride; \
647 OP(dst[i], vc1_mspel_filter(src + i, 1, hmode, rnd)); \
649 src += stride; \
653 const uint8_t *src, \
671 src -= 1; \
674 tptr[i] = (vc1_mspel_ver_filter_16bits(src + i, stride, vmode) + r) >> shift; \
675 src += stride; \
694 OP(dst[i], vc1_mspel_filter(src + i, stride, vmode, r)); \
695 src += stride; \
705 OP(dst[i], vc1_mspel_filter(src + i, 1, hmode, rnd)); \
707 src += stride; \
743 const uint8_t *src, \
746 put_vc1_mspel_mc(dst, src, stride, a, b, rnd); \
749 const uint8_t *src, \
752 avg_vc1_mspel_mc(dst, src, stride, a, b, rnd); \
755 const uint8_t *src, \
758 put_vc1_mspel_mc_16(dst, src, stride, a, b, rnd); \
761 const uint8_t *src, \
764 avg_vc1_mspel_mc_16(dst, src, stride, a, b, rnd); \
787 ((A * src[a] + B * src[a + 1] + \
788 C * src[stride + a] + D * src[stride + a + 1] + 32 - 4) >> 6)
790 uint8_t *src /* align 1 */,
811 src += stride;
815 static void put_no_rnd_vc1_chroma_mc4_c(uint8_t *dst, uint8_t *src,
832 src += stride;
838 uint8_t *src /* align 1 */,
859 src += stride;
864 uint8_t *src /* align 1 */,
881 src += stride;
887 static void sprite_h_c(uint8_t *dst, const uint8_t *src, int offset,
891 int a = src[(offset >> 16)];
892 int b = src[(offset >> 16) + 1];