Lines Matching defs:stride
644 #define FILTER_6TAP(src, F, stride) \
645 cm[(F[2] * src[x + 0 * stride] - F[1] * src[x - 1 * stride] + \
646 F[0] * src[x - 2 * stride] + F[3] * src[x + 1 * stride] - \
647 F[4] * src[x + 2 * stride] + F[5] * src[x + 3 * stride] + 64) >> 7]
649 #define FILTER_4TAP(src, F, stride) \
650 cm[(F[2] * src[x + 0 * stride] - F[1] * src[x - 1 * stride] + \
651 F[3] * src[x + 1 * stride] - F[4] * src[x + 2 * stride] + 64) >> 7]
669 ptrdiff_t stride)
671 int av_unused p1 = p[-2 * stride];
672 int av_unused p0 = p[-1 * stride];
673 int av_unused q0 = p[ 0 * stride];
674 int av_unused q1 = p[ 1 * stride];
689 p[-1 * stride] = cm[p0 + f2];
690 p[ 0 * stride] = cm[q0 - f1];
694 ptrdiff_t stride)
696 int av_unused p1 = p[-2 * stride];
697 int av_unused p0 = p[-1 * stride];
698 int av_unused q0 = p[ 0 * stride];
699 int av_unused q1 = p[ 1 * stride];
713 p[-1 * stride] = cm[p0 + f2];
714 p[ 0 * stride] = cm[q0 - f1];
716 p[-2 * stride] = cm[p1 + a];
717 p[ 1 * stride] = cm[q1 - a];
720 static av_always_inline int vp8_simple_limit(uint8_t *p, ptrdiff_t stride,
723 int av_unused p1 = p[-2 * stride];
724 int av_unused p0 = p[-1 * stride];
725 int av_unused q0 = p[ 0 * stride];
726 int av_unused q1 = p[ 1 * stride];
731 static av_always_inline int hev(uint8_t *p, ptrdiff_t stride, int thresh)
733 int av_unused p1 = p[-2 * stride];
734 int av_unused p0 = p[-1 * stride];
735 int av_unused q0 = p[ 0 * stride];
736 int av_unused q1 = p[ 1 * stride];
741 static av_always_inline void filter_mbedge(uint8_t *p, ptrdiff_t stride)
746 int av_unused p2 = p[-3 * stride];
747 int av_unused p1 = p[-2 * stride];
748 int av_unused p0 = p[-1 * stride];
749 int av_unused q0 = p[ 0 * stride];
750 int av_unused q1 = p[ 1 * stride];
751 int av_unused q2 = p[ 2 * stride];
760 p[-3 * stride] = cm[p2 + a2];
761 p[-2 * stride] = cm[p1 + a1];
762 p[-1 * stride] = cm[p0 + a0];
763 p[ 0 * stride] = cm[q0 - a0];
764 p[ 1 * stride] = cm[q1 - a1];
765 p[ 2 * stride] = cm[q2 - a2];
768 static av_always_inline int vp8_normal_limit(uint8_t *p, ptrdiff_t stride,
771 int av_unused p3 = p[-4 * stride];
772 int av_unused p2 = p[-3 * stride];
773 int av_unused p1 = p[-2 * stride];
774 int av_unused p0 = p[-1 * stride];
775 int av_unused q0 = p[ 0 * stride];
776 int av_unused q1 = p[ 1 * stride];
777 int av_unused q2 = p[ 2 * stride];
778 int av_unused q3 = p[ 3 * stride];
780 return vp8_simple_limit(p, stride, E) &&
787 ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
799 PTR_SUBU "%[tmp0], %[dst], %[stride] \n\t"
801 PTR_SUBU "%[tmp0], %[tmp0], %[stride] \n\t"
803 PTR_SUBU "%[tmp0], %[tmp0], %[stride] \n\t"
805 PTR_SUBU "%[tmp0], %[tmp0], %[stride] \n\t"
807 PTR_ADDU "%[tmp0], %[dst], %[stride] \n\t"
809 PTR_ADDU "%[tmp0], %[tmp0], %[stride] \n\t"
811 PTR_ADDU "%[tmp0], %[tmp0], %[stride] \n\t"
816 PTR_SUBU "%[tmp0], %[dst], %[stride] \n\t"
818 PTR_SUBU "%[tmp0], %[tmp0], %[stride] \n\t"
820 PTR_SUBU "%[tmp0], %[tmp0], %[stride] \n\t"
822 PTR_ADDU "%[tmp0], %[dst], %[stride] \n\t"
824 PTR_ADDU "%[tmp0], %[tmp0], %[stride] \n\t"
840 [i]"r"((mips_reg)flim_I), [stride]"r"((mips_reg)stride)
846 ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
851 if (vp8_normal_limit(dst + i * 1, stride, flim_E, flim_I)) {
852 int hv = hev(dst + i * 1, stride, hev_thresh);
854 vp8_filter_common_is4tap(dst + i * 1, stride);
856 vp8_filter_common_isnot4tap(dst + i * 1, stride);
861 ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
873 PTR_ADDU "%[tmp0], %[dst], %[stride] \n\t"
875 PTR_ADDU "%[tmp0], %[tmp0], %[stride] \n\t"
877 PTR_ADDU "%[tmp0], %[tmp0], %[stride] \n\t"
879 PTR_ADDU "%[tmp0], %[tmp0], %[stride] \n\t"
881 PTR_ADDU "%[tmp0], %[tmp0], %[stride] \n\t"
883 PTR_ADDU "%[tmp0], %[tmp0], %[stride] \n\t"
885 PTR_ADDU "%[tmp0], %[tmp0], %[stride] \n\t"
898 PTR_ADDU "%[dst], %[dst], %[stride] \n\t"
900 PTR_ADDU "%[dst], %[dst], %[stride] \n\t"
902 PTR_ADDU "%[dst], %[dst], %[stride] \n\t"
904 PTR_ADDU "%[dst], %[dst], %[stride] \n\t"
906 PTR_ADDU "%[dst], %[dst], %[stride] \n\t"
908 PTR_ADDU "%[dst], %[dst], %[stride] \n\t"
910 PTR_ADDU "%[dst], %[dst], %[stride] \n\t"
926 [i]"r"((mips_reg)flim_I), [stride]"r"((mips_reg)stride)
932 ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
937 if (vp8_normal_limit(dst + i * stride, 1, flim_E, flim_I)) {
938 int hv = hev(dst + i * stride, 1, hev_thresh);
940 vp8_filter_common_is4tap(dst + i * stride, 1);
942 vp8_filter_common_isnot4tap(dst + i * stride, 1);
1104 void ff_vp8_idct_add_mmi(uint8_t *dst, int16_t block[16], ptrdiff_t stride)
1232 : [dst0]"r"(dst), [dst1]"r"(dst+stride),
1233 [dst2]"r"(dst+2*stride), [dst3]"r"(dst+3*stride),
1268 dst += stride;
1273 void ff_vp8_idct_dc_add_mmi(uint8_t *dst, int16_t block[16], ptrdiff_t stride)
1311 : [dst0]"r"(dst), [dst1]"r"(dst+stride),
1312 [dst2]"r"(dst+2*stride), [dst3]"r"(dst+3*stride),
1326 dst += stride;
1332 ptrdiff_t stride)
1334 ff_vp8_idct_dc_add_mmi(dst + 0, block[0], stride);
1335 ff_vp8_idct_dc_add_mmi(dst + 4, block[1], stride);
1336 ff_vp8_idct_dc_add_mmi(dst + 8, block[2], stride);
1337 ff_vp8_idct_dc_add_mmi(dst + 12, block[3], stride);
1341 ptrdiff_t stride)
1343 ff_vp8_idct_dc_add_mmi(dst + stride * 0 + 0, block[0], stride);
1344 ff_vp8_idct_dc_add_mmi(dst + stride * 0 + 4, block[1], stride);
1345 ff_vp8_idct_dc_add_mmi(dst + stride * 4 + 0, block[2], stride);
1346 ff_vp8_idct_dc_add_mmi(dst + stride * 4 + 4, block[3], stride);
1350 void ff_vp8_v_loop_filter16_mmi(uint8_t *dst, ptrdiff_t stride, int flim_E,
1353 vp8_v_loop_filter8_mmi(dst, stride, flim_E, flim_I, hev_thresh);
1354 vp8_v_loop_filter8_mmi(dst + 8, stride, flim_E, flim_I, hev_thresh);
1357 void ff_vp8_h_loop_filter16_mmi(uint8_t *dst, ptrdiff_t stride, int flim_E,
1360 vp8_h_loop_filter8_mmi(dst, stride, flim_E, flim_I, hev_thresh);
1361 vp8_h_loop_filter8_mmi(dst + 8 * stride, stride, flim_E, flim_I,
1365 void ff_vp8_v_loop_filter8uv_mmi(uint8_t *dstU, uint8_t *dstV, ptrdiff_t stride,
1368 vp8_v_loop_filter8_mmi(dstU, stride, flim_E, flim_I, hev_thresh);
1369 vp8_v_loop_filter8_mmi(dstV, stride, flim_E, flim_I, hev_thresh);
1372 void ff_vp8_h_loop_filter8uv_mmi(uint8_t *dstU, uint8_t *dstV, ptrdiff_t stride,
1375 vp8_h_loop_filter8_mmi(dstU, stride, flim_E, flim_I, hev_thresh);
1376 vp8_h_loop_filter8_mmi(dstV, stride, flim_E, flim_I, hev_thresh);
1380 void ff_vp8_v_loop_filter16_inner_mmi(uint8_t *dst, ptrdiff_t stride,
1386 if (vp8_normal_limit(dst + i * 1, stride, flim_E, flim_I)) {
1387 int hv = hev(dst + i * 1, stride, hev_thresh);
1389 vp8_filter_common_is4tap(dst + i * 1, stride);
1391 vp8_filter_common_isnot4tap(dst + i * 1, stride);
1395 void ff_vp8_h_loop_filter16_inner_mmi(uint8_t *dst, ptrdiff_t stride,
1401 if (vp8_normal_limit(dst + i * stride, 1, flim_E, flim_I)) {
1402 int hv = hev(dst + i * stride, 1, hev_thresh);
1404 vp8_filter_common_is4tap(dst + i * stride, 1);
1406 vp8_filter_common_isnot4tap(dst + i * stride, 1);
1411 ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
1413 vp8_v_loop_filter8_inner_mmi(dstU, stride, flim_E, flim_I, hev_thresh);
1414 vp8_v_loop_filter8_inner_mmi(dstV, stride, flim_E, flim_I, hev_thresh);
1418 ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
1420 vp8_h_loop_filter8_inner_mmi(dstU, stride, flim_E, flim_I, hev_thresh);
1421 vp8_h_loop_filter8_inner_mmi(dstV, stride, flim_E, flim_I, hev_thresh);
1424 void ff_vp8_v_loop_filter_simple_mmi(uint8_t *dst, ptrdiff_t stride, int flim)
1429 if (vp8_simple_limit(dst + i, stride, flim))
1430 vp8_filter_common_is4tap(dst + i, stride);
1433 void ff_vp8_h_loop_filter_simple_mmi(uint8_t *dst, ptrdiff_t stride, int flim)
1438 if (vp8_simple_limit(dst + i * stride, 1, flim))
1439 vp8_filter_common_is4tap(dst + i * stride, 1);