Lines Matching refs:stride
40 static void vc1_v_overlap_c(uint8_t *src, ptrdiff_t stride)
47 a = src[-2 * stride];
48 b = src[-stride];
50 d = src[stride];
54 src[-2 * stride] = a - d1;
55 src[-stride] = av_clip_uint8(b - d2);
57 src[stride] = d + d1;
64 static void vc1_h_overlap_c(uint8_t *src, ptrdiff_t stride)
82 src += stride;
145 * @param stride block stride
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);
194 * @param stride distance between vertically adjacent elements
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);
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);
247 static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
264 dest += stride;
338 static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
355 dest += stride;
359 static void vc1_inv_trans_8x4_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
404 dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t1 + t3) >> 7));
405 dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t2 - t4) >> 7));
406 dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t2 + t4) >> 7));
407 dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t1 - t3) >> 7));
415 static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
428 dest += stride;
432 static void vc1_inv_trans_4x8_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
473 dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t5 + t1) >> 7));
474 dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t6 + t2) >> 7));
475 dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t7 + t3) >> 7));
476 dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t8 + t4) >> 7));
477 dest[4 * stride] = av_clip_uint8(dest[4 * stride] + ((t8 - t4 + 1) >> 7));
478 dest[5 * stride] = av_clip_uint8(dest[5 * stride] + ((t7 - t3 + 1) >> 7));
479 dest[6 * stride] = av_clip_uint8(dest[6 * stride] + ((t6 - t2 + 1) >> 7));
480 dest[7 * stride] = av_clip_uint8(dest[7 * stride] + ((t5 - t1 + 1) >> 7));
488 static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
501 dest += stride;
505 static void vc1_inv_trans_4x4_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
535 dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t1 + t3) >> 7));
536 dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t2 - t4) >> 7));
537 dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t2 + t4) >> 7));
538 dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t1 - t3) >> 7));
550 int stride, \
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,
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;
596 ptrdiff_t stride, \
616 tptr[i] = (vc1_mspel_ver_filter_16bits(src + i, stride, vmode) + r) >> shift; \
617 src += stride; \
626 dst += stride; \
636 OP(dst[i], vc1_mspel_filter(src + i, stride, vmode, r)); \
637 src += stride; \
638 dst += stride; \
648 dst += stride; \
649 src += stride; \
654 ptrdiff_t stride, \
674 tptr[i] = (vc1_mspel_ver_filter_16bits(src + i, stride, vmode) + r) >> shift; \
675 src += stride; \
684 dst += stride; \
694 OP(dst[i], vc1_mspel_filter(src + i, stride, vmode, r)); \
695 src += stride; \
696 dst += stride; \
706 dst += stride; \
707 src += stride; \
744 ptrdiff_t stride, int rnd) \
746 put_vc1_mspel_mc(dst, src, stride, a, b, rnd); \
750 ptrdiff_t stride, int rnd) \
752 avg_vc1_mspel_mc(dst, src, stride, a, b, rnd); \
756 ptrdiff_t stride, int rnd) \
758 put_vc1_mspel_mc_16(dst, src, stride, a, b, rnd); \
762 ptrdiff_t stride, int rnd) \
764 avg_vc1_mspel_mc_16(dst, src, stride, a, b, rnd); \
788 C * src[stride + a] + D * src[stride + a + 1] + 32 - 4) >> 6)
791 ptrdiff_t stride, int h, int x, int y)
810 dst += stride;
811 src += stride;
816 ptrdiff_t stride, int h, int x, int y)
831 dst += stride;
832 src += stride;
839 ptrdiff_t stride, int h, int x, int y)
858 dst += stride;
859 src += stride;
865 ptrdiff_t stride, int h, int x, int y)
880 dst += stride;
881 src += stride;