Lines Matching refs:dst
229 void ff_loop_filter_v_4_8_lsx(uint8_t *dst, ptrdiff_t stride,
240 DUP4_ARG2(__lsx_vldx, dst, -stride4, dst, -stride3, dst, -stride2,
241 dst, -stride, p3, p2, p1, p0);
242 q0 = __lsx_vld(dst, 0);
243 DUP2_ARG2(__lsx_vldx, dst, stride, dst, stride2, q1, q2);
244 q3 = __lsx_vldx(dst, stride3);
256 __lsx_vstelm_d(p1_out, dst - stride2, 0, 0);
257 __lsx_vstelm_d(p0_out, dst - stride, 0, 0);
258 __lsx_vstelm_d(q0_out, dst , 0, 0);
259 __lsx_vstelm_d(q1_out, dst + stride, 0, 0);
262 void ff_loop_filter_v_44_16_lsx(uint8_t *dst, ptrdiff_t stride,
274 DUP4_ARG2(__lsx_vldx, dst, -stride4, dst, -stride3, dst, -stride2,
275 dst, -stride, p3, p2, p1, p0);
276 q0 = __lsx_vld(dst, 0);
277 DUP2_ARG2(__lsx_vldx, dst, stride, dst, stride2, q1, q2);
278 q3 = __lsx_vldx(dst, stride3);
296 __lsx_vst(p1, dst - stride2, 0);
297 __lsx_vst(p0, dst - stride, 0);
298 __lsx_vst(q0, dst , 0);
299 __lsx_vst(q1, dst + stride, 0);
302 void ff_loop_filter_v_8_8_lsx(uint8_t *dst, ptrdiff_t stride,
318 DUP4_ARG2(__lsx_vldx, dst, -stride4, dst, -stride3, dst, -stride2,
319 dst, -stride, p3, p2, p1, p0);
320 q0 = __lsx_vld(dst, 0);
321 DUP2_ARG2(__lsx_vldx, dst, stride, dst, stride2, q1, q2);
322 q3 = __lsx_vldx(dst, stride3);
338 __lsx_vstelm_d(p1_out, dst - stride2, 0, 0);
339 __lsx_vstelm_d(p0_out, dst - stride, 0, 0);
340 __lsx_vstelm_d(q0_out, dst , 0, 0);
341 __lsx_vstelm_d(q1_out, dst + stride, 0, 0);
365 __lsx_vstelm_d(p2_out, dst - stride3, 0, 0);
366 __lsx_vstelm_d(p1_out, dst - stride2, 0, 0);
367 __lsx_vstelm_d(p0_out, dst - stride, 0, 0);
368 __lsx_vstelm_d(q0_out, dst, 0, 0);
369 __lsx_vstelm_d(q1_out, dst + stride, 0, 0);
370 __lsx_vstelm_d(q2_out, dst + stride2, 0, 0);
374 void ff_loop_filter_v_88_16_lsx(uint8_t *dst, ptrdiff_t stride,
394 DUP4_ARG2(__lsx_vldx, dst, -stride4, dst, -stride3, dst, -stride2,
395 dst, -stride, p3, p2, p1, p0);
396 q0 = __lsx_vld(dst, 0);
397 DUP2_ARG2(__lsx_vldx, dst, stride, dst, stride2, q1, q2);
398 q3 = __lsx_vldx(dst, stride3);
421 __lsx_vst(p1_out, dst - stride2, 0);
422 __lsx_vst(p0_out, dst - stride, 0);
423 __lsx_vst(q0_out, dst, 0);
424 __lsx_vst(q1_out, dst + stride, 0);
456 __lsx_vstx(p2_out, dst, -stride3);
457 __lsx_vstx(p1_out, dst, -stride2);
458 __lsx_vstx(p0_out, dst, -stride);
459 __lsx_vst(q0_out, dst, 0);
460 __lsx_vstx(q1_out, dst, stride);
461 __lsx_vstx(q2_out, dst, stride2);
465 void ff_loop_filter_v_84_16_lsx(uint8_t *dst, ptrdiff_t stride,
482 DUP4_ARG2(__lsx_vldx, dst, -stride4, dst, -stride3, dst, -stride2,
483 dst, -stride, p3, p2, p1, p0);
484 q0 = __lsx_vld(dst, 0);
485 DUP2_ARG2(__lsx_vldx, dst, stride, dst, stride2, q1, q2);
486 q3 = __lsx_vldx(dst, stride3);
511 __lsx_vstx(p1_out, dst, -stride2);
512 __lsx_vstx(p0_out, dst, -stride);
513 __lsx_vst(q0_out, dst, 0);
514 __lsx_vstx(q1_out, dst, stride);
538 __lsx_vstx(p2_out, dst, -stride3);
539 __lsx_vstx(p1_out, dst, -stride2);
540 __lsx_vstx(p0_out, dst, -stride);
541 __lsx_vst(q0_out, dst, 0);
542 __lsx_vstx(q1_out, dst, stride);
543 __lsx_vstx(q2_out, dst, stride2);
547 void ff_loop_filter_v_48_16_lsx(uint8_t *dst, ptrdiff_t stride,
564 DUP4_ARG2(__lsx_vldx, dst, -stride4, dst, -stride3, dst, -stride2,
565 dst, -stride, p3, p2, p1, p0);
566 q0 = __lsx_vld(dst, 0);
567 DUP2_ARG2(__lsx_vldx, dst, stride, dst, stride2, q1, q2);
568 q3 = __lsx_vldx(dst, stride3);
593 __lsx_vstx(p1_out, dst, -stride2);
594 __lsx_vstx(p0_out, dst, -stride);
595 __lsx_vst(q0_out, dst, 0);
596 __lsx_vstx(q1_out, dst, stride);
620 __lsx_vstx(p2_out, dst, -stride3);
621 __lsx_vstx(p1_out, dst, -stride2);
622 __lsx_vstx(p0_out, dst, -stride);
623 __lsx_vst(q0_out, dst, 0);
624 __lsx_vstx(q1_out, dst, stride);
625 __lsx_vstx(q2_out, dst, stride2);
629 static int32_t vp9_hz_lpf_t4_and_t8_16w(uint8_t *dst, ptrdiff_t stride,
650 DUP4_ARG2(__lsx_vldx, dst, -stride4, dst, -stride3, dst, -stride2,
651 dst, -stride, p3, p2, p1, p0);
652 q0 = __lsx_vld(dst, 0);
653 DUP2_ARG2(__lsx_vldx, dst, stride, dst, stride2, q1, q2);
654 q3 = __lsx_vldx(dst, stride3);
669 __lsx_vstx(p1_out, dst, -stride2);
670 __lsx_vstx(p0_out, dst, -stride);
671 __lsx_vst(q0_out, dst, 0);
672 __lsx_vstx(q1_out, dst, stride);
716 static void vp9_hz_lpf_t16_16w(uint8_t *dst, ptrdiff_t stride,
722 uint8_t *dst_tmp = dst - stride4;
723 uint8_t *dst_tmp1 = dst + stride4;
746 q0 = __lsx_vld(dst, 0);
747 DUP2_ARG2(__lsx_vldx, dst, stride, dst, stride2, q1, q2);
748 q3 = __lsx_vldx(dst, stride3);
761 __lsx_vstx(p2, dst, -stride3);
762 __lsx_vstx(p1, dst, -stride2);
763 __lsx_vstx(p0, dst, -stride);
764 __lsx_vst(q0, dst, 0);
765 __lsx_vstx(q1, dst, stride);
766 __lsx_vstx(q2, dst, stride2);
768 dst = dst_tmp - stride3;
822 __lsx_vst(p6, dst, 0);
823 dst += stride;
842 __lsx_vst(p5, dst, 0);
843 dst += stride;
862 __lsx_vst(p4, dst, 0);
863 dst += stride;
882 __lsx_vst(p3, dst, 0);
883 dst += stride;
903 __lsx_vst(filter8, dst, 0);
904 dst += stride;
924 __lsx_vst(filter8, dst, 0);
925 dst += stride;
945 __lsx_vst(filter8, dst, 0);
946 dst += stride;
966 __lsx_vst(filter8, dst, 0);
967 dst += stride;
985 __lsx_vst(filter8, dst, 0);
986 dst += stride;
1004 __lsx_vst(filter8, dst, 0);
1005 dst += stride;
1022 __lsx_vst(q3, dst, 0);
1023 dst += stride;
1040 __lsx_vst(q4, dst, 0);
1041 dst += stride;
1058 __lsx_vst(q5, dst, 0);
1059 dst += stride;
1076 __lsx_vst(q6, dst, 0);
1080 void ff_loop_filter_v_16_16_lsx(uint8_t *dst, ptrdiff_t stride,
1088 early_exit = vp9_hz_lpf_t4_and_t8_16w(dst, stride, &filter48[0],
1092 vp9_hz_lpf_t16_16w(dst, stride, filter48);
1096 void ff_loop_filter_v_16_8_lsx(uint8_t *dst, ptrdiff_t stride,
1104 uint8_t *dst_tmp = dst - stride4;
1105 uint8_t *dst_tmp1 = dst + stride4;
1118 DUP4_ARG2(__lsx_vldx, dst, -stride4, dst, -stride3, dst, -stride2,
1119 dst, -stride, p3, p2, p1, p0);
1120 q0 = __lsx_vld(dst, 0);
1121 DUP2_ARG2(__lsx_vldx, dst, stride, dst, stride2, q1, q2);
1122 q3 = __lsx_vldx(dst, stride3);
1138 __lsx_vstelm_d(p1_out, dst - stride2, 0, 0);
1139 __lsx_vstelm_d(p0_out, dst - stride, 0, 0);
1140 __lsx_vstelm_d(q0_out, dst , 0, 0);
1141 __lsx_vstelm_d(q1_out, dst + stride, 0, 0);
1177 dst -= stride3;
1178 __lsx_vstelm_d(p2_out, dst, 0, 0);
1179 dst += stride;
1180 __lsx_vstelm_d(p1_out, dst, 0, 0);
1181 dst += stride;
1182 __lsx_vstelm_d(p0_out, dst, 0, 0);
1183 dst += stride;
1184 __lsx_vstelm_d(q0_out, dst, 0, 0);
1185 dst += stride;
1186 __lsx_vstelm_d(q1_out, dst, 0, 0);
1187 dst += stride;
1188 __lsx_vstelm_d(q2_out, dst, 0, 0);
1201 dst = dst_tmp - stride3;
1223 __lsx_vstelm_d(p0_filter16, dst, 0, 0);
1224 dst += stride;
1225 __lsx_vstelm_d(p1_filter16, dst, 0, 0);
1226 dst += stride;
1243 __lsx_vstelm_d(p0_filter16, dst, 0, 0);
1244 dst += stride;
1245 __lsx_vstelm_d(p1_filter16, dst, 0, 0);
1246 dst += stride;
1263 __lsx_vstelm_d(p0_filter16, dst, 0, 0);
1264 dst += stride;
1265 __lsx_vstelm_d(p1_filter16, dst, 0, 0);
1266 dst += stride;
1283 __lsx_vstelm_d(p0_filter16, dst, 0, 0);
1284 dst += stride;
1285 __lsx_vstelm_d(p1_filter16, dst, 0, 0);
1286 dst += stride;
1303 __lsx_vstelm_d(p0_filter16, dst, 0, 0);
1304 dst += stride;
1305 __lsx_vstelm_d(p1_filter16, dst, 0, 0);
1306 dst += stride;
1323 __lsx_vstelm_d(p0_filter16, dst, 0, 0);
1324 dst += stride;
1325 __lsx_vstelm_d(p1_filter16, dst, 0, 0);
1326 dst += stride;
1343 __lsx_vstelm_d(p0_filter16, dst, 0, 0);
1344 dst += stride;
1345 __lsx_vstelm_d(p1_filter16, dst, 0, 0);
1350 void ff_loop_filter_h_4_8_lsx(uint8_t *dst, ptrdiff_t stride,
1358 uint8_t *dst_tmp1 = dst - 4;
1384 dst -= 2;
1385 __lsx_vstelm_w(vec2, dst, 0, 0);
1386 __lsx_vstelm_w(vec2, dst + stride, 0, 1);
1387 __lsx_vstelm_w(vec2, dst + stride2, 0, 2);
1388 __lsx_vstelm_w(vec2, dst + stride3, 0, 3);
1389 dst += stride4;
1390 __lsx_vstelm_w(vec3, dst, 0, 0);
1391 __lsx_vstelm_w(vec3, dst + stride, 0, 1);
1392 __lsx_vstelm_w(vec3, dst + stride2, 0, 2);
1393 __lsx_vstelm_w(vec3, dst + stride3, 0, 3);
1396 void ff_loop_filter_h_44_16_lsx(uint8_t *dst, ptrdiff_t stride,
1404 uint8_t *dst_tmp = dst - 4;
1454 dst -= 2;
1455 __lsx_vstelm_w(tmp2, dst, 0, 0);
1456 __lsx_vstelm_w(tmp2, dst + stride, 0, 1);
1457 __lsx_vstelm_w(tmp2, dst + stride2, 0, 2);
1458 __lsx_vstelm_w(tmp2, dst + stride3, 0, 3);
1459 dst += stride4;
1460 __lsx_vstelm_w(tmp3, dst, 0, 0);
1461 __lsx_vstelm_w(tmp3, dst + stride, 0, 1);
1462 __lsx_vstelm_w(tmp3, dst + stride2, 0, 2);
1463 __lsx_vstelm_w(tmp3, dst + stride3, 0, 3);
1464 dst += stride4;
1465 __lsx_vstelm_w(tmp4, dst, 0, 0);
1466 __lsx_vstelm_w(tmp4, dst + stride, 0, 1);
1467 __lsx_vstelm_w(tmp4, dst + stride2, 0, 2);
1468 __lsx_vstelm_w(tmp4, dst + stride3, 0, 3);
1469 dst += stride4;
1470 __lsx_vstelm_w(tmp5, dst, 0, 0);
1471 __lsx_vstelm_w(tmp5, dst + stride, 0, 1);
1472 __lsx_vstelm_w(tmp5, dst + stride2, 0, 2);
1473 __lsx_vstelm_w(tmp5, dst + stride3, 0, 3);
1476 void ff_loop_filter_h_8_8_lsx(uint8_t *dst, ptrdiff_t stride,
1484 uint8_t *dst_tmp = dst - 4;
1528 dst -= 2;
1529 __lsx_vstelm_w(vec2, dst, 0, 0);
1530 __lsx_vstelm_w(vec2, dst + stride, 0, 1);
1531 __lsx_vstelm_w(vec2, dst + stride2, 0, 2);
1532 __lsx_vstelm_w(vec2, dst + stride3, 0, 3);
1533 dst += stride4;
1534 __lsx_vstelm_w(vec3, dst, 0, 0);
1535 __lsx_vstelm_w(vec3, dst + stride, 0, 1);
1536 __lsx_vstelm_w(vec3, dst + stride2, 0, 2);
1537 __lsx_vstelm_w(vec3, dst + stride3, 0, 3);
1567 dst -= 3;
1568 __lsx_vstelm_w(vec2, dst, 0, 0);
1569 __lsx_vstelm_h(vec4, dst, 4, 0);
1570 dst += stride;
1571 __lsx_vstelm_w(vec2, dst, 0, 1);
1572 __lsx_vstelm_h(vec4, dst, 4, 1);
1573 dst += stride;
1574 __lsx_vstelm_w(vec2, dst, 0, 2);
1575 __lsx_vstelm_h(vec4, dst, 4, 2);
1576 dst += stride;
1577 __lsx_vstelm_w(vec2, dst, 0, 3);
1578 __lsx_vstelm_h(vec4, dst, 4, 3);
1579 dst += stride;
1580 __lsx_vstelm_w(vec3, dst, 0, 0);
1581 __lsx_vstelm_h(vec4, dst, 4, 4);
1582 dst += stride;
1583 __lsx_vstelm_w(vec3, dst, 0, 1);
1584 __lsx_vstelm_h(vec4, dst, 4, 5);
1585 dst += stride;
1586 __lsx_vstelm_w(vec3, dst, 0, 2);
1587 __lsx_vstelm_h(vec4, dst, 4, 6);
1588 dst += stride;
1589 __lsx_vstelm_w(vec3, dst, 0, 3);
1590 __lsx_vstelm_h(vec4, dst, 4, 7);
1594 void ff_loop_filter_h_88_16_lsx(uint8_t *dst, ptrdiff_t stride,
1602 uint8_t *dst_tmp = dst - 4;
1667 dst -= 2;
1668 __lsx_vstelm_w(vec2, dst, 0, 0);
1669 __lsx_vstelm_w(vec2, dst + stride, 0, 1);
1670 __lsx_vstelm_w(vec2, dst + stride2, 0, 2);
1671 __lsx_vstelm_w(vec2, dst + stride3, 0, 3);
1672 dst += stride4;
1673 __lsx_vstelm_w(vec3, dst, 0, 0);
1674 __lsx_vstelm_w(vec3, dst + stride, 0, 1);
1675 __lsx_vstelm_w(vec3, dst + stride2, 0, 2);
1676 __lsx_vstelm_w(vec3, dst + stride3, 0, 3);
1677 dst += stride4;
1678 __lsx_vstelm_w(vec4, dst, 0, 0);
1679 __lsx_vstelm_w(vec4, dst + stride, 0, 1);
1680 __lsx_vstelm_w(vec4, dst + stride2, 0, 2);
1681 __lsx_vstelm_w(vec4, dst + stride3, 0, 3);
1682 dst += stride4;
1683 __lsx_vstelm_w(vec5, dst, 0, 0);
1684 __lsx_vstelm_w(vec5, dst + stride, 0, 1);
1685 __lsx_vstelm_w(vec5, dst + stride2, 0, 2);
1686 __lsx_vstelm_w(vec5, dst + stride3, 0, 3);
1728 dst -= 3;
1729 __lsx_vstelm_w(vec3, dst, 0, 0);
1730 __lsx_vstelm_h(vec2, dst, 4, 0);
1731 dst += stride;
1732 __lsx_vstelm_w(vec3, dst, 0, 1);
1733 __lsx_vstelm_h(vec2, dst, 4, 1);
1734 dst += stride;
1735 __lsx_vstelm_w(vec3, dst, 0, 2);
1736 __lsx_vstelm_h(vec2, dst, 4, 2);
1737 dst += stride;
1738 __lsx_vstelm_w(vec3, dst, 0, 3);
1739 __lsx_vstelm_h(vec2, dst, 4, 3);
1740 dst += stride;
1741 __lsx_vstelm_w(vec4, dst, 0, 0);
1742 __lsx_vstelm_h(vec2, dst, 4, 4);
1743 dst += stride;
1744 __lsx_vstelm_w(vec4, dst, 0, 1);
1745 __lsx_vstelm_h(vec2, dst, 4, 5);
1746 dst += stride;
1747 __lsx_vstelm_w(vec4, dst, 0, 2);
1748 __lsx_vstelm_h(vec2, dst, 4, 6);
1749 dst += stride;
1750 __lsx_vstelm_w(vec4, dst, 0, 3);
1751 __lsx_vstelm_h(vec2, dst, 4, 7);
1752 dst += stride;
1753 __lsx_vstelm_w(vec6, dst, 0, 0);
1754 __lsx_vstelm_h(vec5, dst, 4, 0);
1755 dst += stride;
1756 __lsx_vstelm_w(vec6, dst, 0, 1);
1757 __lsx_vstelm_h(vec5, dst, 4, 1);
1758 dst += stride;
1759 __lsx_vstelm_w(vec6, dst, 0, 2);
1760 __lsx_vstelm_h(vec5, dst, 4, 2);
1761 dst += stride;
1762 __lsx_vstelm_w(vec6, dst, 0, 3);
1763 __lsx_vstelm_h(vec5, dst, 4, 3);
1764 dst += stride;
1765 __lsx_vstelm_w(vec7, dst, 0, 0);
1766 __lsx_vstelm_h(vec5, dst, 4, 4);
1767 dst += stride;
1768 __lsx_vstelm_w(vec7, dst, 0, 1);
1769 __lsx_vstelm_h(vec5, dst, 4, 5);
1770 dst += stride;
1771 __lsx_vstelm_w(vec7, dst, 0, 2);
1772 __lsx_vstelm_h(vec5, dst, 4, 6);
1773 dst += stride;
1774 __lsx_vstelm_w(vec7, dst, 0, 3);
1775 __lsx_vstelm_h(vec5, dst, 4, 7);
1779 void ff_loop_filter_h_84_16_lsx(uint8_t *dst, ptrdiff_t stride,
1787 uint8_t *dst_tmp = dst - 4;
1851 dst -= 2;
1852 __lsx_vstelm_w(vec2, dst, 0, 0);
1853 __lsx_vstelm_w(vec2, dst + stride, 0, 1);
1854 __lsx_vstelm_w(vec2, dst + stride2, 0, 2);
1855 __lsx_vstelm_w(vec2, dst + stride3, 0, 3);
1856 dst += stride4;
1857 __lsx_vstelm_w(vec3, dst, 0, 0);
1858 __lsx_vstelm_w(vec3, dst + stride, 0, 1);
1859 __lsx_vstelm_w(vec3, dst + stride2, 0, 2);
1860 __lsx_vstelm_w(vec3, dst + stride3, 0, 3);
1861 dst += stride4;
1862 __lsx_vstelm_w(vec4, dst, 0, 0);
1863 __lsx_vstelm_w(vec4, dst + stride, 0, 1);
1864 __lsx_vstelm_w(vec4, dst + stride2, 0, 2);
1865 __lsx_vstelm_w(vec4, dst + stride3, 0, 3);
1866 dst += stride4;
1867 __lsx_vstelm_w(vec5, dst, 0, 0);
1868 __lsx_vstelm_w(vec5, dst + stride, 0, 1);
1869 __lsx_vstelm_w(vec5, dst + stride2, 0, 2);
1870 __lsx_vstelm_w(vec5, dst + stride3, 0, 3);
1903 dst -= 3;
1904 __lsx_vstelm_w(vec3, dst, 0, 0);
1905 __lsx_vstelm_h(vec2, dst, 4, 0);
1906 dst += stride;
1907 __lsx_vstelm_w(vec3, dst, 0, 1);
1908 __lsx_vstelm_h(vec2, dst, 4, 1);
1909 dst += stride;
1910 __lsx_vstelm_w(vec3, dst, 0, 2);
1911 __lsx_vstelm_h(vec2, dst, 4, 2);
1912 dst += stride;
1913 __lsx_vstelm_w(vec3, dst, 0, 3);
1914 __lsx_vstelm_h(vec2, dst, 4, 3);
1915 dst += stride;
1916 __lsx_vstelm_w(vec4, dst, 0, 0);
1917 __lsx_vstelm_h(vec2, dst, 4, 4);
1918 dst += stride;
1919 __lsx_vstelm_w(vec4, dst, 0, 1);
1920 __lsx_vstelm_h(vec2, dst, 4, 5);
1921 dst += stride;
1922 __lsx_vstelm_w(vec4, dst, 0, 2);
1923 __lsx_vstelm_h(vec2, dst, 4, 6);
1924 dst += stride;
1925 __lsx_vstelm_w(vec4, dst, 0, 3);
1926 __lsx_vstelm_h(vec2, dst, 4, 7);
1927 dst += stride;
1928 __lsx_vstelm_w(vec6, dst, 0, 0);
1929 __lsx_vstelm_h(vec5, dst, 4, 0);
1930 dst += stride;
1931 __lsx_vstelm_w(vec6, dst, 0, 1);
1932 __lsx_vstelm_h(vec5, dst, 4, 1);
1933 dst += stride;
1934 __lsx_vstelm_w(vec6, dst, 0, 2);
1935 __lsx_vstelm_h(vec5, dst, 4, 2);
1936 dst += stride;
1937 __lsx_vstelm_w(vec6, dst, 0, 3);
1938 __lsx_vstelm_h(vec5, dst, 4, 3);
1939 dst += stride;
1940 __lsx_vstelm_w(vec7, dst, 0, 0);
1941 __lsx_vstelm_h(vec5, dst, 4, 4);
1942 dst += stride;
1943 __lsx_vstelm_w(vec7, dst, 0, 1);
1944 __lsx_vstelm_h(vec5, dst, 4, 5);
1945 dst += stride;
1946 __lsx_vstelm_w(vec7, dst, 0, 2);
1947 __lsx_vstelm_h(vec5, dst, 4, 6);
1948 dst += stride;
1949 __lsx_vstelm_w(vec7, dst, 0, 3);
1950 __lsx_vstelm_h(vec5, dst, 4, 7);
1954 void ff_loop_filter_h_48_16_lsx(uint8_t *dst, ptrdiff_t stride,
1962 uint8_t *dst_tmp = dst - 4;
2026 dst -= 2;
2027 __lsx_vstelm_w(vec2, dst, 0, 0);
2028 __lsx_vstelm_w(vec2, dst + stride, 0, 1);
2029 __lsx_vstelm_w(vec2, dst + stride2, 0, 2);
2030 __lsx_vstelm_w(vec2, dst + stride3, 0, 3);
2031 dst += stride4;
2032 __lsx_vstelm_w(vec3, dst, 0, 0);
2033 __lsx_vstelm_w(vec3, dst + stride, 0, 1);
2034 __lsx_vstelm_w(vec3, dst + stride2, 0, 2);
2035 __lsx_vstelm_w(vec3, dst + stride3, 0, 3);
2036 dst += stride4;
2037 __lsx_vstelm_w(vec4, dst, 0, 0);
2038 __lsx_vstelm_w(vec4, dst + stride, 0, 1);
2039 __lsx_vstelm_w(vec4, dst + stride2, 0, 2);
2040 __lsx_vstelm_w(vec4, dst + stride3, 0, 3);
2041 dst += stride4;
2042 __lsx_vstelm_w(vec5, dst, 0, 0);
2043 __lsx_vstelm_w(vec5, dst + stride, 0, 1);
2044 __lsx_vstelm_w(vec5, dst + stride2, 0, 2);
2045 __lsx_vstelm_w(vec5, dst + stride3, 0, 3);
2079 dst -= 3;
2080 __lsx_vstelm_w(vec3, dst, 0, 0);
2081 __lsx_vstelm_h(vec2, dst, 4, 0);
2082 dst += stride;
2083 __lsx_vstelm_w(vec3, dst, 0, 1);
2084 __lsx_vstelm_h(vec2, dst, 4, 1);
2085 dst += stride;
2086 __lsx_vstelm_w(vec3, dst, 0, 2);
2087 __lsx_vstelm_h(vec2, dst, 4, 2);
2088 dst += stride;
2089 __lsx_vstelm_w(vec3, dst, 0, 3);
2090 __lsx_vstelm_h(vec2, dst, 4, 3);
2091 dst += stride;
2092 __lsx_vstelm_w(vec4, dst, 0, 0);
2093 __lsx_vstelm_h(vec2, dst, 4, 4);
2094 dst += stride;
2095 __lsx_vstelm_w(vec4, dst, 0, 1);
2096 __lsx_vstelm_h(vec2, dst, 4, 5);
2097 dst += stride;
2098 __lsx_vstelm_w(vec4, dst, 0, 2);
2099 __lsx_vstelm_h(vec2, dst, 4, 6);
2100 dst += stride;
2101 __lsx_vstelm_w(vec4, dst, 0, 3);
2102 __lsx_vstelm_h(vec2, dst, 4, 7);
2103 dst += stride;
2104 __lsx_vstelm_w(vec6, dst, 0, 0);
2105 __lsx_vstelm_h(vec5, dst, 4, 0);
2106 dst += stride;
2107 __lsx_vstelm_w(vec6, dst, 0, 1);
2108 __lsx_vstelm_h(vec5, dst, 4, 1);
2109 dst += stride;
2110 __lsx_vstelm_w(vec6, dst, 0, 2);
2111 __lsx_vstelm_h(vec5, dst, 4, 2);
2112 dst += stride;
2113 __lsx_vstelm_w(vec6, dst, 0, 3);
2114 __lsx_vstelm_h(vec5, dst, 4, 3);
2115 dst += stride;
2116 __lsx_vstelm_w(vec7, dst, 0, 0);
2117 __lsx_vstelm_h(vec5, dst, 4, 4);
2118 dst += stride;
2119 __lsx_vstelm_w(vec7, dst, 0, 1);
2120 __lsx_vstelm_h(vec5, dst, 4, 5);
2121 dst += stride;
2122 __lsx_vstelm_w(vec7, dst, 0, 2);
2123 __lsx_vstelm_h(vec5, dst, 4, 6);
2124 dst += stride;
2125 __lsx_vstelm_w(vec7, dst, 0, 3);
2126 __lsx_vstelm_h(vec5, dst, 4, 7);
2356 static int32_t vp9_vt_lpf_t16_8w(uint8_t *dst, uint8_t *dst_org,
2369 uint8_t *dst_tmp = dst - 128;
2376 DUP4_ARG2(__lsx_vld, dst, 0, dst, 16, dst, 32, dst, 48, q0, q1, q2, q3);
2377 DUP4_ARG2(__lsx_vld, dst, 64, dst, 80, dst, 96, dst, 112, q4, q5, q6, q7);
2423 dst -= 7 * 16;
2450 __lsx_vstelm_d(p6, dst, 0, 0);
2451 dst += 16;
2462 __lsx_vstelm_d(p5, dst, 0, 0);
2463 dst += 16;
2474 __lsx_vstelm_d(p4, dst, 0, 0);
2475 dst += 16;
2486 __lsx_vstelm_d(p3, dst, 0, 0);
2487 dst += 16;
2499 __lsx_vstelm_d(filter8, dst, 0, 0);
2500 dst += 16;
2512 __lsx_vstelm_d(filter8, dst, 0, 0);
2513 dst += 16;
2525 __lsx_vstelm_d(filter8, dst, 0, 0);
2526 dst += 16;
2538 __lsx_vstelm_d(filter8, dst, 0, 0);
2539 dst += 16;
2550 __lsx_vstelm_d(filter8, dst, 0, 0);
2551 dst += 16;
2562 __lsx_vstelm_d(filter8, dst, 0, 0);
2563 dst += 16;
2573 __lsx_vstelm_d(q3, dst, 0, 0);
2574 dst += 16;
2584 __lsx_vstelm_d(q4, dst, 0, 0);
2585 dst += 16;
2595 __lsx_vstelm_d(q5, dst, 0, 0);
2596 dst += 16;
2606 __lsx_vstelm_d(q6, dst, 0, 0);
2612 void ff_loop_filter_h_16_8_lsx(uint8_t *dst, ptrdiff_t stride,
2621 vp9_transpose_16x8_to_8x16(dst - 8, stride, transposed_input);
2624 &filter48[0], dst, stride,
2628 early_exit = vp9_vt_lpf_t16_8w((transposed_input + 16 * 8), dst, stride,
2632 vp9_transpose_8x16_to_16x8(transposed_input, dst - 8, stride);
2637 static int32_t vp9_vt_lpf_t4_and_t8_16w(uint8_t *dst, uint8_t *filter48,
2659 DUP4_ARG2(__lsx_vld, dst, -64, dst, -48, dst, -32, dst, -16,
2661 DUP4_ARG2(__lsx_vld, dst, 0, dst, 16, dst, 32, dst, 48, q0, q1, q2, q3);
2749 static int32_t vp9_vt_lpf_t16_16w(uint8_t *dst, uint8_t *dst_org,
2766 uint8_t *dst_tmp = dst - 128;
2774 DUP4_ARG2(__lsx_vld, dst, 0, dst, 16, dst, 32, dst, 48, q0, q1, q2, q3);
2775 DUP4_ARG2(__lsx_vld, dst, 64, dst, 80, dst, 96, dst, 112, q4, q5, q6, q7);
2847 dst -= 7 * 16;
2897 __lsx_vst(p6, dst, 0);
2914 __lsx_vst(p5, dst, 16);
2931 __lsx_vst(p4, dst, 16*2);
2948 __lsx_vst(p3, dst, 16*3);
2966 __lsx_vst(filter8, dst, 16*4);
2984 __lsx_vst(filter8, dst, 16*5);
3002 __lsx_vst(filter8, dst, 16*6);
3020 __lsx_vst(filter8, dst, 16*7);
3036 __lsx_vst(filter8, dst, 16*8);
3052 __lsx_vst(filter8, dst, 16*9);
3067 __lsx_vst(q3, dst, 16*10);
3082 __lsx_vst(q4, dst, 16*11);
3097 __lsx_vst(q5, dst, 16*12);
3112 __lsx_vst(q6, dst, 16*13);
3118 void ff_loop_filter_h_16_16_lsx(uint8_t *dst, ptrdiff_t stride,
3127 vp9_transpose_16x16((dst - 8), stride, &transposed_input[0], 16);
3130 &filter48[0], dst, stride,
3134 early_exit = vp9_vt_lpf_t16_16w((transposed_input + 16 * 8), dst,
3138 vp9_transpose_16x16(transposed_input, 16, (dst - 8), stride);