* [FFmpeg-devel] [PATCH v5 1/4] avcodec/loongarch: Add wrapper for __lsx_vldx
@ 2022-08-02 0:19 Andreas Rheinhardt
2022-08-02 0:23 ` [FFmpeg-devel] [PATCH v5 2/4] avcodec/hevcdsp: Constify src pointers Andreas Rheinhardt
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-08-02 0:19 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Shiyou Yin, Lu Wang, Hao Chen, Andreas Rheinhardt
__lsx_vldx does not accept a pointer to const (in fact,
no function in lsxintrin.h does so), although it is not allowed
to modify the pointed-to buffer. Therefore this commit adds a wrapper
for it in order to constify the HEVC DSP functions in a later commit.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
I have now found a toolchain that supports LSX and LASX:
https://gitee.com/wenux/cross-compiler-la-on-x86
With this it was easy to find out why constifying adds new warnings:
None of the intrinsic functions in lsxintrin.h and lasxintrin.h
use const at all, including the functions used to read from src
(__lsx_vldx for LSX and __lasx_xvldx for LASX).
Therefore I am adding wrappers for these functions. They are added
in commits separate from the constifications in order to be able
to revert them in a simple manner when they are no longer needed,
namely when lsxintrin.h and lasxintrin.h are fixed.
I have resisted the temptation to just #define __lsx_vldx(ptr, stride)
__lsx_vldx((void*)(ptr), (stride)), because I didn't want to mess
with reserved identifiers.
Fixing lsxintrin.h and lasxintrin.h would of course be preferable;
in order to draw loongson's attention to this issue I have cc'ed
several of the devs that contributed the lsx and lasx code
in question.
(All of the above presumes that using __lsx_vldx and __lasx_xvldx
with a pointer to const is safe; if it isn't, then we are in a lot
of trouble.)
libavcodec/loongarch/hevc_lpf_sao_lsx.c | 56 +++---
libavcodec/loongarch/hevc_mc_bi_lsx.c | 144 +++++++--------
libavcodec/loongarch/hevc_mc_uni_lsx.c | 80 +++++----
libavcodec/loongarch/hevc_mc_uniw_lsx.c | 12 +-
libavcodec/loongarch/hevcdsp_lsx.c | 222 ++++++++++++------------
5 files changed, 267 insertions(+), 247 deletions(-)
diff --git a/libavcodec/loongarch/hevc_lpf_sao_lsx.c b/libavcodec/loongarch/hevc_lpf_sao_lsx.c
index fc10e8eda8..d90eaa745e 100644
--- a/libavcodec/loongarch/hevc_lpf_sao_lsx.c
+++ b/libavcodec/loongarch/hevc_lpf_sao_lsx.c
@@ -23,6 +23,10 @@
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "hevcdsp_lsx.h"
+/* __lsx_vldx() from lsxintrin.h does not accept a const void*;
+ * remove the following once it does. */
+#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
+
void ff_hevc_loop_filter_luma_h_8_lsx(uint8_t *src, ptrdiff_t stride,
int32_t beta, int32_t *tc,
uint8_t *p_is_pcm, uint8_t *q_is_pcm)
@@ -1201,17 +1205,17 @@ static void hevc_sao_edge_filter_0degree_16multiple_lsx(uint8_t *dst,
for (; height; height -= 4) {
src_minus1 = src - 1;
src_minus10 = __lsx_vld(src_minus1, 0);
- DUP2_ARG2(__lsx_vldx, src_minus1, src_stride, src_minus1,
+ DUP2_ARG2(LSX_VLDX, src_minus1, src_stride, src_minus1,
src_stride_2x, src_minus11, src_minus12);
- src_minus13 = __lsx_vldx(src_minus1, src_stride_3x);
+ src_minus13 = LSX_VLDX(src_minus1, src_stride_3x);
for (v_cnt = 0; v_cnt < width; v_cnt += 16) {
src_minus1 += 16;
dst_ptr = dst + v_cnt;
src10 = __lsx_vld(src_minus1, 0);
- DUP2_ARG2(__lsx_vldx, src_minus1, src_stride, src_minus1,
+ DUP2_ARG2(LSX_VLDX, src_minus1, src_stride, src_minus1,
src_stride_2x, src11, src12);
- src13 = __lsx_vldx(src_minus1, src_stride_3x);
+ src13 = LSX_VLDX(src_minus1, src_stride_3x);
DUP4_ARG3(__lsx_vshuf_b, src10, src_minus10, shuf1, src11,
src_minus11, shuf1, src12, src_minus12, shuf1, src13,
src_minus13, shuf1, src_zero0, src_zero1,
@@ -1358,7 +1362,7 @@ static void hevc_sao_edge_filter_90degree_4width_lsx(uint8_t *dst,
src_minus11 = src11;
/* load in advance */
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
src10, src11);
__lsx_vstelm_w(dst0, dst, 0, 0);
@@ -1417,7 +1421,7 @@ static void hevc_sao_edge_filter_90degree_8width_lsx(uint8_t *dst,
/* load in advance */
DUP2_ARG2(__lsx_vld, src - src_stride, 0, src, 0, src_minus10, src_minus11);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src10, src11);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src10, src11);
for (height -= 2; height; height -= 2) {
src += src_stride_2x;
@@ -1451,7 +1455,7 @@ static void hevc_sao_edge_filter_90degree_8width_lsx(uint8_t *dst,
src_minus11 = src11;
/* load in advance */
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
src10, src11);
__lsx_vstelm_d(dst0, dst, 0, 0);
@@ -1528,7 +1532,7 @@ static void hevc_sao_edge_filter_90degree_16multiple_lsx(uint8_t *dst,
src_minus10, src_minus11);
for (h_cnt = (height >> 2); h_cnt--;) {
- DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
+ DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
src, src_stride_3x, src, src_stride_4x,
src10, src11, src12, src13);
DUP4_ARG2(__lsx_vseq_b, src_minus11, src_minus10, src_minus11,
@@ -1635,7 +1639,7 @@ static void hevc_sao_edge_filter_45degree_4width_lsx(uint8_t *dst,
/* load in advance */
DUP2_ARG2(__lsx_vld, src_orig - src_stride, 0, src_orig, 0,
src_minus10, src_minus11);
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src10, src11);
for (height -= 2; height; height -= 2) {
@@ -1677,7 +1681,7 @@ static void hevc_sao_edge_filter_45degree_4width_lsx(uint8_t *dst,
src_minus11 = src11;
/* load in advance */
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src10, src11);
__lsx_vstelm_w(dst0, dst, 0, 0);
@@ -1748,7 +1752,7 @@ static void hevc_sao_edge_filter_45degree_8width_lsx(uint8_t *dst,
/* load in advance */
DUP2_ARG2(__lsx_vld, src_orig - src_stride, 0, src_orig, 0, src_minus10,
src_minus11);
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src10, src11);
for (height -= 2; height; height -= 2) {
@@ -1790,7 +1794,7 @@ static void hevc_sao_edge_filter_45degree_8width_lsx(uint8_t *dst,
src_minus11 = src11;
/* load in advance */
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src10, src11)
__lsx_vstelm_d(dst0, dst, 0, 0);
__lsx_vstelm_d(dst0, dst + dst_stride, 0, 1);
@@ -1833,7 +1837,7 @@ static void hevc_sao_edge_filter_45degree_8width_lsx(uint8_t *dst,
src_minus11 = src11;
/* load in advance */
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src10, src11);
__lsx_vstelm_d(dst0, dst, 0, 0);
@@ -1880,17 +1884,17 @@ static void hevc_sao_edge_filter_45degree_16multiple_lsx(uint8_t *dst,
src_orig = src - 1;
dst_orig = dst;
src_minus11 = __lsx_vld(src_orig, 0);
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src_minus12, src_minus13);
- src_minus14 = __lsx_vldx(src_orig, src_stride_3x);
+ src_minus14 = LSX_VLDX(src_orig, src_stride_3x);
for (v_cnt = 0; v_cnt < width; v_cnt += 16) {
src_minus10 = __lsx_vld(src_orig - src_stride, 0);
src_orig += 16;
src10 = __lsx_vld(src_orig, 0);
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig,
src_stride_2x, src11, src12);
- src13 = __lsx_vldx(src_orig, src_stride_3x);
+ src13 = LSX_VLDX(src_orig, src_stride_3x);
src_plus13 = __lsx_vld(src + v_cnt + src_stride_4x, 1);
DUP4_ARG3(__lsx_vshuf_b, src10, src_minus11, shuf1, src11,
@@ -2016,7 +2020,7 @@ static void hevc_sao_edge_filter_135degree_4width_lsx(uint8_t *dst,
/* load in advance */
DUP2_ARG2(__lsx_vld, src_orig - src_stride, 0, src_orig, 0,
src_minus10, src_minus11);
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src10, src11);
for (height -= 2; height; height -= 2) {
@@ -2058,7 +2062,7 @@ static void hevc_sao_edge_filter_135degree_4width_lsx(uint8_t *dst,
src_minus11 = src11;
/* load in advance */
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src10, src11);
__lsx_vstelm_w(dst0, dst, 0, 0);
@@ -2131,7 +2135,7 @@ static void hevc_sao_edge_filter_135degree_8width_lsx(uint8_t *dst,
/* load in advance */
DUP2_ARG2(__lsx_vld, src_orig - src_stride, 0, src_orig, 0,
src_minus10, src_minus11);
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src10, src11);
for (height -= 2; height; height -= 2) {
@@ -2173,7 +2177,7 @@ static void hevc_sao_edge_filter_135degree_8width_lsx(uint8_t *dst,
src_minus11 = src11;
/* load in advance */
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src10, src11);
__lsx_vstelm_d(dst0, dst, 0, 0);
@@ -2255,18 +2259,18 @@ static void hevc_sao_edge_filter_135degree_16multiple_lsx(uint8_t *dst,
dst_orig = dst;
src_minus11 = __lsx_vld(src_orig, 0);
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src_plus10, src_plus11);
- src_plus12 = __lsx_vldx(src_orig, src_stride_3x);
+ src_plus12 = LSX_VLDX(src_orig, src_stride_3x);
for (v_cnt = 0; v_cnt < width; v_cnt += 16) {
src_minus10 = __lsx_vld(src_orig - src_stride, 2);
- src_plus13 = __lsx_vldx(src_orig, src_stride_4x);
+ src_plus13 = LSX_VLDX(src_orig, src_stride_4x);
src_orig += 16;
src10 = __lsx_vld(src_orig, 0);
- DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
src11, src12);
- src13 =__lsx_vldx(src_orig, src_stride_3x);
+ src13 =LSX_VLDX(src_orig, src_stride_3x);
DUP4_ARG3(__lsx_vshuf_b, src10, src_minus11, shuf1, src11,
src_plus10, shuf1, src12, src_plus11, shuf1, src13,
diff --git a/libavcodec/loongarch/hevc_mc_bi_lsx.c b/libavcodec/loongarch/hevc_mc_bi_lsx.c
index 9092fdccb2..7a789ed92c 100644
--- a/libavcodec/loongarch/hevc_mc_bi_lsx.c
+++ b/libavcodec/loongarch/hevc_mc_bi_lsx.c
@@ -23,6 +23,10 @@
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "hevcdsp_lsx.h"
+/* __lsx_vldx() from lsxintrin.h does not accept a const void*;
+ * remove the following once it does. */
+#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
+
static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
/* 8 width cases */
0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
@@ -163,14 +167,14 @@ void hevc_bi_copy_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
DUP2_ARG2(__lsx_vilvl_d, reg1, reg0, reg3, reg2, src2, src3);
src0_ptr += src_stride_4x;
in0 = __lsx_vld(src1_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
+ DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
src2_stride_2x, in1, in2);
- in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
+ in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
src1_ptr += src2_stride_2x;
in4 = __lsx_vld(src1_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
+ DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
src2_stride_2x, in5, in6);
- in7 = __lsx_vldx(src1_ptr, src2_stride_3x);
+ in7 = LSX_VLDX(src1_ptr, src2_stride_3x);
src1_ptr += src2_stride_2x;
DUP4_ARG2(__lsx_vsllwil_hu_bu, src0, 6, src1, 6, src2, 6, src3, 6,
dst0, dst2, dst4, dst6);
@@ -207,7 +211,7 @@ void hevc_bi_copy_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
src0 = __lsx_vilvl_d(reg1, reg0);
src0_ptr += src_stride_2x;
in0 = __lsx_vld(src1_ptr, 0);
- in1 = __lsx_vldx(src1_ptr, src2_stride_x);
+ in1 = LSX_VLDX(src1_ptr, src2_stride_x);
src1_ptr += src2_stride_x;
dst0 = __lsx_vsllwil_hu_bu(src0, 6);
dst1 = __lsx_vilvh_b(zero, src0);
@@ -265,14 +269,14 @@ void hevc_bi_copy_8w_lsx(uint8_t *src0_ptr, int32_t src_stride,
DUP4_ARG2(__lsx_vslli_h, dst1, 6, dst3, 6, dst5, 6, dst7, 6, dst1,
dst3, dst5, dst7);
in0 = __lsx_vld(src1_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
+ DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
src2_stride_2x, in1, in2);
- in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
+ in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
src1_ptr += src2_stride_2x;
in4 = __lsx_vld(src1_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
+ DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
src2_stride_2x, in5, in6);
- in7 = __lsx_vldx(src1_ptr, src2_stride_3x);
+ in7 = LSX_VLDX(src1_ptr, src2_stride_3x);
src1_ptr += src2_stride_2x;
out0 = hevc_bi_rnd_clip(in0, dst0, in1, dst1);
out1 = hevc_bi_rnd_clip(in2, dst2, in3, dst3);
@@ -294,7 +298,7 @@ void hevc_bi_copy_8w_lsx(uint8_t *src0_ptr, int32_t src_stride,
reg1 = __lsx_vldrepl_d(src0_ptr + src_stride, 0);
src0 = __lsx_vilvl_d(reg1, reg0);
in0 = __lsx_vld(src1_ptr, 0);
- in1 = __lsx_vldx(src1_ptr, src2_stride_x);
+ in1 = LSX_VLDX(src1_ptr, src2_stride_x);
dst0 = __lsx_vsllwil_hu_bu(src0, 6);
dst1 = __lsx_vilvh_b(zero, src0);
dst1 = __lsx_vslli_h(dst1, 6);
@@ -330,19 +334,19 @@ void hevc_bi_copy_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
for (loop_cnt = 4; loop_cnt--;) {
src0 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src0_ptr, src_stride_3x);
+ src3 = LSX_VLDX(src0_ptr, src_stride_3x);
src0_ptr += src_stride_4x;
in0 = __lsx_vld(src1_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
+ DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
src2_stride_2x, in1, in2);
- in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
+ in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
src1_ptr += src2_stride_2x;
in4 = __lsx_vld(_src1, 0);
- DUP2_ARG2(__lsx_vldx, _src1, src2_stride_x, _src1, src2_stride_2x,
+ DUP2_ARG2(LSX_VLDX, _src1, src2_stride_x, _src1, src2_stride_2x,
in5, in6);
- in7 = __lsx_vldx(_src1, src2_stride_3x);
+ in7 = LSX_VLDX(_src1, src2_stride_3x);
_src1 += src2_stride_2x;
DUP2_ARG2(__lsx_vilvl_d, in5, in4, in7, in6, in4, in5);
@@ -389,19 +393,19 @@ void hevc_bi_copy_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src0 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src0_ptr, src_stride_3x);
+ src3 = LSX_VLDX(src0_ptr, src_stride_3x);
src0_ptr += src_stride_4x;
in0 = __lsx_vld(src1_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
+ DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
src2_stride_2x, in1, in2);
- in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
+ in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
src1_ptr += src2_stride_2x;
in4 = __lsx_vld(_src1, 0);
- DUP2_ARG2(__lsx_vldx, _src1, src2_stride_x, _src1, src2_stride_2x,
+ DUP2_ARG2(LSX_VLDX, _src1, src2_stride_x, _src1, src2_stride_2x,
in5, in6);
- in7 = __lsx_vldx(_src1, src2_stride_3x);
+ in7 = LSX_VLDX(_src1, src2_stride_3x);
_src1 += src2_stride_2x;
DUP4_ARG2(__lsx_vsllwil_hu_bu, src0, 6, src1, 6, src2, 6, src3, 6,
dst0_r, dst1_r, dst2_r, dst3_r)
@@ -647,12 +651,12 @@ void hevc_vt_8t_8w_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr,
filt0, filt1, filt2, filt3);
src0 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src0_ptr, src_stride_3x);
+ src3 = LSX_VLDX(src0_ptr, src_stride_3x);
src0_ptr += src_stride_4x;
src4 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src5, src6);
src0_ptr += src_stride_3x;
DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
@@ -661,14 +665,14 @@ void hevc_vt_8t_8w_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src7 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src8, src9);
- src10 = __lsx_vldx(src0_ptr, src_stride_3x);
+ src10 = LSX_VLDX(src0_ptr, src_stride_3x);
src0_ptr += src_stride_4x;
in0 = __lsx_vld(src1_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr, src2_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr, src2_stride_2x,
in1, in2);
- in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
+ in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
src1_ptr += src2_stride_2x;
DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10, src9,
src76_r, src87_r, src98_r, src109_r);
@@ -741,12 +745,12 @@ void hevc_vt_8t_16multx2mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst_tmp = dst;
src0 = __lsx_vld(src0_ptr_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
+ DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src0_ptr_tmp, src_stride_3x);
+ src3 = LSX_VLDX(src0_ptr_tmp, src_stride_3x);
src0_ptr_tmp += src_stride_4x;
src4 = __lsx_vld(src0_ptr_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
+ DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
src_stride_2x, src5, src6);
src0_ptr_tmp += src_stride_3x;
@@ -759,7 +763,7 @@ void hevc_vt_8t_16multx2mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
for (loop_cnt = (height >> 1); loop_cnt--;) {
src7 = __lsx_vld(src0_ptr_tmp, 0);
- src8 = __lsx_vldx(src0_ptr_tmp, src_stride);
+ src8 = LSX_VLDX(src0_ptr_tmp, src_stride);
src0_ptr_tmp += src_stride_2x;
DUP2_ARG2(__lsx_vld, src1_ptr_tmp, 0, src1_ptr_tmp, 16, in0, in2);
src1_ptr_tmp += src2_stride;
@@ -903,12 +907,12 @@ void hevc_hv_8t_8multx1mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
src1_ptr_tmp = src1_ptr;
src0 = __lsx_vld(src0_ptr_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
+ DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src0_ptr_tmp, src_stride_3x);
+ src3 = LSX_VLDX(src0_ptr_tmp, src_stride_3x);
src0_ptr_tmp += src_stride_4x;
src4 = __lsx_vld(src0_ptr_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
+ DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
src_stride_2x, src5, src6);
src0_ptr_tmp += src_stride_3x;
@@ -1134,9 +1138,9 @@ static void hevc_hz_4t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst += dst_stride_4x;
in0 = __lsx_vld(src1_ptr_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr_tmp, src2_stride_x, src1_ptr_tmp,
+ DUP2_ARG2(LSX_VLDX, src1_ptr_tmp, src2_stride_x, src1_ptr_tmp,
src2_stride_2x, in1, in2);
- in3 = __lsx_vldx(src1_ptr_tmp, src2_stride_3x);
+ in3 = LSX_VLDX(src1_ptr_tmp, src2_stride_3x);
src1_ptr_tmp += src2_stride_2x;
DUP4_ARG3(__lsx_vshuf_b, src1, src1, mask0, src3, src3, mask0, src5,
@@ -1229,7 +1233,7 @@ static void hevc_vt_4t_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
DUP2_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filt0, filt1);
src0 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src1, src2);
src0_ptr += src_stride_3x;
DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
@@ -1238,19 +1242,19 @@ static void hevc_vt_4t_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src3 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src4, src5);
- src6 = __lsx_vldx(src0_ptr, src_stride_3x);
+ src6 = LSX_VLDX(src0_ptr, src_stride_3x);
src0_ptr += src_stride_4x;
in0 = __lsx_vld(src1_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
+ DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
src2_stride_2x, in1, in2);
- in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
+ in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
src1_ptr += src2_stride_2x;
in4 = __lsx_vld(_src1, 0);
- DUP2_ARG2(__lsx_vldx, _src1, src2_stride_x, _src1, src2_stride_2x,
+ DUP2_ARG2(LSX_VLDX, _src1, src2_stride_x, _src1, src2_stride_2x,
in5, in6);
- in7 = __lsx_vldx(_src1, src2_stride_3x);
+ in7 = LSX_VLDX(_src1, src2_stride_3x);
_src1 += src2_stride_2x;
DUP2_ARG2(__lsx_vilvl_d, in5, in4, in7, in6, in4, in5);
@@ -1310,7 +1314,7 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
DUP2_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filt0, filt1);
src0 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src1, src2);
src0_ptr += src_stride_3x;
DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
@@ -1318,7 +1322,7 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src3 = __lsx_vld(src0_ptr, 0);
- src4 = __lsx_vldx(src0_ptr, src_stride);
+ src4 = LSX_VLDX(src0_ptr, src_stride);
src0_ptr += src_stride_2x;
DUP2_ARG2(__lsx_vld, src1_ptr, 0, src1_ptr, 16, in0, in2);
src1_ptr += src2_stride;
@@ -1340,7 +1344,7 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst += dst_stride_2x;
src5 = __lsx_vld(src0_ptr, 0);
- src2 = __lsx_vldx(src0_ptr, src_stride);
+ src2 = LSX_VLDX(src0_ptr, src_stride);
src0_ptr += src_stride_2x;
DUP2_ARG2(__lsx_vld, src1_ptr, 0, src1_ptr, 16, in0, in2);
src1_ptr += src2_stride;
@@ -1517,7 +1521,7 @@ static void hevc_hv_4t_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
mask1 = __lsx_vaddi_bu(mask0, 2);
src0 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src1, src2);
src0_ptr += src_stride_3x;
@@ -1535,9 +1539,9 @@ static void hevc_hv_4t_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
DUP2_ARG2(__lsx_vilvh_h, dsth1, dsth0, dsth2, dsth1, tmp1, tmp3);
src3 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src4, src5);
- src6 = __lsx_vldx(src0_ptr, src_stride_3x);
+ src6 = LSX_VLDX(src0_ptr, src_stride_3x);
src0_ptr += src_stride_4x;
DUP2_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1, vec0, vec1);
DUP2_ARG3(__lsx_vshuf_b, src4, src4, mask0, src4, src4, mask1, vec2, vec3);
@@ -1550,9 +1554,9 @@ static void hevc_hv_4t_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
vec5, filt1, dsth6, vec7, filt1, dsth3, dsth4, dsth5, dsth6);
src3 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src4, src5);
- src6 = __lsx_vldx(src0_ptr, src_stride_3x);
+ src6 = LSX_VLDX(src0_ptr, src_stride_3x);
DUP2_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1, vec0, vec1);
DUP2_ARG3(__lsx_vshuf_b, src4, src4, mask0, src4, src4, mask1, vec2, vec3);
@@ -1700,7 +1704,7 @@ void hevc_hv_4t_8x2_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr
mask1 = __lsx_vaddi_bu(mask0, 2);
src0 = __lsx_vld(src0_ptr, 0);
- DUP4_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP4_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src0_ptr, src_stride_3x, src0_ptr, src_stride_4x,
src1, src2, src3, src4);
@@ -1777,19 +1781,19 @@ void hevc_hv_4t_8multx4_lsx(uint8_t *src0_ptr, int32_t src_stride,
for (cnt = width8mult; cnt--;) {
src0 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src0_ptr, src_stride_3x);
+ src3 = LSX_VLDX(src0_ptr, src_stride_3x);
src0_ptr += src_stride_4x;
src4 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src5, src6);
src0_ptr += (8 - src_stride_4x);
in0 = __lsx_vld(src1_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
+ DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
src2_stride_2x, in1, in2);
- in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
+ in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
src1_ptr += 8;
DUP2_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1,
@@ -1900,22 +1904,22 @@ void hevc_hv_4t_8x6_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr
mask1 = __lsx_vaddi_bu(mask0, 2);
src0 = __lsx_vld(src0_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src0_ptr, src_stride_3x);
+ src3 = LSX_VLDX(src0_ptr, src_stride_3x);
src0_ptr += src_stride_4x;
src4 = __lsx_vld(src0_ptr, 0);
- DUP4_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
+ DUP4_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
src0_ptr, src_stride_3x, src0_ptr, src_stride_4x,
src5, src6, src7, src8);
in0 = __lsx_vld(src1_ptr, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr, src2_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr, src2_stride_2x,
in1, in2);
- in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
+ in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
src1_ptr += src2_stride_2x;
in4 = __lsx_vld(src1_ptr, 0);
- in5 = __lsx_vldx(src1_ptr, src2_stride_x);
+ in5 = LSX_VLDX(src1_ptr, src2_stride_x);
DUP2_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, vec0, vec1);
DUP2_ARG3(__lsx_vshuf_b, src1, src1, mask0, src1, src1, mask1, vec2, vec3);
@@ -2041,7 +2045,7 @@ void hevc_hv_4t_8multx4mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
src1_ptr_tmp = src1_ptr;
src0 = __lsx_vld(src0_ptr_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
+ DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
src_stride_2x, src1, src2);
src0_ptr_tmp += src_stride_3x;
@@ -2063,14 +2067,14 @@ void hevc_hv_4t_8multx4mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
for (loop_cnt = height >> 2; loop_cnt--;) {
src3 = __lsx_vld(src0_ptr_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
+ DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
src_stride_2x, src4, src5);
- src6 = __lsx_vldx(src0_ptr_tmp, src_stride_3x);
+ src6 = LSX_VLDX(src0_ptr_tmp, src_stride_3x);
src0_ptr_tmp += src_stride_4x;
in0 = __lsx_vld(src1_ptr_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src1_ptr_tmp, src2_stride_x, src1_ptr_tmp,
+ DUP2_ARG2(LSX_VLDX, src1_ptr_tmp, src2_stride_x, src1_ptr_tmp,
src2_stride_2x, in1, in2);
- in3 = __lsx_vldx(src1_ptr_tmp, src2_stride_3x);
+ in3 = LSX_VLDX(src1_ptr_tmp, src2_stride_3x);
src1_ptr_tmp += src2_stride_2x;
DUP4_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1, src4,
diff --git a/libavcodec/loongarch/hevc_mc_uni_lsx.c b/libavcodec/loongarch/hevc_mc_uni_lsx.c
index a15c86268f..8997ba4868 100644
--- a/libavcodec/loongarch/hevc_mc_uni_lsx.c
+++ b/libavcodec/loongarch/hevc_mc_uni_lsx.c
@@ -23,6 +23,10 @@
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "hevcdsp_lsx.h"
+/* __lsx_vldx() from lsxintrin.h does not accept a const void*;
+ * remove the following once it does. */
+#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
+
static const uint8_t ff_hevc_mask_arr[16 * 3] __attribute__((aligned(0x40))) = {
/* 8 width cases */
0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
@@ -148,11 +152,11 @@ void common_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
filt0, filt1, filt2, filt3);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
src += src_stride_3x;
DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
src10_r, src32_r, src54_r, src21_r);
@@ -160,8 +164,8 @@ void common_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src7 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
- src10 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
+ src10 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10,
@@ -228,12 +232,12 @@ void common_vt_8t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
dst_tmp = dst;
src0 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src_tmp, src_stride_3x);
+ src3 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
src4 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src5, src6);
src_tmp += src_stride_3x;
DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
@@ -245,9 +249,9 @@ void common_vt_8t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src7 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src8, src9);
- src10 = __lsx_vldx(src_tmp, src_stride_3x);
+ src10 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10,
src9, src76_r, src87_r, src98_r, src109_r);
@@ -380,12 +384,12 @@ void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
dst_tmp = dst;
src0 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src_tmp, src_stride_3x);
+ src3 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
src4 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src5, src6);
src_tmp += src_stride_3x;
@@ -429,7 +433,7 @@ void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
for (loop_cnt = height >> 1; loop_cnt--;) {
src7 = __lsx_vld(src_tmp, 0);
- src8 = __lsx_vldx(src_tmp, src_stride);
+ src8 = LSX_VLDX(src_tmp, src_stride);
src_tmp += src_stride_2x;
DUP4_ARG3(__lsx_vshuf_b, src7, src7, mask0, src7, src7, mask1, src7,
@@ -567,13 +571,13 @@ void common_vt_4t_24w_lsx(uint8_t *src, int32_t src_stride,
/* 16 width */
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
DUP2_ARG2(__lsx_vilvh_b, src1, src0, src2, src1, src10_l, src21_l);
/* 8 width */
src6 = __lsx_vld(_src, 0);
- DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x, src7, src8);
+ DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x, src7, src8);
src += src_stride_3x;
_src += src_stride_3x;
DUP2_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src76_r, src87_r);
@@ -581,7 +585,7 @@ void common_vt_4t_24w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = 8; loop_cnt--;) {
/* 16 width */
DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src3, src9);
- DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src4, src10);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src4, src10);
DUP2_ARG2(__lsx_vilvl_b, src3, src2, src4, src3, src32_r, src43_r);
DUP2_ARG2(__lsx_vilvh_b, src3, src2, src4, src3, src32_l, src43_l);
@@ -615,7 +619,7 @@ void common_vt_4t_24w_lsx(uint8_t *src, int32_t src_stride,
/* 16 width */
DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src5, src11);
- DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src2, src8);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src2, src8);
DUP2_ARG2(__lsx_vilvl_b, src5, src4, src2, src5, src10_r, src21_r);
DUP2_ARG2(__lsx_vilvh_b, src5, src4, src2, src5, src10_l, src21_l);
@@ -676,14 +680,14 @@ void common_vt_4t_32w_lsx(uint8_t *src, int32_t src_stride,
/* 16 width */
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
DUP2_ARG2(__lsx_vilvh_b, src1, src0, src2, src1, src10_l, src21_l);
/* next 16 width */
src6 = __lsx_vld(_src, 0);
- DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x, src7, src8);
+ DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x, src7, src8);
src += src_stride_3x;
_src += src_stride_3x;
@@ -693,7 +697,7 @@ void common_vt_4t_32w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 1); loop_cnt--;) {
/* 16 width */
DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src3, src9);
- DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src4, src10);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src4, src10);
DUP2_ARG2(__lsx_vilvl_b, src3, src2, src4, src3, src32_r, src43_r);
DUP2_ARG2(__lsx_vilvh_b, src3, src2, src4, src3, src32_l, src43_l);
@@ -774,7 +778,7 @@ void hevc_hv_4t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
mask1 = __lsx_vaddi_bu(mask0, 2);
src0 = __lsx_vld(src, 0);
- DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src,
+ DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src,
src_stride_3x, src, src_stride_4x, src1, src2, src3, src4);
DUP4_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, src1, src1,
@@ -838,11 +842,11 @@ void hevc_hv_4t_8multx4_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
for (cnt = width8mult; cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
src += (8 - src_stride_4x);
DUP2_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1,
vec0, vec1);
@@ -939,10 +943,10 @@ void hevc_hv_4t_8x6_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
mask1 = __lsx_vaddi_bu(mask0, 2);
src0 = __lsx_vld(src, 0);
- DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,src,
+ DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,src,
src_stride_3x, src, src_stride_4x, src1, src2, src3, src4);
src += src_stride_4x;
- DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,src,
+ DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,src,
src_stride_3x, src, src_stride_4x, src5, src6, src7, src8);
DUP4_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, src1, src1,
@@ -1051,7 +1055,7 @@ void hevc_hv_4t_8multx4mult_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
dst_tmp = dst;
src0 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src1, src2);
src_tmp += src_stride_3x;
@@ -1073,9 +1077,9 @@ void hevc_hv_4t_8multx4mult_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src3 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src4, src5);
- src6 = __lsx_vldx(src_tmp, src_stride_3x);
+ src6 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
DUP4_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1, src4,
@@ -1185,7 +1189,7 @@ void hevc_hv_4t_12w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
dst_tmp = dst;
src0 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src1, src2);
src_tmp += src_stride_3x;
@@ -1204,9 +1208,9 @@ void hevc_hv_4t_12w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
for (loop_cnt = 4; loop_cnt--;) {
src3 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src4, src5);
- src6 = __lsx_vldx(src_tmp, src_stride_3x);
+ src6 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
DUP4_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1, src4,
@@ -1260,7 +1264,7 @@ void hevc_hv_4t_12w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
mask3 = __lsx_vaddi_bu(mask2, 2);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
src += src_stride_3x;
DUP2_ARG3(__lsx_vshuf_b, src1, src0, mask2, src1, src0, mask3, vec0, vec1);
DUP2_ARG3(__lsx_vshuf_b, src2, src1, mask2, src2, src1, mask3, vec2, vec3);
@@ -1275,12 +1279,12 @@ void hevc_hv_4t_12w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
for (loop_cnt = 2; loop_cnt--;) {
src3 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src4, src5);
- src6 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src4, src5);
+ src6 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src7 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
- src10 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
+ src10 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG3(__lsx_vshuf_b, src7, src3, mask2, src7, src3, mask3, src8,
src4, mask2, src8, src4, mask3, vec0, vec1, vec2, vec3);
diff --git a/libavcodec/loongarch/hevc_mc_uniw_lsx.c b/libavcodec/loongarch/hevc_mc_uniw_lsx.c
index 118f5b820e..30ee341e54 100644
--- a/libavcodec/loongarch/hevc_mc_uniw_lsx.c
+++ b/libavcodec/loongarch/hevc_mc_uniw_lsx.c
@@ -23,6 +23,10 @@
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "hevcdsp_lsx.h"
+/* __lsx_vldx() from lsxintrin.h does not accept a const void*;
+ * remove the following once it does. */
+#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
+
static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
/* 8 width cases */
0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
@@ -79,12 +83,12 @@ void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
dst_tmp = dst;
src0 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src_tmp, src_stride_3x);
+ src3 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
src4 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src5, src6);
src_tmp += src_stride_3x;
@@ -127,7 +131,7 @@ void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
for (loop_cnt = height >> 1; loop_cnt--;) {
src7 = __lsx_vld(src_tmp, 0);
- src8 = __lsx_vldx(src_tmp, src_stride);
+ src8 = LSX_VLDX(src_tmp, src_stride);
src_tmp += src_stride_2x;
DUP4_ARG3(__lsx_vshuf_b, src7, src7, mask0, src7, src7, mask1, src7,
src7, mask2, src7, src7, mask3, vec0, vec1, vec2, vec3);
diff --git a/libavcodec/loongarch/hevcdsp_lsx.c b/libavcodec/loongarch/hevcdsp_lsx.c
index a520f02bd1..c88d1087fc 100644
--- a/libavcodec/loongarch/hevcdsp_lsx.c
+++ b/libavcodec/loongarch/hevcdsp_lsx.c
@@ -23,6 +23,10 @@
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "hevcdsp_lsx.h"
+/* __lsx_vldx() from lsxintrin.h does not accept a const void*;
+ * remove the following once it does. */
+#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
+
static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
/* 8 width cases */
0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
@@ -48,14 +52,14 @@ static void hevc_copy_4w_lsx(uint8_t *src, int32_t src_stride,
__m128i in0, in1, in2, in3;
for (; loop_cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
src5, src6);
- src7 = __lsx_vldx(src, src_stride_3x);
+ src7 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG2(__lsx_vilvl_w, src1, src0, src3, src2, src5, src4, src7, src6,
@@ -98,12 +102,12 @@ static void hevc_copy_6w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 3); loop_cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
- src7 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
+ src7 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG2(__lsx_vsllwil_hu_bu, src0, 6, src1, 6, src2, 6, src3, 6,
@@ -163,14 +167,14 @@ static void hevc_copy_8w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 3); loop_cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
src5, src6);
- src7 = __lsx_vldx(src, src_stride_3x);
+ src7 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG2(__lsx_vsllwil_hu_bu, src0, 6, src1, 6, src2, 6, src3, 6,
@@ -215,12 +219,12 @@ static void hevc_copy_12w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 3); loop_cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
- src7 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
+ src7 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG2(__lsx_vsllwil_hu_bu, src0, 6, src1, 6, src2, 6, src3, 6,
@@ -288,14 +292,14 @@ static void hevc_copy_16w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 3); loop_cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
src5, src6);
- src7 = __lsx_vldx(src, src_stride_3x);
+ src7 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG2(__lsx_vilvh_b, zero, src0, zero, src1, zero, src2, zero, src3,
in0_l, in1_l, in2_l, in3_l);
@@ -333,8 +337,8 @@ static void hevc_copy_16w_lsx(uint8_t *src, int32_t src_stride,
}
if (res) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
DUP4_ARG2(__lsx_vilvh_b, zero, src0, zero, src1, zero, src2, zero, src3,
in0_l, in1_l, in2_l, in3_l);
@@ -373,13 +377,13 @@ static void hevc_copy_24w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(_src, 0);
- DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x,
src5, src6);
- src7 = __lsx_vldx(_src, src_stride_3x);
+ src7 = LSX_VLDX(_src, src_stride_3x);
_src += src_stride_4x;
DUP4_ARG2(__lsx_vilvh_b, zero, src0, zero, src1, zero, src2, zero,
@@ -423,13 +427,13 @@ static void hevc_copy_32w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src2, src4);
- src6 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src2, src4);
+ src6 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src1 = __lsx_vld(_src, 0);
- DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x,
src3, src5);
- src7 = __lsx_vldx(_src, src_stride_3x);
+ src7 = LSX_VLDX(_src, src_stride_3x);
_src += src_stride_4x;
DUP4_ARG2(__lsx_vilvh_b, zero, src0, zero, src1, zero, src2, zero,
@@ -623,12 +627,12 @@ static void hevc_hz_8t_4w_lsx(uint8_t *src, int32_t src_stride,
for (;loop_cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
- src7 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
+ src7 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG3(__lsx_vshuf_b, src1, src0, mask0, src1, src0, mask1, src1,
src0, mask2, src1, src0, mask3, vec0, vec1, vec2, vec3);
@@ -668,7 +672,7 @@ static void hevc_hz_8t_4w_lsx(uint8_t *src, int32_t src_stride,
}
for (;res--;) {
src0 = __lsx_vld(src, 0);
- src1 = __lsx_vldx(src, src_stride);
+ src1 = LSX_VLDX(src, src_stride);
DUP4_ARG3(__lsx_vshuf_b, src1, src0, mask0, src1, src0, mask1, src1,
src0, mask2, src1, src0, mask3, vec0, vec1, vec2, vec3);
dst0 = __lsx_vdp2_h_bu_b(vec0, filt0);
@@ -709,8 +713,8 @@ static void hevc_hz_8t_8w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, src0,
@@ -774,12 +778,12 @@ static void hevc_hz_8t_12w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = 4; loop_cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src4 = __lsx_vld(_src, 0);
- DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x,
src5, src6);
- src7 = __lsx_vldx(_src, src_stride_3x);
+ src7 = LSX_VLDX(_src, src_stride_3x);
src += src_stride_4x;
_src += src_stride_4x;
@@ -1216,11 +1220,11 @@ static void hevc_vt_8t_4w_lsx(uint8_t *src, int32_t src_stride,
filt0, filt1, filt2, filt3);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
src += src_stride_3x;
DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
src10_r, src32_r, src54_r, src21_r);
@@ -1231,13 +1235,13 @@ static void hevc_vt_8t_4w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 3); loop_cnt--;) {
src7 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
- src10 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
+ src10 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src11 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
src12, src13);
- src14 = __lsx_vldx(src, src_stride_3x);
+ src14 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10, src9,
@@ -1289,7 +1293,7 @@ static void hevc_vt_8t_4w_lsx(uint8_t *src, int32_t src_stride,
}
for (;res--;) {
src7 = __lsx_vld(src, 0);
- src8 = __lsx_vldx(src, src_stride);
+ src8 = LSX_VLDX(src, src_stride);
DUP2_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src76_r, src87_r);
src += src_stride_2x;
src8776 = __lsx_vilvl_d(src87_r, src76_r);
@@ -1334,11 +1338,11 @@ static void hevc_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
filt0, filt1, filt2, filt3);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
src += src_stride_3x;
DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
src10_r, src32_r, src54_r, src21_r);
@@ -1346,8 +1350,8 @@ static void hevc_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src7 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
- src10 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
+ src10 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10,
src9, src76_r, src87_r, src98_r, src109_r);
@@ -1408,11 +1412,11 @@ static void hevc_vt_8t_12w_lsx(uint8_t *src, int32_t src_stride,
DUP4_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filter, 4, filter, 6,
filt0, filt1, filt2, filt3);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
src += src_stride_3x;
DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
src10_r, src32_r, src54_r, src21_r);
@@ -1426,8 +1430,8 @@ static void hevc_vt_8t_12w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src7 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
- src10 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
+ src10 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10,
src9, src76_r, src87_r, src98_r, src109_r);
@@ -1520,12 +1524,12 @@ static void hevc_vt_8t_16multx4mult_lsx(uint8_t *src,
dst_tmp = dst;
src0 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src_tmp, src_stride_3x);
+ src3 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
src4 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src5, src6);
src_tmp += src_stride_3x;
DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
@@ -1537,9 +1541,9 @@ static void hevc_vt_8t_16multx4mult_lsx(uint8_t *src,
for (loop_cnt = (height >> 2); loop_cnt--;) {
src7 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src8, src9);
- src10 = __lsx_vldx(src_tmp, src_stride_3x);
+ src10 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8,
src10, src9, src76_r, src87_r, src98_r, src109_r);
@@ -1689,11 +1693,11 @@ static void hevc_hv_8t_4w_lsx(uint8_t *src, int32_t src_stride,
mask3 = __lsx_vaddi_bu(mask0, 6);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
src += src_stride_3x;
DUP4_ARG3(__lsx_vshuf_b, src3, src0, mask0, src3, src0, mask1, src3, src0,
@@ -1729,8 +1733,8 @@ static void hevc_hv_8t_4w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = height >> 2; loop_cnt--;) {
src7 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
- src10 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
+ src10 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG3(__lsx_vshuf_b, src9, src7, mask0, src9, src7, mask1, src9, src7,
@@ -1830,12 +1834,12 @@ static void hevc_hv_8t_8multx1mult_lsx(uint8_t *src,
src_tmp = src;
dst_tmp = dst;
src0 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src_tmp, src_stride_3x);
+ src3 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
src4 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src5, src6);
src_tmp += src_stride_3x;
@@ -1978,12 +1982,12 @@ static void hevc_hv_8t_12w_lsx(uint8_t *src, int32_t src_stride,
dst_tmp = dst;
src0 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src1, src2);
- src3 = __lsx_vldx(src_tmp, src_stride_3x);
+ src3 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
src4 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src5, src6);
src_tmp += src_stride_3x;
@@ -2077,11 +2081,11 @@ static void hevc_hv_8t_12w_lsx(uint8_t *src, int32_t src_stride,
mask7 = __lsx_vaddi_bu(mask4, 6);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src4 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
src += src_stride_3x;
DUP4_ARG3(__lsx_vshuf_b, src3, src0, mask4, src3, src0, mask5, src3, src0,
@@ -2118,8 +2122,8 @@ static void hevc_hv_8t_12w_lsx(uint8_t *src, int32_t src_stride,
for (loop_cnt = height >> 2; loop_cnt--;) {
src7 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
- src10 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
+ src10 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP4_ARG3(__lsx_vshuf_b, src9, src7, mask4, src9, src7, mask5, src9,
@@ -2285,14 +2289,14 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src,
DUP2_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filt0, filt1);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
src += src_stride_3x;
DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
DUP2_ARG2(__lsx_vilvh_b, src1, src0, src2, src1, src10_l, src21_l);
for (loop_cnt = (height >> 2); loop_cnt--;) {
src3 = __lsx_vld(src, 0);
- src4 = __lsx_vldx(src, src_stride);
+ src4 = LSX_VLDX(src, src_stride);
src += src_stride_2x;
DUP2_ARG2(__lsx_vilvl_b, src3, src2, src4, src3, src32_r, src43_r);
DUP2_ARG2(__lsx_vilvh_b, src3, src2, src4, src3, src32_l, src43_l);
@@ -2309,7 +2313,7 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src,
dst += dst_stride;
src5 = __lsx_vld(src, 0);
- src2 = __lsx_vldx(src, src_stride);
+ src2 = LSX_VLDX(src, src_stride);
src += src_stride_2x;
DUP2_ARG2(__lsx_vilvl_b, src5, src4, src2, src5, src10_r, src21_r);
DUP2_ARG2(__lsx_vilvh_b, src5, src4, src2, src5, src10_l, src21_l);
@@ -2353,19 +2357,19 @@ static void hevc_vt_4t_24w_lsx(uint8_t *src,
DUP2_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filt0, filt1);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
DUP2_ARG2(__lsx_vilvh_b, src1, src0, src2, src1, src10_l, src21_l);
src6 = __lsx_vld(_src, 0);
- DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x, src7, src8);
+ DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x, src7, src8);
src += src_stride_3x;
_src += src_stride_3x;
DUP2_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src76_r, src87_r);
for (loop_cnt = (height >> 2); loop_cnt--;) {
DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src3, src9);
- DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src4, src10);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src4, src10);
src += src_stride_2x;
_src += src_stride_2x;
DUP2_ARG2(__lsx_vilvl_b, src3, src2, src4, src3, src32_r, src43_r);
@@ -2392,7 +2396,7 @@ static void hevc_vt_4t_24w_lsx(uint8_t *src,
dst += dst_stride;
DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src5, src11);
- DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src2, src8);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src2, src8);
src += src_stride_2x;
_src += src_stride_2x;
DUP2_ARG2(__lsx_vilvl_b, src5, src4, src2, src5, src10_r, src21_r);
@@ -2448,12 +2452,12 @@ static void hevc_vt_4t_32w_lsx(uint8_t *src,
DUP2_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filt0, filt1);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
DUP2_ARG2(__lsx_vilvh_b, src1, src0, src2, src1, src10_l, src21_l);
src6 = __lsx_vld(_src, 0);
- DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x, src7, src8);
+ DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x, src7, src8);
src += src_stride_3x;
_src += src_stride_3x;
DUP2_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src76_r, src87_r);
@@ -2461,7 +2465,7 @@ static void hevc_vt_4t_32w_lsx(uint8_t *src,
for (loop_cnt = (height >> 2); loop_cnt--;) {
DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src3, src9);
- DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src4, src10);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src4, src10);
src += src_stride_2x;
_src += src_stride_2x;
DUP2_ARG2(__lsx_vilvl_b, src3, src2, src4, src3, src32_r, src43_r);
@@ -2493,7 +2497,7 @@ static void hevc_vt_4t_32w_lsx(uint8_t *src,
dst += dst_stride;
DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src5, src11);
- DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src2, src8);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src2, src8);
src += src_stride_2x;
_src += src_stride_2x;
DUP2_ARG2(__lsx_vilvl_b, src5, src4, src2, src5, src10_r, src21_r);
@@ -2560,9 +2564,9 @@ static void hevc_hv_4t_8x2_lsx(uint8_t *src,
mask1 = __lsx_vaddi_bu(mask0, 2);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
- src3 = __lsx_vldx(src, src_stride_3x);
- src4 = __lsx_vldx(src, src_stride_4x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
+ src3 = LSX_VLDX(src, src_stride_3x);
+ src4 = LSX_VLDX(src, src_stride_4x);
DUP2_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, vec0, vec1);
DUP2_ARG3(__lsx_vshuf_b, src1, src1, mask0, src1, src1, mask1, vec2, vec3);
@@ -2627,10 +2631,10 @@ static void hevc_hv_4t_8multx4_lsx(uint8_t *src, int32_t src_stride,
for (cnt = width8mult; cnt--;) {
src0 = __lsx_vld(src, 0);
- DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src,
+ DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src,
src_stride_3x, src, src_stride_4x, src1, src2, src3, src4);
src += src_stride_4x;
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
src += (8 - src_stride_4x);
DUP2_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1,
@@ -2730,10 +2734,10 @@ static void hevc_hv_4t_8x6_lsx(uint8_t *src,
mask1 = __lsx_vaddi_bu(mask0, 2);
src0 = __lsx_vld(src, 0);
- DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src,
+ DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src,
src_stride_3x, src, src_stride_4x, src1, src2, src3, src4);
src += src_stride_4x;
- DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src,
+ DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src,
src_stride_3x, src, src_stride_4x, src5, src6, src7, src8);
DUP4_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, src1, src1,
@@ -2847,7 +2851,7 @@ static void hevc_hv_4t_8multx4mult_lsx(uint8_t *src,
dst_tmp = dst;
src0 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src1, src2);
src_tmp += src_stride_3x;
@@ -2869,9 +2873,9 @@ static void hevc_hv_4t_8multx4mult_lsx(uint8_t *src,
for (loop_cnt = height >> 2; loop_cnt--;) {
src3 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src4, src5);
- src6 = __lsx_vldx(src_tmp, src_stride_3x);
+ src6 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
DUP2_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1,
@@ -2997,7 +3001,7 @@ static void hevc_hv_4t_12w_lsx(uint8_t *src,
dst_tmp = dst;
src0 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src1, src2);
src_tmp += src_stride_3x;
@@ -3016,9 +3020,9 @@ static void hevc_hv_4t_12w_lsx(uint8_t *src,
for (loop_cnt = 4; loop_cnt--;) {
src3 = __lsx_vld(src_tmp, 0);
- DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
+ DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
src4, src5);
- src6 = __lsx_vldx(src_tmp, src_stride_3x);
+ src6 = LSX_VLDX(src_tmp, src_stride_3x);
src_tmp += src_stride_4x;
DUP2_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1,
@@ -3077,7 +3081,7 @@ static void hevc_hv_4t_12w_lsx(uint8_t *src,
mask3 = __lsx_vaddi_bu(mask2, 2);
src0 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
src += src_stride_3x;
DUP2_ARG3(__lsx_vshuf_b, src1, src0, mask2, src1, src0, mask3, vec0, vec1);
DUP2_ARG3(__lsx_vshuf_b, src2, src1, mask2, src2, src1, mask3, vec2, vec3);
@@ -3090,12 +3094,12 @@ static void hevc_hv_4t_12w_lsx(uint8_t *src,
for (loop_cnt = 2; loop_cnt--;) {
src3 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src4, src5);
- src6 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src4, src5);
+ src6 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
src7 = __lsx_vld(src, 0);
- DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
- src10 = __lsx_vldx(src, src_stride_3x);
+ DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
+ src10 = LSX_VLDX(src, src_stride_3x);
src += src_stride_4x;
DUP2_ARG3(__lsx_vshuf_b, src7, src3, mask2, src7, src3, mask3,
vec0, vec1);
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH v5 2/4] avcodec/hevcdsp: Constify src pointers
2022-08-02 0:19 [FFmpeg-devel] [PATCH v5 1/4] avcodec/loongarch: Add wrapper for __lsx_vldx Andreas Rheinhardt
@ 2022-08-02 0:23 ` Andreas Rheinhardt
2022-08-02 0:23 ` [FFmpeg-devel] [PATCH v5 3/4] avcodec/loongarch/h264chroma, vc1dsp_lasx: Add wrapper for __lasx_xvldx Andreas Rheinhardt
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-08-02 0:23 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Shiyou Yin, Lu Wang, Hao Chen, Andreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/aarch64/hevcdsp_init_aarch64.c | 28 +-
libavcodec/arm/hevcdsp_init_neon.c | 78 ++---
libavcodec/hevcdsp.h | 72 ++---
libavcodec/hevcdsp_template.c | 240 +++++++--------
libavcodec/loongarch/hevc_lpf_sao_lsx.c | 86 +++---
libavcodec/loongarch/hevc_mc_bi_lsx.c | 198 ++++++-------
libavcodec/loongarch/hevc_mc_uni_lsx.c | 67 ++---
libavcodec/loongarch/hevc_mc_uniw_lsx.c | 18 +-
libavcodec/loongarch/hevcdsp_lsx.c | 122 ++++----
libavcodec/loongarch/hevcdsp_lsx.h | 30 +-
libavcodec/mips/hevc_idct_msa.c | 16 +-
libavcodec/mips/hevc_lpf_sao_msa.c | 118 ++++----
libavcodec/mips/hevc_mc_bi_msa.c | 336 ++++++++++-----------
libavcodec/mips/hevc_mc_biw_msa.c | 338 +++++++++++-----------
libavcodec/mips/hevc_mc_uni_msa.c | 168 +++++------
libavcodec/mips/hevc_mc_uniw_msa.c | 174 +++++------
libavcodec/mips/hevcdsp_mips.h | 54 ++--
libavcodec/mips/hevcdsp_mmi.c | 28 +-
libavcodec/mips/hevcdsp_msa.c | 166 +++++------
libavcodec/x86/hevc_add_res.asm | 12 +-
libavcodec/x86/hevc_mc.asm | 14 +-
libavcodec/x86/hevc_sao.asm | 2 +-
libavcodec/x86/hevc_sao_10bit.asm | 2 +-
libavcodec/x86/hevcdsp.h | 104 +++----
libavcodec/x86/hevcdsp_init.c | 111 ++++---
25 files changed, 1294 insertions(+), 1288 deletions(-)
diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c b/libavcodec/aarch64/hevcdsp_init_aarch64.c
index 2002530266..9cbe983870 100644
--- a/libavcodec/aarch64/hevcdsp_init_aarch64.c
+++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c
@@ -25,21 +25,21 @@
#include "libavutil/aarch64/cpu.h"
#include "libavcodec/hevcdsp.h"
-void ff_hevc_add_residual_4x4_8_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_4x4_8_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_4x4_10_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_4x4_10_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_8x8_8_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_8x8_8_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_8x8_10_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_8x8_10_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_16x16_8_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_16x16_8_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_16x16_10_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_16x16_10_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_32x32_8_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_32x32_8_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_32x32_10_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_32x32_10_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
void ff_hevc_idct_8x8_8_neon(int16_t *coeffs, int col_limit);
void ff_hevc_idct_8x8_10_neon(int16_t *coeffs, int col_limit);
@@ -53,14 +53,14 @@ void ff_hevc_idct_4x4_dc_10_neon(int16_t *coeffs);
void ff_hevc_idct_8x8_dc_10_neon(int16_t *coeffs);
void ff_hevc_idct_16x16_dc_10_neon(int16_t *coeffs);
void ff_hevc_idct_32x32_dc_10_neon(int16_t *coeffs);
-void ff_hevc_sao_band_filter_8x8_8_neon(uint8_t *_dst, uint8_t *_src,
+void ff_hevc_sao_band_filter_8x8_8_neon(uint8_t *_dst, const uint8_t *_src,
ptrdiff_t stride_dst, ptrdiff_t stride_src,
- int16_t *sao_offset_val, int sao_left_class,
+ const int16_t *sao_offset_val, int sao_left_class,
int width, int height);
-void ff_hevc_sao_edge_filter_16x16_8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst,
- int16_t *sao_offset_val, int eo, int width, int height);
-void ff_hevc_sao_edge_filter_8x8_8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst,
- int16_t *sao_offset_val, int eo, int width, int height);
+void ff_hevc_sao_edge_filter_16x16_8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst,
+ const int16_t *sao_offset_val, int eo, int width, int height);
+void ff_hevc_sao_edge_filter_8x8_8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst,
+ const int16_t *sao_offset_val, int eo, int width, int height);
av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext *c, const int bit_depth)
{
diff --git a/libavcodec/arm/hevcdsp_init_neon.c b/libavcodec/arm/hevcdsp_init_neon.c
index 112edb5edd..8094e6c62e 100644
--- a/libavcodec/arm/hevcdsp_init_neon.c
+++ b/libavcodec/arm/hevcdsp_init_neon.c
@@ -24,32 +24,32 @@
#include "libavcodec/avcodec.h"
#include "hevcdsp_arm.h"
-void ff_hevc_sao_band_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src,
+void ff_hevc_sao_band_filter_neon_8_wrapper(uint8_t *_dst, const uint8_t *_src,
ptrdiff_t stride_dst, ptrdiff_t stride_src,
- int16_t *sao_offset_val, int sao_left_class,
+ const int16_t *sao_offset_val, int sao_left_class,
int width, int height);
-void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val,
+void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, const int16_t *sao_offset_val,
int eo, int width, int height);
-void ff_hevc_v_loop_filter_luma_neon(uint8_t *_pix, ptrdiff_t _stride, int _beta, int *_tc, uint8_t *_no_p, uint8_t *_no_q);
-void ff_hevc_h_loop_filter_luma_neon(uint8_t *_pix, ptrdiff_t _stride, int _beta, int *_tc, uint8_t *_no_p, uint8_t *_no_q);
-void ff_hevc_v_loop_filter_chroma_neon(uint8_t *_pix, ptrdiff_t _stride, int *_tc, uint8_t *_no_p, uint8_t *_no_q);
-void ff_hevc_h_loop_filter_chroma_neon(uint8_t *_pix, ptrdiff_t _stride, int *_tc, uint8_t *_no_p, uint8_t *_no_q);
-void ff_hevc_add_residual_4x4_8_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_v_loop_filter_luma_neon(uint8_t *_pix, ptrdiff_t _stride, int _beta, const int *_tc, const uint8_t *_no_p, const uint8_t *_no_q);
+void ff_hevc_h_loop_filter_luma_neon(uint8_t *_pix, ptrdiff_t _stride, int _beta, const int *_tc, const uint8_t *_no_p, const uint8_t *_no_q);
+void ff_hevc_v_loop_filter_chroma_neon(uint8_t *_pix, ptrdiff_t _stride, const int *_tc, const uint8_t *_no_p, const uint8_t *_no_q);
+void ff_hevc_h_loop_filter_chroma_neon(uint8_t *_pix, ptrdiff_t _stride, const int *_tc, const uint8_t *_no_p, const uint8_t *_no_q);
+void ff_hevc_add_residual_4x4_8_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_4x4_10_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_4x4_10_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_8x8_8_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_8x8_8_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_8x8_10_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_8x8_10_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_16x16_8_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_16x16_8_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_16x16_10_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_16x16_10_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_32x32_8_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_32x32_8_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
-void ff_hevc_add_residual_32x32_10_neon(uint8_t *_dst, int16_t *coeffs,
+void ff_hevc_add_residual_32x32_10_neon(uint8_t *_dst, const int16_t *coeffs,
ptrdiff_t stride);
void ff_hevc_idct_4x4_dc_8_neon(int16_t *coeffs);
void ff_hevc_idct_8x8_dc_8_neon(int16_t *coeffs);
@@ -70,7 +70,7 @@ void ff_hevc_idct_32x32_10_neon(int16_t *coeffs, int col_limit);
void ff_hevc_transform_luma_4x4_neon_8(int16_t *coeffs);
#define PUT_PIXELS(name) \
- void name(int16_t *dst, uint8_t *src, \
+ void name(int16_t *dst, const uint8_t *src, \
ptrdiff_t srcstride, int height, \
intptr_t mx, intptr_t my, int width)
PUT_PIXELS(ff_hevc_put_pixels_w2_neon_8);
@@ -85,19 +85,19 @@ PUT_PIXELS(ff_hevc_put_pixels_w48_neon_8);
PUT_PIXELS(ff_hevc_put_pixels_w64_neon_8);
#undef PUT_PIXELS
-static void (*put_hevc_qpel_neon[4][4])(int16_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride,
+static void (*put_hevc_qpel_neon[4][4])(int16_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride,
int height, int width);
-static void (*put_hevc_qpel_uw_neon[4][4])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int width, int height, int16_t* src2, ptrdiff_t src2stride);
-void ff_hevc_put_qpel_neon_wrapper(int16_t *dst, uint8_t *src, ptrdiff_t srcstride,
+static void (*put_hevc_qpel_uw_neon[4][4])(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride,
+ int width, int height, const int16_t *src2, ptrdiff_t src2stride);
+void ff_hevc_put_qpel_neon_wrapper(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride,
int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_qpel_uni_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride,
+void ff_hevc_put_qpel_uni_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride,
int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_qpel_bi_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride,
- int16_t *src2,
+void ff_hevc_put_qpel_bi_neon_wrapper(uint8_t *dst, ptrdiff_t dststride,
+ const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width);
#define QPEL_FUNC(name) \
- void name(int16_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, \
+ void name(int16_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, \
int height, int width)
QPEL_FUNC(ff_hevc_put_qpel_v1_neon_8);
@@ -118,7 +118,7 @@ QPEL_FUNC(ff_hevc_put_qpel_h3v3_neon_8);
#undef QPEL_FUNC
#define QPEL_FUNC_UW_PIX(name) \
- void name(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, \
+ void name(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, \
int height, intptr_t mx, intptr_t my, int width);
QPEL_FUNC_UW_PIX(ff_hevc_put_qpel_uw_pixels_w4_neon_8);
QPEL_FUNC_UW_PIX(ff_hevc_put_qpel_uw_pixels_w8_neon_8);
@@ -130,8 +130,8 @@ QPEL_FUNC_UW_PIX(ff_hevc_put_qpel_uw_pixels_w64_neon_8);
#undef QPEL_FUNC_UW_PIX
#define QPEL_FUNC_UW(name) \
- void name(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, \
- int width, int height, int16_t* src2, ptrdiff_t src2stride);
+ void name(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, \
+ int width, int height, const int16_t* src2, ptrdiff_t src2stride);
QPEL_FUNC_UW(ff_hevc_put_qpel_uw_pixels_neon_8);
QPEL_FUNC_UW(ff_hevc_put_qpel_uw_v1_neon_8);
QPEL_FUNC_UW(ff_hevc_put_qpel_uw_v2_neon_8);
@@ -150,14 +150,14 @@ QPEL_FUNC_UW(ff_hevc_put_qpel_uw_h3v2_neon_8);
QPEL_FUNC_UW(ff_hevc_put_qpel_uw_h3v3_neon_8);
#undef QPEL_FUNC_UW
-void ff_hevc_sao_band_filter_neon_8(uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int width, int height, int16_t *offset_table);
+void ff_hevc_sao_band_filter_neon_8(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int width, int height, int16_t *offset_table);
-void ff_hevc_sao_band_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src,
+void ff_hevc_sao_band_filter_neon_8_wrapper(uint8_t *_dst, const uint8_t *_src,
ptrdiff_t stride_dst, ptrdiff_t stride_src,
- int16_t *sao_offset_val, int sao_left_class,
+ const int16_t *sao_offset_val, int sao_left_class,
int width, int height) {
uint8_t *dst = _dst;
- uint8_t *src = _src;
+ const uint8_t *src = _src;
int16_t offset_table[32] = {0};
int k;
@@ -168,10 +168,10 @@ void ff_hevc_sao_band_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src,
ff_hevc_sao_band_filter_neon_8(dst, src, stride_dst, stride_src, width, height, offset_table);
}
-void ff_hevc_sao_edge_filter_neon_8(uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int width, int height,
- int a_stride, int b_stride, int16_t *sao_offset_val, uint8_t *edge_idx);
+void ff_hevc_sao_edge_filter_neon_8(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int width, int height,
+ int a_stride, int b_stride, const int16_t *sao_offset_val, const uint8_t *edge_idx);
-void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val,
+void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, const int16_t *sao_offset_val,
int eo, int width, int height) {
static uint8_t edge_idx[] = { 1, 2, 0, 3, 4 };
static const int8_t pos[4][2][2] = {
@@ -181,7 +181,7 @@ void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, ptrdif
{ { 1, -1 }, { -1, 1 } }, // 135 degree
};
uint8_t *dst = _dst;
- uint8_t *src = _src;
+ const uint8_t *src = _src;
int a_stride, b_stride;
ptrdiff_t stride_src = (2*MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE);
@@ -191,20 +191,20 @@ void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, ptrdif
ff_hevc_sao_edge_filter_neon_8(dst, src, stride_dst, stride_src, width, height, a_stride, b_stride, sao_offset_val, edge_idx);
}
-void ff_hevc_put_qpel_neon_wrapper(int16_t *dst, uint8_t *src, ptrdiff_t srcstride,
+void ff_hevc_put_qpel_neon_wrapper(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride,
int height, intptr_t mx, intptr_t my, int width) {
put_hevc_qpel_neon[my][mx](dst, MAX_PB_SIZE, src, srcstride, height, width);
}
-void ff_hevc_put_qpel_uni_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride,
+void ff_hevc_put_qpel_uni_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride,
int height, intptr_t mx, intptr_t my, int width) {
put_hevc_qpel_uw_neon[my][mx](dst, dststride, src, srcstride, width, height, NULL, 0);
}
-void ff_hevc_put_qpel_bi_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride,
- int16_t *src2,
+void ff_hevc_put_qpel_bi_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride,
+ const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width) {
put_hevc_qpel_uw_neon[my][mx](dst, dststride, src, srcstride, width, height, src2, MAX_PB_SIZE);
}
diff --git a/libavcodec/hevcdsp.h b/libavcodec/hevcdsp.h
index d642ecf9c6..1b9c5bb6bc 100644
--- a/libavcodec/hevcdsp.h
+++ b/libavcodec/hevcdsp.h
@@ -48,7 +48,7 @@ typedef struct HEVCDSPContext {
void (*put_pcm)(uint8_t *_dst, ptrdiff_t _stride, int width, int height,
struct GetBitContext *gb, int pcm_bit_depth);
- void (*add_residual[4])(uint8_t *dst, int16_t *res, ptrdiff_t stride);
+ void (*add_residual[4])(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
void (*dequant)(int16_t *coeffs, int16_t log2_size);
@@ -60,68 +60,68 @@ typedef struct HEVCDSPContext {
void (*idct_dc[4])(int16_t *coeffs);
- void (*sao_band_filter[5])(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src,
- int16_t *sao_offset_val, int sao_left_class, int width, int height);
+ void (*sao_band_filter[5])(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src,
+ const int16_t *sao_offset_val, int sao_left_class, int width, int height);
/* implicit stride_src parameter has value of 2 * MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE */
- void (*sao_edge_filter[5])(uint8_t *_dst /* align 16 */, uint8_t *_src /* align 32 */, ptrdiff_t stride_dst,
- int16_t *sao_offset_val, int sao_eo_class, int width, int height);
+ void (*sao_edge_filter[5])(uint8_t *_dst /* align 16 */, const uint8_t *_src /* align 32 */, ptrdiff_t stride_dst,
+ const int16_t *sao_offset_val, int sao_eo_class, int width, int height);
- void (*sao_edge_restore[2])(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src,
- struct SAOParams *sao, int *borders, int _width, int _height, int c_idx,
- uint8_t *vert_edge, uint8_t *horiz_edge, uint8_t *diag_edge);
+ void (*sao_edge_restore[2])(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src,
+ const struct SAOParams *sao, const int *borders, int _width, int _height, int c_idx,
+ const uint8_t *vert_edge, const uint8_t *horiz_edge, const uint8_t *diag_edge);
- void (*put_hevc_qpel[10][2][2])(int16_t *dst, uint8_t *src, ptrdiff_t srcstride,
+ void (*put_hevc_qpel[10][2][2])(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride,
int height, intptr_t mx, intptr_t my, int width);
- void (*put_hevc_qpel_uni[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride,
+ void (*put_hevc_qpel_uni[10][2][2])(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride,
int height, intptr_t mx, intptr_t my, int width);
- void (*put_hevc_qpel_uni_w[10][2][2])(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
+ void (*put_hevc_qpel_uni_w[10][2][2])(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width);
- void (*put_hevc_qpel_bi[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+ void (*put_hevc_qpel_bi[10][2][2])(uint8_t *dst, ptrdiff_t dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width);
- void (*put_hevc_qpel_bi_w[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+ void (*put_hevc_qpel_bi_w[10][2][2])(uint8_t *dst, ptrdiff_t dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, int denom, int wx0, int wx1,
int ox0, int ox1, intptr_t mx, intptr_t my, int width);
- void (*put_hevc_epel[10][2][2])(int16_t *dst, uint8_t *src, ptrdiff_t srcstride,
+ void (*put_hevc_epel[10][2][2])(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride,
int height, intptr_t mx, intptr_t my, int width);
- void (*put_hevc_epel_uni[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride,
+ void (*put_hevc_epel_uni[10][2][2])(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width);
- void (*put_hevc_epel_uni_w[10][2][2])(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
+ void (*put_hevc_epel_uni_w[10][2][2])(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width);
- void (*put_hevc_epel_bi[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+ void (*put_hevc_epel_bi[10][2][2])(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride,
+ const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width);
- void (*put_hevc_epel_bi_w[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+ void (*put_hevc_epel_bi_w[10][2][2])(uint8_t *dst, ptrdiff_t dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, int denom, int wx0, int ox0, int wx1,
int ox1, intptr_t mx, intptr_t my, int width);
void (*hevc_h_loop_filter_luma)(uint8_t *pix, ptrdiff_t stride,
- int beta, int32_t *tc,
- uint8_t *no_p, uint8_t *no_q);
+ int beta, const int32_t *tc,
+ const uint8_t *no_p, const uint8_t *no_q);
void (*hevc_v_loop_filter_luma)(uint8_t *pix, ptrdiff_t stride,
- int beta, int32_t *tc,
- uint8_t *no_p, uint8_t *no_q);
+ int beta, const int32_t *tc,
+ const uint8_t *no_p, const uint8_t *no_q);
void (*hevc_h_loop_filter_chroma)(uint8_t *pix, ptrdiff_t stride,
- int32_t *tc, uint8_t *no_p, uint8_t *no_q);
+ const int32_t *tc, const uint8_t *no_p, const uint8_t *no_q);
void (*hevc_v_loop_filter_chroma)(uint8_t *pix, ptrdiff_t stride,
- int32_t *tc, uint8_t *no_p, uint8_t *no_q);
+ const int32_t *tc, const uint8_t *no_p, const uint8_t *no_q);
void (*hevc_h_loop_filter_luma_c)(uint8_t *pix, ptrdiff_t stride,
- int beta, int32_t *tc,
- uint8_t *no_p, uint8_t *no_q);
+ int beta, const int32_t *tc,
+ const uint8_t *no_p, const uint8_t *no_q);
void (*hevc_v_loop_filter_luma_c)(uint8_t *pix, ptrdiff_t stride,
- int beta, int32_t *tc,
- uint8_t *no_p, uint8_t *no_q);
+ int beta, const int32_t *tc,
+ const uint8_t *no_p, const uint8_t *no_q);
void (*hevc_h_loop_filter_chroma_c)(uint8_t *pix, ptrdiff_t stride,
- int32_t *tc, uint8_t *no_p,
- uint8_t *no_q);
+ const int32_t *tc, const uint8_t *no_p,
+ const uint8_t *no_q);
void (*hevc_v_loop_filter_chroma_c)(uint8_t *pix, ptrdiff_t stride,
- int32_t *tc, uint8_t *no_p,
- uint8_t *no_q);
+ const int32_t *tc, const uint8_t *no_p,
+ const uint8_t *no_q);
} HEVCDSPContext;
void ff_hevc_dsp_init(HEVCDSPContext *hpc, int bit_depth);
diff --git a/libavcodec/hevcdsp_template.c b/libavcodec/hevcdsp_template.c
index 61425975cd..725fab99ed 100644
--- a/libavcodec/hevcdsp_template.c
+++ b/libavcodec/hevcdsp_template.c
@@ -41,7 +41,7 @@ static void FUNC(put_pcm)(uint8_t *_dst, ptrdiff_t stride, int width, int height
}
}
-static av_always_inline void FUNC(add_residual)(uint8_t *_dst, int16_t *res,
+static av_always_inline void FUNC(add_residual)(uint8_t *_dst, const int16_t *res,
ptrdiff_t stride, int size)
{
int x, y;
@@ -58,25 +58,25 @@ static av_always_inline void FUNC(add_residual)(uint8_t *_dst, int16_t *res,
}
}
-static void FUNC(add_residual4x4)(uint8_t *_dst, int16_t *res,
+static void FUNC(add_residual4x4)(uint8_t *_dst, const int16_t *res,
ptrdiff_t stride)
{
FUNC(add_residual)(_dst, res, stride, 4);
}
-static void FUNC(add_residual8x8)(uint8_t *_dst, int16_t *res,
+static void FUNC(add_residual8x8)(uint8_t *_dst, const int16_t *res,
ptrdiff_t stride)
{
FUNC(add_residual)(_dst, res, stride, 8);
}
-static void FUNC(add_residual16x16)(uint8_t *_dst, int16_t *res,
+static void FUNC(add_residual16x16)(uint8_t *_dst, const int16_t *res,
ptrdiff_t stride)
{
FUNC(add_residual)(_dst, res, stride, 16);
}
-static void FUNC(add_residual32x32)(uint8_t *_dst, int16_t *res,
+static void FUNC(add_residual32x32)(uint8_t *_dst, const int16_t *res,
ptrdiff_t stride)
{
FUNC(add_residual)(_dst, res, stride, 32);
@@ -295,13 +295,13 @@ IDCT_DC(32)
#undef SET
#undef SCALE
-static void FUNC(sao_band_filter)(uint8_t *_dst, uint8_t *_src,
+static void FUNC(sao_band_filter)(uint8_t *_dst, const uint8_t *_src,
ptrdiff_t stride_dst, ptrdiff_t stride_src,
- int16_t *sao_offset_val, int sao_left_class,
+ const int16_t *sao_offset_val, int sao_left_class,
int width, int height)
{
pixel *dst = (pixel *)_dst;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
int offset_table[32] = { 0 };
int k, y, x;
int shift = BIT_DEPTH - 5;
@@ -321,7 +321,7 @@ static void FUNC(sao_band_filter)(uint8_t *_dst, uint8_t *_src,
#define CMP(a, b) (((a) > (b)) - ((a) < (b)))
-static void FUNC(sao_edge_filter)(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val,
+static void FUNC(sao_edge_filter)(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, const int16_t *sao_offset_val,
int eo, int width, int height) {
static const uint8_t edge_idx[] = { 1, 2, 0, 3, 4 };
@@ -332,7 +332,7 @@ static void FUNC(sao_edge_filter)(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride
{ { 1, -1 }, { -1, 1 } }, // 135 degree
};
pixel *dst = (pixel *)_dst;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
int a_stride, b_stride;
int x, y;
ptrdiff_t stride_src = (2*MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE) / sizeof(pixel);
@@ -352,16 +352,16 @@ static void FUNC(sao_edge_filter)(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride
}
}
-static void FUNC(sao_edge_restore_0)(uint8_t *_dst, uint8_t *_src,
- ptrdiff_t stride_dst, ptrdiff_t stride_src, SAOParams *sao,
- int *borders, int _width, int _height,
- int c_idx, uint8_t *vert_edge,
- uint8_t *horiz_edge, uint8_t *diag_edge)
+static void FUNC(sao_edge_restore_0)(uint8_t *_dst, const uint8_t *_src,
+ ptrdiff_t stride_dst, ptrdiff_t stride_src, const SAOParams *sao,
+ const int *borders, int _width, int _height,
+ int c_idx, const uint8_t *vert_edge,
+ const uint8_t *horiz_edge, const uint8_t *diag_edge)
{
int x, y;
pixel *dst = (pixel *)_dst;
- pixel *src = (pixel *)_src;
- int16_t *sao_offset_val = sao->offset_val[c_idx];
+ const pixel *src = (const pixel *)_src;
+ const int16_t *sao_offset_val = sao->offset_val[c_idx];
int sao_eo_class = sao->eo_class[c_idx];
int init_x = 0, width = _width, height = _height;
@@ -402,16 +402,16 @@ static void FUNC(sao_edge_restore_0)(uint8_t *_dst, uint8_t *_src,
}
}
-static void FUNC(sao_edge_restore_1)(uint8_t *_dst, uint8_t *_src,
- ptrdiff_t stride_dst, ptrdiff_t stride_src, SAOParams *sao,
- int *borders, int _width, int _height,
- int c_idx, uint8_t *vert_edge,
- uint8_t *horiz_edge, uint8_t *diag_edge)
+static void FUNC(sao_edge_restore_1)(uint8_t *_dst, const uint8_t *_src,
+ ptrdiff_t stride_dst, ptrdiff_t stride_src, const SAOParams *sao,
+ const int *borders, int _width, int _height,
+ int c_idx, const uint8_t *vert_edge,
+ const uint8_t *horiz_edge, const uint8_t *diag_edge)
{
int x, y;
pixel *dst = (pixel *)_dst;
- pixel *src = (pixel *)_src;
- int16_t *sao_offset_val = sao->offset_val[c_idx];
+ const pixel *src = (const pixel *)_src;
+ const int16_t *sao_offset_val = sao->offset_val[c_idx];
int sao_eo_class = sao->eo_class[c_idx];
int init_x = 0, init_y = 0, width = _width, height = _height;
@@ -494,11 +494,11 @@ static void FUNC(sao_edge_restore_1)(uint8_t *_dst, uint8_t *_src,
//
////////////////////////////////////////////////////////////////////////////////
static void FUNC(put_hevc_pel_pixels)(int16_t *dst,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
for (y = 0; y < height; y++) {
@@ -509,11 +509,11 @@ static void FUNC(put_hevc_pel_pixels)(int16_t *dst,
}
}
-static void FUNC(put_hevc_pel_uni_pixels)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
+static void FUNC(put_hevc_pel_uni_pixels)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -525,12 +525,12 @@ static void FUNC(put_hevc_pel_uni_pixels)(uint8_t *_dst, ptrdiff_t _dststride, u
}
}
-static void FUNC(put_hevc_pel_bi_pixels)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_pel_bi_pixels)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
+ const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -551,11 +551,11 @@ static void FUNC(put_hevc_pel_bi_pixels)(uint8_t *_dst, ptrdiff_t _dststride, ui
}
}
-static void FUNC(put_hevc_pel_uni_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
+static void FUNC(put_hevc_pel_uni_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -575,13 +575,13 @@ static void FUNC(put_hevc_pel_uni_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride,
}
}
-static void FUNC(put_hevc_pel_bi_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_pel_bi_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
+ const int16_t *src2,
int height, int denom, int wx0, int wx1,
int ox0, int ox1, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -615,11 +615,11 @@ static void FUNC(put_hevc_pel_bi_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride,
filter[7] * src[x + 4 * stride])
static void FUNC(put_hevc_qpel_h)(int16_t *dst,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
const int8_t *filter = ff_hevc_qpel_filters[mx - 1];
for (y = 0; y < height; y++) {
@@ -631,11 +631,11 @@ static void FUNC(put_hevc_qpel_h)(int16_t *dst,
}
static void FUNC(put_hevc_qpel_v)(int16_t *dst,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
const int8_t *filter = ff_hevc_qpel_filters[my - 1];
for (y = 0; y < height; y++) {
@@ -647,14 +647,14 @@ static void FUNC(put_hevc_qpel_v)(int16_t *dst,
}
static void FUNC(put_hevc_qpel_hv)(int16_t *dst,
- uint8_t *_src,
+ const uint8_t *_src,
ptrdiff_t _srcstride,
int height, intptr_t mx,
intptr_t my, int width)
{
int x, y;
const int8_t *filter;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
int16_t tmp_array[(MAX_PB_SIZE + QPEL_EXTRA) * MAX_PB_SIZE];
int16_t *tmp = tmp_array;
@@ -679,11 +679,11 @@ static void FUNC(put_hevc_qpel_hv)(int16_t *dst,
}
static void FUNC(put_hevc_qpel_uni_h)(uint8_t *_dst, ptrdiff_t _dststride,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -704,12 +704,12 @@ static void FUNC(put_hevc_qpel_uni_h)(uint8_t *_dst, ptrdiff_t _dststride,
}
}
-static void FUNC(put_hevc_qpel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_qpel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
+ const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -733,11 +733,11 @@ static void FUNC(put_hevc_qpel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_
}
static void FUNC(put_hevc_qpel_uni_v)(uint8_t *_dst, ptrdiff_t _dststride,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -759,12 +759,12 @@ static void FUNC(put_hevc_qpel_uni_v)(uint8_t *_dst, ptrdiff_t _dststride,
}
-static void FUNC(put_hevc_qpel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_qpel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -788,12 +788,12 @@ static void FUNC(put_hevc_qpel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_
}
static void FUNC(put_hevc_qpel_uni_hv)(uint8_t *_dst, ptrdiff_t _dststride,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
const int8_t *filter;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -827,13 +827,13 @@ static void FUNC(put_hevc_qpel_uni_hv)(uint8_t *_dst, ptrdiff_t _dststride,
}
}
-static void FUNC(put_hevc_qpel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_qpel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
const int8_t *filter;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -868,12 +868,12 @@ static void FUNC(put_hevc_qpel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8
}
static void FUNC(put_hevc_qpel_uni_w_h)(uint8_t *_dst, ptrdiff_t _dststride,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, int denom, int wx, int ox,
intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -894,13 +894,13 @@ static void FUNC(put_hevc_qpel_uni_w_h)(uint8_t *_dst, ptrdiff_t _dststride,
}
}
-static void FUNC(put_hevc_qpel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_qpel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, int denom, int wx0, int wx1,
int ox0, int ox1, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -923,12 +923,12 @@ static void FUNC(put_hevc_qpel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uint
}
static void FUNC(put_hevc_qpel_uni_w_v)(uint8_t *_dst, ptrdiff_t _dststride,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, int denom, int wx, int ox,
intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -949,13 +949,13 @@ static void FUNC(put_hevc_qpel_uni_w_v)(uint8_t *_dst, ptrdiff_t _dststride,
}
}
-static void FUNC(put_hevc_qpel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_qpel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, int denom, int wx0, int wx1,
int ox0, int ox1, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -978,13 +978,13 @@ static void FUNC(put_hevc_qpel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uint
}
static void FUNC(put_hevc_qpel_uni_w_hv)(uint8_t *_dst, ptrdiff_t _dststride,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, int denom, int wx, int ox,
intptr_t mx, intptr_t my, int width)
{
int x, y;
const int8_t *filter;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1018,14 +1018,14 @@ static void FUNC(put_hevc_qpel_uni_w_hv)(uint8_t *_dst, ptrdiff_t _dststride,
}
}
-static void FUNC(put_hevc_qpel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_qpel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, int denom, int wx0, int wx1,
int ox0, int ox1, intptr_t mx, intptr_t my, int width)
{
int x, y;
const int8_t *filter;
- pixel *src = (pixel*)_src;
+ const pixel *src = (const pixel*)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1068,11 +1068,11 @@ static void FUNC(put_hevc_qpel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, uin
filter[3] * src[x + 2 * stride])
static void FUNC(put_hevc_epel_h)(int16_t *dst,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
const int8_t *filter = ff_hevc_epel_filters[mx - 1];
for (y = 0; y < height; y++) {
@@ -1084,11 +1084,11 @@ static void FUNC(put_hevc_epel_h)(int16_t *dst,
}
static void FUNC(put_hevc_epel_v)(int16_t *dst,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
const int8_t *filter = ff_hevc_epel_filters[my - 1];
@@ -1101,11 +1101,11 @@ static void FUNC(put_hevc_epel_v)(int16_t *dst,
}
static void FUNC(put_hevc_epel_hv)(int16_t *dst,
- uint8_t *_src, ptrdiff_t _srcstride,
+ const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
const int8_t *filter = ff_hevc_epel_filters[mx - 1];
int16_t tmp_array[(MAX_PB_SIZE + EPEL_EXTRA) * MAX_PB_SIZE];
@@ -1131,11 +1131,11 @@ static void FUNC(put_hevc_epel_hv)(int16_t *dst,
}
}
-static void FUNC(put_hevc_epel_uni_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
+static void FUNC(put_hevc_epel_uni_h)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1155,12 +1155,12 @@ static void FUNC(put_hevc_epel_uni_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8
}
}
-static void FUNC(put_hevc_epel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_epel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1182,11 +1182,11 @@ static void FUNC(put_hevc_epel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_
}
}
-static void FUNC(put_hevc_epel_uni_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
+static void FUNC(put_hevc_epel_uni_v)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1206,12 +1206,12 @@ static void FUNC(put_hevc_epel_uni_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8
}
}
-static void FUNC(put_hevc_epel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_epel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
const int8_t *filter = ff_hevc_epel_filters[my - 1];
pixel *dst = (pixel *)_dst;
@@ -1232,11 +1232,11 @@ static void FUNC(put_hevc_epel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_
}
}
-static void FUNC(put_hevc_epel_uni_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
+static void FUNC(put_hevc_epel_uni_hv)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1270,12 +1270,12 @@ static void FUNC(put_hevc_epel_uni_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint
}
}
-static void FUNC(put_hevc_epel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_epel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1310,11 +1310,11 @@ static void FUNC(put_hevc_epel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8
}
}
-static void FUNC(put_hevc_epel_uni_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
+static void FUNC(put_hevc_epel_uni_w_h)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1336,13 +1336,13 @@ static void FUNC(put_hevc_epel_uni_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uin
}
}
-static void FUNC(put_hevc_epel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_epel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, int denom, int wx0, int wx1,
int ox0, int ox1, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1362,11 +1362,11 @@ static void FUNC(put_hevc_epel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uint
}
}
-static void FUNC(put_hevc_epel_uni_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
+static void FUNC(put_hevc_epel_uni_w_v)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1388,13 +1388,13 @@ static void FUNC(put_hevc_epel_uni_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uin
}
}
-static void FUNC(put_hevc_epel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_epel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, int denom, int wx0, int wx1,
int ox0, int ox1, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
const int8_t *filter = ff_hevc_epel_filters[my - 1];
pixel *dst = (pixel *)_dst;
@@ -1414,11 +1414,11 @@ static void FUNC(put_hevc_epel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uint
}
}
-static void FUNC(put_hevc_epel_uni_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
+static void FUNC(put_hevc_epel_uni_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride,
int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1453,13 +1453,13 @@ static void FUNC(put_hevc_epel_uni_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, ui
}
}
-static void FUNC(put_hevc_epel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride,
- int16_t *src2,
+static void FUNC(put_hevc_epel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride,
+ const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2,
int height, int denom, int wx0, int wx1,
int ox0, int ox1, intptr_t mx, intptr_t my, int width)
{
int x, y;
- pixel *src = (pixel *)_src;
+ const pixel *src = (const pixel *)_src;
ptrdiff_t srcstride = _srcstride / sizeof(pixel);
pixel *dst = (pixel *)_dst;
ptrdiff_t dststride = _dststride / sizeof(pixel);
@@ -1515,8 +1515,8 @@ static void FUNC(put_hevc_epel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, uin
static void FUNC(hevc_loop_filter_luma)(uint8_t *_pix,
ptrdiff_t _xstride, ptrdiff_t _ystride,
- int beta, int *_tc,
- uint8_t *_no_p, uint8_t *_no_q)
+ int beta, const int *_tc,
+ const uint8_t *_no_p, const uint8_t *_no_q)
{
int d, j;
pixel *pix = (pixel *)_pix;
@@ -1610,8 +1610,8 @@ static void FUNC(hevc_loop_filter_luma)(uint8_t *_pix,
}
static void FUNC(hevc_loop_filter_chroma)(uint8_t *_pix, ptrdiff_t _xstride,
- ptrdiff_t _ystride, int *_tc,
- uint8_t *_no_p, uint8_t *_no_q)
+ ptrdiff_t _ystride, const int *_tc,
+ const uint8_t *_no_p, const uint8_t *_no_q)
{
int d, j, no_p, no_q;
pixel *pix = (pixel *)_pix;
@@ -1644,30 +1644,30 @@ static void FUNC(hevc_loop_filter_chroma)(uint8_t *_pix, ptrdiff_t _xstride,
}
static void FUNC(hevc_h_loop_filter_chroma)(uint8_t *pix, ptrdiff_t stride,
- int32_t *tc, uint8_t *no_p,
- uint8_t *no_q)
+ const int32_t *tc, const uint8_t *no_p,
+ const uint8_t *no_q)
{
FUNC(hevc_loop_filter_chroma)(pix, stride, sizeof(pixel), tc, no_p, no_q);
}
static void FUNC(hevc_v_loop_filter_chroma)(uint8_t *pix, ptrdiff_t stride,
- int32_t *tc, uint8_t *no_p,
- uint8_t *no_q)
+ const int32_t *tc, const uint8_t *no_p,
+ const uint8_t *no_q)
{
FUNC(hevc_loop_filter_chroma)(pix, sizeof(pixel), stride, tc, no_p, no_q);
}
static void FUNC(hevc_h_loop_filter_luma)(uint8_t *pix, ptrdiff_t stride,
- int beta, int32_t *tc, uint8_t *no_p,
- uint8_t *no_q)
+ int beta, const int32_t *tc, const uint8_t *no_p,
+ const uint8_t *no_q)
{
FUNC(hevc_loop_filter_luma)(pix, stride, sizeof(pixel),
beta, tc, no_p, no_q);
}
static void FUNC(hevc_v_loop_filter_luma)(uint8_t *pix, ptrdiff_t stride,
- int beta, int32_t *tc, uint8_t *no_p,
- uint8_t *no_q)
+ int beta, const int32_t *tc, const uint8_t *no_p,
+ const uint8_t *no_q)
{
FUNC(hevc_loop_filter_luma)(pix, sizeof(pixel), stride,
beta, tc, no_p, no_q);
diff --git a/libavcodec/loongarch/hevc_lpf_sao_lsx.c b/libavcodec/loongarch/hevc_lpf_sao_lsx.c
index d90eaa745e..97c748c6f7 100644
--- a/libavcodec/loongarch/hevc_lpf_sao_lsx.c
+++ b/libavcodec/loongarch/hevc_lpf_sao_lsx.c
@@ -28,8 +28,8 @@
#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
void ff_hevc_loop_filter_luma_h_8_lsx(uint8_t *src, ptrdiff_t stride,
- int32_t beta, int32_t *tc,
- uint8_t *p_is_pcm, uint8_t *q_is_pcm)
+ int32_t beta, const int32_t *tc,
+ const uint8_t *p_is_pcm, const uint8_t *q_is_pcm)
{
ptrdiff_t stride_2x = (stride << 1);
ptrdiff_t stride_4x = (stride << 2);
@@ -440,8 +440,8 @@ void ff_hevc_loop_filter_luma_h_8_lsx(uint8_t *src, ptrdiff_t stride,
}
void ff_hevc_loop_filter_luma_v_8_lsx(uint8_t *src, ptrdiff_t stride,
- int32_t beta, int32_t *tc,
- uint8_t *p_is_pcm, uint8_t *q_is_pcm)
+ int32_t beta, const int32_t *tc,
+ const uint8_t *p_is_pcm, const uint8_t *q_is_pcm)
{
ptrdiff_t stride_2x = (stride << 1);
ptrdiff_t stride_4x = (stride << 2);
@@ -865,8 +865,8 @@ void ff_hevc_loop_filter_luma_v_8_lsx(uint8_t *src, ptrdiff_t stride,
}
void ff_hevc_loop_filter_chroma_h_8_lsx(uint8_t *src, ptrdiff_t stride,
- int32_t *tc, uint8_t *p_is_pcm,
- uint8_t *q_is_pcm)
+ const int32_t *tc, const uint8_t *p_is_pcm,
+ const uint8_t *q_is_pcm)
{
uint8_t *p1_ptr = src - (stride << 1);
uint8_t *p0_ptr = src - stride;
@@ -919,8 +919,8 @@ void ff_hevc_loop_filter_chroma_h_8_lsx(uint8_t *src, ptrdiff_t stride,
}
void ff_hevc_loop_filter_chroma_v_8_lsx(uint8_t *src, ptrdiff_t stride,
- int32_t *tc, uint8_t *p_is_pcm,
- uint8_t *q_is_pcm)
+ const int32_t *tc, const uint8_t *p_is_pcm,
+ const uint8_t *q_is_pcm)
{
ptrdiff_t stride_2x = (stride << 1);
ptrdiff_t stride_4x = (stride << 2);
@@ -991,9 +991,9 @@ void ff_hevc_loop_filter_chroma_v_8_lsx(uint8_t *src, ptrdiff_t stride,
static void hevc_sao_edge_filter_0degree_4width_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
const int32_t src_stride_2x = (src_stride << 1);
@@ -1076,9 +1076,9 @@ static void hevc_sao_edge_filter_0degree_4width_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_0degree_8width_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
const int32_t src_stride_2x = (src_stride << 1);
@@ -1169,13 +1169,14 @@ static void hevc_sao_edge_filter_0degree_8width_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_0degree_16multiple_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t width,
int32_t height)
{
- uint8_t *dst_ptr, *src_minus1;
+ uint8_t *dst_ptr;
+ const uint8_t *src_minus1;
int32_t v_cnt;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
@@ -1307,9 +1308,9 @@ static void hevc_sao_edge_filter_0degree_16multiple_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_90degree_4width_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
const int32_t src_stride_2x = (src_stride << 1);
@@ -1402,9 +1403,9 @@ static void hevc_sao_edge_filter_90degree_4width_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_90degree_8width_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
const int32_t src_stride_2x = (src_stride << 1);
@@ -1495,14 +1496,14 @@ static void hevc_sao_edge_filter_90degree_8width_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_90degree_16multiple_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *
+ const int16_t *
sao_offset_val,
int32_t width,
int32_t height)
{
- uint8_t *src_orig = src;
+ const uint8_t *src_orig = src;
uint8_t *dst_orig = dst;
int32_t h_cnt, v_cnt;
const int32_t src_stride_2x = (src_stride << 1);
@@ -1614,12 +1615,12 @@ static void hevc_sao_edge_filter_90degree_16multiple_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_45degree_4width_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
- uint8_t *src_orig;
+ const uint8_t *src_orig;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
__m128i shuf1 = {0x807060504030201, 0x100F0E0D0C0B0A09};
@@ -1727,12 +1728,12 @@ static void hevc_sao_edge_filter_45degree_4width_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_45degree_8width_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
- uint8_t *src_orig;
+ const uint8_t *src_orig;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
__m128i shuf1 = {0x807060504030201, 0x100F0E0D0C0B0A09};
@@ -1846,14 +1847,14 @@ static void hevc_sao_edge_filter_45degree_8width_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_45degree_16multiple_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *
+ const int16_t *
sao_offset_val,
int32_t width,
int32_t height)
{
- uint8_t *src_orig = src;
+ const uint8_t *src_orig = src;
uint8_t *dst_orig = dst;
int32_t v_cnt;
const int32_t src_stride_2x = (src_stride << 1);
@@ -1994,12 +1995,12 @@ static void hevc_sao_edge_filter_45degree_16multiple_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_135degree_4width_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
- uint8_t *src_orig;
+ const uint8_t *src_orig;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
@@ -2109,12 +2110,12 @@ static void hevc_sao_edge_filter_135degree_4width_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_135degree_8width_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
- uint8_t *src_orig;
+ const uint8_t *src_orig;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
@@ -2223,13 +2224,14 @@ static void hevc_sao_edge_filter_135degree_8width_lsx(uint8_t *dst,
static void hevc_sao_edge_filter_135degree_16multiple_lsx(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t width,
int32_t height)
{
- uint8_t *src_orig, *dst_orig;
+ const uint8_t *src_orig;
+ uint8_t *dst_orig;
int32_t v_cnt;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
@@ -2366,9 +2368,9 @@ static void hevc_sao_edge_filter_135degree_16multiple_lsx(uint8_t *dst,
}
}
-void ff_hevc_sao_edge_filter_8_lsx(uint8_t *dst, uint8_t *src,
+void ff_hevc_sao_edge_filter_8_lsx(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride_dst,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int eo, int width, int height)
{
ptrdiff_t stride_src = (2 * MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE);
diff --git a/libavcodec/loongarch/hevc_mc_bi_lsx.c b/libavcodec/loongarch/hevc_mc_bi_lsx.c
index 7a789ed92c..0ec89f5788 100644
--- a/libavcodec/loongarch/hevc_mc_bi_lsx.c
+++ b/libavcodec/loongarch/hevc_mc_bi_lsx.c
@@ -46,8 +46,8 @@ hevc_bi_rnd_clip(__m128i in0, __m128i vec0, __m128i in1, __m128i vec1)
/* hevc_bi_copy: dst = av_clip_uint8((src0 << 6 + src1) >> 7) */
static
-void hevc_bi_copy_4w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_bi_copy_4w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride, int32_t height)
{
int32_t loop_cnt = height >> 3;
@@ -131,8 +131,8 @@ void hevc_bi_copy_4w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static
-void hevc_bi_copy_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_bi_copy_6w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride, int32_t height)
{
int32_t loop_cnt;
@@ -227,8 +227,8 @@ void hevc_bi_copy_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static
-void hevc_bi_copy_8w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_bi_copy_8w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride, int32_t height)
{
int32_t loop_cnt = height >> 3;
@@ -312,8 +312,8 @@ void hevc_bi_copy_8w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static
-void hevc_bi_copy_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_bi_copy_12w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride, int32_t height)
{
uint32_t loop_cnt;
@@ -326,7 +326,7 @@ void hevc_bi_copy_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
int32_t src_stride_3x = src_stride_2x + src_stride;
int32_t dst_stride_3x = dst_stride_2x + dst_stride;
int32_t src2_stride_3x = src2_stride_2x + src2_stride_x;
- int16_t* _src1 = src1_ptr + 8;
+ const int16_t *_src1 = src1_ptr + 8;
__m128i out0, out1, out2;
__m128i src0, src1, src2, src3;
__m128i in0, in1, in2, in3, in4, in5, in6, in7;
@@ -370,8 +370,8 @@ void hevc_bi_copy_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static
-void hevc_bi_copy_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_bi_copy_16w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride, int32_t height)
{
uint32_t loop_cnt;
@@ -384,7 +384,7 @@ void hevc_bi_copy_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
int32_t src_stride_3x = src_stride_2x + src_stride;
int32_t dst_stride_3x = dst_stride_2x + dst_stride;
int32_t src2_stride_3x = src2_stride_2x + src2_stride_x;
- int16_t *_src1 = src1_ptr + 8;
+ const int16_t *_src1 = src1_ptr + 8;
__m128i out0, out1, out2, out3;
__m128i src0, src1, src2, src3;
__m128i in0, in1, in2, in3, in4, in5, in6, in7;
@@ -427,8 +427,8 @@ void hevc_bi_copy_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static
-void hevc_bi_copy_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_bi_copy_24w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride, int32_t height)
{
hevc_bi_copy_16w_lsx(src0_ptr, src_stride, src1_ptr, src2_stride,
@@ -438,8 +438,8 @@ void hevc_bi_copy_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static
-void hevc_bi_copy_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_bi_copy_32w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride, int32_t height)
{
hevc_bi_copy_16w_lsx(src0_ptr, src_stride, src1_ptr, src2_stride,
@@ -449,8 +449,8 @@ void hevc_bi_copy_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static
-void hevc_bi_copy_48w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_bi_copy_48w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride, int32_t height)
{
hevc_bi_copy_16w_lsx(src0_ptr, src_stride, src1_ptr, src2_stride,
@@ -460,8 +460,8 @@ void hevc_bi_copy_48w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static
-void hevc_bi_copy_64w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_bi_copy_64w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride, int32_t height)
{
hevc_bi_copy_32w_lsx(src0_ptr, src_stride, src1_ptr, src2_stride,
@@ -470,8 +470,8 @@ void hevc_bi_copy_64w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst + 32, dst_stride, height);
}
-static void hevc_hz_8t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hz_8t_16w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -535,8 +535,8 @@ static void hevc_hz_8t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_hz_8t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hz_8t_24w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -589,8 +589,8 @@ static void hevc_hz_8t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_hz_8t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hz_8t_32w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -600,8 +600,8 @@ static void hevc_hz_8t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst + 16, dst_stride, filter, height);
}
-static void hevc_hz_8t_48w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hz_8t_48w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -611,8 +611,8 @@ static void hevc_hz_8t_48w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst + 16, dst_stride, filter, height);
}
-static void hevc_hz_8t_64w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hz_8t_64w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -623,7 +623,7 @@ static void hevc_hz_8t_64w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static av_always_inline
-void hevc_vt_8t_8w_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr,
+void hevc_vt_8t_8w_lsx(const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr,
int32_t src2_stride, uint8_t *dst, int32_t dst_stride,\
const int8_t *filter, int32_t height)
{
@@ -709,14 +709,14 @@ void hevc_vt_8t_8w_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr,
}
static av_always_inline
-void hevc_vt_8t_16multx2mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_vt_8t_16multx2mult_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height,
int32_t width)
{
- uint8_t *src0_ptr_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
uint32_t loop_cnt;
uint32_t cnt;
@@ -812,8 +812,8 @@ void hevc_vt_8t_16multx2mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_vt_8t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_vt_8t_16w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -821,8 +821,8 @@ static void hevc_vt_8t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst, dst_stride, filter, height, 16);
}
-static void hevc_vt_8t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_vt_8t_24w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -832,8 +832,8 @@ static void hevc_vt_8t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst + 16, dst_stride, filter, height);
}
-static void hevc_vt_8t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_vt_8t_32w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -841,8 +841,8 @@ static void hevc_vt_8t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst, dst_stride, filter, height, 32);
}
-static void hevc_vt_8t_48w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_vt_8t_48w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -850,8 +850,8 @@ static void hevc_vt_8t_48w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst, dst_stride, filter, height, 48);
}
-static void hevc_vt_8t_64w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_vt_8t_64w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -860,16 +860,16 @@ static void hevc_vt_8t_64w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static av_always_inline
-void hevc_hv_8t_8multx1mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_hv_8t_8multx1mult_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height, int32_t width)
{
uint32_t loop_cnt;
uint32_t cnt;
- uint8_t *src0_ptr_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
int32_t src_stride_2x = (src_stride << 1);
int32_t src_stride_4x = (src_stride << 2);
@@ -998,8 +998,8 @@ void hevc_hv_8t_8multx1mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_hv_8t_8w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_8t_8w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1008,8 +1008,8 @@ static void hevc_hv_8t_8w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst, dst_stride, filter_x, filter_y, height, 8);
}
-static void hevc_hv_8t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_8t_16w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1018,8 +1018,8 @@ static void hevc_hv_8t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst, dst_stride, filter_x, filter_y, height, 16);
}
-static void hevc_hv_8t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_8t_24w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1028,8 +1028,8 @@ static void hevc_hv_8t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst, dst_stride, filter_x, filter_y, height, 24);
}
-static void hevc_hv_8t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_8t_32w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1038,8 +1038,8 @@ static void hevc_hv_8t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst, dst_stride, filter_x, filter_y, height, 32);
}
-static void hevc_hv_8t_48w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_8t_48w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1048,8 +1048,8 @@ static void hevc_hv_8t_48w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst, dst_stride, filter_x, filter_y, height, 48);
}
-static void hevc_hv_8t_64w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_8t_64w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1058,12 +1058,12 @@ static void hevc_hv_8t_64w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst, dst_stride, filter_x, filter_y, height, 64);
}
-static void hevc_hz_4t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hz_4t_24w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
- int16_t *src1_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
uint32_t loop_cnt;
int32_t dst_stride_2x = (dst_stride << 1);
@@ -1161,8 +1161,8 @@ static void hevc_hz_4t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_hz_4t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hz_4t_32w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1205,8 +1205,8 @@ static void hevc_hz_4t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_vt_4t_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_vt_4t_12w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1220,7 +1220,7 @@ static void hevc_vt_4t_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
int32_t src_stride_3x = src_stride_2x + src_stride;
int32_t dst_stride_3x = dst_stride_2x + dst_stride;
int32_t src2_stride_3x = src2_stride_2x + src2_stride_x;
- int16_t *_src1 = src1_ptr + 8;
+ const int16_t *_src1 = src1_ptr + 8;
__m128i src0, src1, src2, src3, src4, src5, src6;
__m128i in0, in1, in2, in3, in4, in5, in6, in7;
__m128i src10_r, src32_r, src21_r, src43_r, src54_r, src65_r;
@@ -1294,8 +1294,8 @@ static void hevc_vt_4t_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_vt_4t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_vt_4t_16w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1366,8 +1366,8 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_vt_4t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_vt_4t_24w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1473,8 +1473,8 @@ static void hevc_vt_4t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_vt_4t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_vt_4t_32w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1484,8 +1484,8 @@ static void hevc_vt_4t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst + 16, dst_stride, filter, height);
}
-static void hevc_hv_4t_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_4t_6w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1672,7 +1672,7 @@ static void hevc_hv_4t_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static av_always_inline
-void hevc_hv_4t_8x2_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr,
+void hevc_hv_4t_8x2_lsx(const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr,
int32_t src2_stride, uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y)
{
@@ -1743,8 +1743,8 @@ void hevc_hv_4t_8x2_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr
}
static av_always_inline
-void hevc_hv_4t_8multx4_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_hv_4t_8multx4_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t width8mult)
@@ -1862,7 +1862,7 @@ void hevc_hv_4t_8multx4_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
static av_always_inline
-void hevc_hv_4t_8x6_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr,
+void hevc_hv_4t_8x6_lsx(const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr,
int32_t src2_stride, uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y)
{
@@ -1994,15 +1994,15 @@ void hevc_hv_4t_8x6_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr
}
static av_always_inline
-void hevc_hv_4t_8multx4mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+void hevc_hv_4t_8multx4mult_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height, int32_t width)
{
uint32_t loop_cnt, cnt;
- uint8_t *src0_ptr_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
@@ -2134,8 +2134,8 @@ void hevc_hv_4t_8multx4mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_hv_4t_8w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_4t_8w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -2155,8 +2155,8 @@ static void hevc_hv_4t_8w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_hv_4t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_4t_16w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -2170,8 +2170,8 @@ static void hevc_hv_4t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
}
}
-static void hevc_hv_4t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_4t_24w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -2180,8 +2180,8 @@ static void hevc_hv_4t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
dst, dst_stride, filter_x, filter_y, height, 24);
}
-static void hevc_hv_4t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
- int16_t *src1_ptr, int32_t src2_stride,
+static void hevc_hv_4t_32w_lsx(const uint8_t *src0_ptr, int32_t src_stride,
+ const int16_t *src1_ptr, int32_t src2_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -2193,9 +2193,9 @@ static void hevc_hv_4t_32w_lsx(uint8_t *src0_ptr, int32_t src_stride,
#define BI_MC_COPY(WIDTH) \
void ff_hevc_put_hevc_bi_pel_pixels##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
@@ -2220,9 +2220,9 @@ BI_MC_COPY(64);
#define BI_MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR) \
void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
@@ -2261,9 +2261,9 @@ BI_MC(epel, v, 32, 4, vt, my);
#define BI_MC_HV(PEL, WIDTH, TAP) \
void ff_hevc_put_hevc_bi_##PEL##_hv##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
diff --git a/libavcodec/loongarch/hevc_mc_uni_lsx.c b/libavcodec/loongarch/hevc_mc_uni_lsx.c
index 8997ba4868..511dec9260 100644
--- a/libavcodec/loongarch/hevc_mc_uni_lsx.c
+++ b/libavcodec/loongarch/hevc_mc_uni_lsx.c
@@ -37,7 +37,7 @@ static const uint8_t ff_hevc_mask_arr[16 * 3] __attribute__((aligned(0x40))) = {
};
static av_always_inline
-void common_hz_8t_64w_lsx(uint8_t *src, int32_t src_stride,
+void common_hz_8t_64w_lsx(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -129,7 +129,7 @@ void common_hz_8t_64w_lsx(uint8_t *src, int32_t src_stride,
}
static av_always_inline
-void common_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
+void common_vt_8t_8w_lsx(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -201,11 +201,11 @@ void common_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
}
static av_always_inline
-void common_vt_8t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void common_vt_8t_16w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter,
int32_t height, int32_t width)
{
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
uint32_t loop_cnt, cnt;
const int32_t src_stride_2x = (src_stride << 1);
@@ -308,7 +308,7 @@ void common_vt_8t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
}
-static void common_vt_8t_24w_lsx(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_24w_lsx(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -317,21 +317,21 @@ static void common_vt_8t_24w_lsx(uint8_t *src, int32_t src_stride,
height);
}
-static void common_vt_8t_32w_lsx(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_32w_lsx(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
common_vt_8t_16w_lsx(src, src_stride, dst, dst_stride, filter, height, 32);
}
-static void common_vt_8t_48w_lsx(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_48w_lsx(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
common_vt_8t_16w_lsx(src, src_stride, dst, dst_stride, filter, height, 48);
}
-static void common_vt_8t_64w_lsx(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_64w_lsx(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -339,12 +339,12 @@ static void common_vt_8t_64w_lsx(uint8_t *src, int32_t src_stride,
}
static av_always_inline
-void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_8t_8x2_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height, int32_t width)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
@@ -500,7 +500,7 @@ void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
}
-static void hevc_hv_8t_8w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+static void hevc_hv_8t_8w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
@@ -508,7 +508,7 @@ static void hevc_hv_8t_8w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
filter_x, filter_y, height, 8);
}
-static void hevc_hv_8t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+static void hevc_hv_8t_16w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
@@ -516,7 +516,7 @@ static void hevc_hv_8t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
filter_x, filter_y, height, 16);
}
-static void hevc_hv_8t_24w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+static void hevc_hv_8t_24w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
@@ -524,7 +524,7 @@ static void hevc_hv_8t_24w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
filter_x, filter_y, height, 24);
}
-static void hevc_hv_8t_32w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+static void hevc_hv_8t_32w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
@@ -532,7 +532,7 @@ static void hevc_hv_8t_32w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
filter_x, filter_y, height, 32);
}
-static void hevc_hv_8t_48w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+static void hevc_hv_8t_48w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
@@ -540,7 +540,7 @@ static void hevc_hv_8t_48w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
filter_x, filter_y, height, 48);
}
-static void hevc_hv_8t_64w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+static void hevc_hv_8t_64w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
@@ -549,14 +549,14 @@ static void hevc_hv_8t_64w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static av_always_inline
-void common_vt_4t_24w_lsx(uint8_t *src, int32_t src_stride,
+void common_vt_4t_24w_lsx(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
uint32_t loop_cnt;
int32_t src_stride_2x = (src_stride << 1);
int32_t src_stride_3x = src_stride_2x + src_stride;
- uint8_t *_src;
+ const uint8_t *_src;
__m128i src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
__m128i src11, filt0, filt1;
@@ -655,7 +655,7 @@ void common_vt_4t_24w_lsx(uint8_t *src, int32_t src_stride,
}
static av_always_inline
-void common_vt_4t_32w_lsx(uint8_t *src, int32_t src_stride,
+void common_vt_4t_32w_lsx(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -663,7 +663,7 @@ void common_vt_4t_32w_lsx(uint8_t *src, int32_t src_stride,
int32_t src_stride_2x = (src_stride << 1);
int32_t dst_stride_2x = (dst_stride << 1);
int32_t src_stride_3x = src_stride_2x + src_stride;
- uint8_t *_src;
+ const uint8_t *_src;
__m128i src0, src1, src2, src3, src4, src6, src7, src8, src9, src10;
__m128i src10_r, src32_r, src76_r, src98_r;
@@ -749,7 +749,7 @@ void common_vt_4t_32w_lsx(uint8_t *src, int32_t src_stride,
}
static av_always_inline
-void hevc_hv_4t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_4t_8x2_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y)
{
@@ -810,7 +810,7 @@ void hevc_hv_4t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static av_always_inline
-void hevc_hv_4t_8multx4_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_4t_8multx4_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t width8mult)
{
@@ -906,7 +906,7 @@ void hevc_hv_4t_8multx4_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static av_always_inline
-void hevc_hv_4t_8x6_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_4t_8x6_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y)
{
@@ -1013,13 +1013,13 @@ void hevc_hv_4t_8x6_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static av_always_inline
-void hevc_hv_4t_8multx4mult_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_4t_8multx4mult_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height,
int32_t width8mult)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
@@ -1132,7 +1132,7 @@ void hevc_hv_4t_8multx4mult_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static
-void hevc_hv_4t_8w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_4t_8w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
@@ -1150,12 +1150,13 @@ void hevc_hv_4t_8w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static av_always_inline
-void hevc_hv_4t_12w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_4t_12w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
uint32_t loop_cnt;
- uint8_t *src_tmp, *dst_tmp;
+ const uint8_t *src_tmp;
+ uint8_t *dst_tmp;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
const int32_t src_stride_4x = (src_stride << 2);
@@ -1337,7 +1338,7 @@ void hevc_hv_4t_12w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
}
-static void hevc_hv_4t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+static void hevc_hv_4t_16w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
@@ -1350,7 +1351,7 @@ static void hevc_hv_4t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
}
-static void hevc_hv_4t_24w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+static void hevc_hv_4t_24w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
@@ -1358,7 +1359,7 @@ static void hevc_hv_4t_24w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
filter_x, filter_y, height, 3);
}
-static void hevc_hv_4t_32w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+static void hevc_hv_4t_32w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height)
{
@@ -1369,7 +1370,7 @@ static void hevc_hv_4t_32w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
#define UNI_MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR) \
void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -1397,7 +1398,7 @@ UNI_MC(epel, v, 32, 4, vt, my);
#define UNI_MC_HV(PEL, WIDTH, TAP) \
void ff_hevc_put_hevc_uni_##PEL##_hv##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
diff --git a/libavcodec/loongarch/hevc_mc_uniw_lsx.c b/libavcodec/loongarch/hevc_mc_uniw_lsx.c
index 30ee341e54..a8a3ecd9e5 100644
--- a/libavcodec/loongarch/hevc_mc_uniw_lsx.c
+++ b/libavcodec/loongarch/hevc_mc_uniw_lsx.c
@@ -35,13 +35,13 @@ static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
};
static av_always_inline
-void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_8t_8x2_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height, int32_t weight,
int32_t offset, int32_t rnd_val, int32_t width)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
const int32_t src_stride_2x = (src_stride << 1);
const int32_t dst_stride_2x = (dst_stride << 1);
@@ -211,7 +211,7 @@ void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static
-void hevc_hv_8t_8w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_8t_8w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height, int32_t weight,
int32_t offset, int32_t rnd_val)
@@ -221,7 +221,7 @@ void hevc_hv_8t_8w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static
-void hevc_hv_8t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_8t_16w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height, int32_t weight,
int32_t offset, int32_t rnd_val)
@@ -231,7 +231,7 @@ void hevc_hv_8t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static
-void hevc_hv_8t_24w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_8t_24w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height, int32_t weight,
int32_t offset, int32_t rnd_val)
@@ -241,7 +241,7 @@ void hevc_hv_8t_24w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static
-void hevc_hv_8t_32w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_8t_32w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height, int32_t weight,
int32_t offset, int32_t rnd_val)
@@ -251,7 +251,7 @@ void hevc_hv_8t_32w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static
-void hevc_hv_8t_48w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_8t_48w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height, int32_t weight,
int32_t offset, int32_t rnd_val)
@@ -261,7 +261,7 @@ void hevc_hv_8t_48w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
}
static
-void hevc_hv_8t_64w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
+void hevc_hv_8t_64w_lsx(const uint8_t *src, int32_t src_stride, uint8_t *dst,
int32_t dst_stride, const int8_t *filter_x,
const int8_t *filter_y, int32_t height, int32_t weight,
int32_t offset, int32_t rnd_val)
@@ -274,7 +274,7 @@ void hevc_hv_8t_64w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
#define UNI_W_MC_HV(PEL, WIDTH, TAP) \
void ff_hevc_put_hevc_uni_w_##PEL##_hv##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
int denom, \
diff --git a/libavcodec/loongarch/hevcdsp_lsx.c b/libavcodec/loongarch/hevcdsp_lsx.c
index c88d1087fc..e0048b3ec4 100644
--- a/libavcodec/loongarch/hevcdsp_lsx.c
+++ b/libavcodec/loongarch/hevcdsp_lsx.c
@@ -35,7 +35,7 @@ static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
};
/* hevc_copy: dst = src << 6 */
-static void hevc_copy_4w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_copy_4w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -87,7 +87,7 @@ static void hevc_copy_4w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_6w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_copy_6w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -150,7 +150,7 @@ static void hevc_copy_6w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_8w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_copy_8w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -201,7 +201,7 @@ static void hevc_copy_8w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_12w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_copy_12w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -273,7 +273,7 @@ static void hevc_copy_12w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_16w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_copy_16w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -358,7 +358,7 @@ static void hevc_copy_16w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_24w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_copy_24w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -369,7 +369,7 @@ static void hevc_copy_24w_lsx(uint8_t *src, int32_t src_stride,
int32_t dst_stride_2x = (dst_stride << 2);
int32_t src_stride_3x = src_stride_2x + src_stride;
int32_t dst_stride_3x = dst_stride_2x + dst_stride_x;
- uint8_t *_src = src + 16;
+ const uint8_t *_src = src + 16;
int16_t *dst1 = dst;
__m128i zero = __lsx_vldi(0);
__m128i src0, src1, src2, src3, src4, src5, src6, src7;
@@ -412,7 +412,7 @@ static void hevc_copy_24w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_32w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_copy_32w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -420,7 +420,7 @@ static void hevc_copy_32w_lsx(uint8_t *src, int32_t src_stride,
int32_t src_stride_2x = (src_stride << 1);
int32_t src_stride_4x = (src_stride << 2);
int32_t src_stride_3x = src_stride_2x + src_stride;
- uint8_t *_src = src + 16;
+ const uint8_t *_src = src + 16;
__m128i zero = {0};
__m128i src0, src1, src2, src3, src4, src5, src6, src7;
__m128i in0_r, in1_r, in2_r, in3_r, in0_l, in1_l, in2_l, in3_l;
@@ -472,7 +472,7 @@ static void hevc_copy_32w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_48w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_copy_48w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -547,7 +547,7 @@ static void hevc_copy_48w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_64w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_copy_64w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -599,7 +599,7 @@ static void hevc_copy_64w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_4w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_4w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -686,7 +686,7 @@ static void hevc_hz_8t_4w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_8w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_8w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -750,7 +750,7 @@ static void hevc_hz_8t_8w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_12w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_12w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -758,7 +758,7 @@ static void hevc_hz_8t_12w_lsx(uint8_t *src, int32_t src_stride,
int32_t src_stride_2x = (src_stride << 1);
int32_t src_stride_4x = (src_stride << 2);
int32_t src_stride_3x = src_stride_2x + src_stride;
- uint8_t *_src;
+ const uint8_t *_src;
__m128i src0, src1, src2, src3, src4, src5, src6, src7;
__m128i mask0, mask1, mask2, mask3, mask4, mask5, mask6, mask7;
__m128i vec0, vec1, vec2, vec3, vec4, vec5;
@@ -842,7 +842,7 @@ static void hevc_hz_8t_12w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_16w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_16w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -902,7 +902,7 @@ static void hevc_hz_8t_16w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_24w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_24w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -972,7 +972,7 @@ static void hevc_hz_8t_24w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_32w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_32w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1032,7 +1032,7 @@ static void hevc_hz_8t_32w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_48w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_48w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1101,7 +1101,7 @@ static void hevc_hz_8t_48w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_64w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_64w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1195,7 +1195,7 @@ static void hevc_hz_8t_64w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_vt_8t_4w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_4w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1315,7 +1315,7 @@ static void hevc_vt_8t_4w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_8w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1389,7 +1389,7 @@ static void hevc_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_vt_8t_12w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_12w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1491,7 +1491,7 @@ static void hevc_vt_8t_12w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_vt_8t_16multx4mult_lsx(uint8_t *src,
+static void hevc_vt_8t_16multx4mult_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -1499,7 +1499,7 @@ static void hevc_vt_8t_16multx4mult_lsx(uint8_t *src,
int32_t height,
int32_t width)
{
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
int16_t *dst_tmp;
int32_t loop_cnt, cnt;
int32_t src_stride_2x = (src_stride << 1);
@@ -1615,7 +1615,7 @@ static void hevc_vt_8t_16multx4mult_lsx(uint8_t *src,
}
}
-static void hevc_vt_8t_16w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_16w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1623,7 +1623,7 @@ static void hevc_vt_8t_16w_lsx(uint8_t *src, int32_t src_stride,
filter, height, 16);
}
-static void hevc_vt_8t_24w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_24w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1633,7 +1633,7 @@ static void hevc_vt_8t_24w_lsx(uint8_t *src, int32_t src_stride,
filter, height);
}
-static void hevc_vt_8t_32w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_32w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1641,7 +1641,7 @@ static void hevc_vt_8t_32w_lsx(uint8_t *src, int32_t src_stride,
filter, height, 32);
}
-static void hevc_vt_8t_48w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_48w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1649,7 +1649,7 @@ static void hevc_vt_8t_48w_lsx(uint8_t *src, int32_t src_stride,
filter, height, 48);
}
-static void hevc_vt_8t_64w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_64w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1657,7 +1657,7 @@ static void hevc_vt_8t_64w_lsx(uint8_t *src, int32_t src_stride,
filter, height, 64);
}
-static void hevc_hv_8t_4w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_4w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1789,7 +1789,7 @@ static void hevc_hv_8t_4w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hv_8t_8multx1mult_lsx(uint8_t *src,
+static void hevc_hv_8t_8multx1mult_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -1799,7 +1799,7 @@ static void hevc_hv_8t_8multx1mult_lsx(uint8_t *src,
int32_t width)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
int16_t *dst_tmp;
int32_t src_stride_2x = (src_stride << 1);
int32_t src_stride_4x = (src_stride << 2);
@@ -1932,7 +1932,7 @@ static void hevc_hv_8t_8multx1mult_lsx(uint8_t *src,
}
}
-static void hevc_hv_8t_8w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_8w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1941,13 +1941,13 @@ static void hevc_hv_8t_8w_lsx(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 8);
}
-static void hevc_hv_8t_12w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_12w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
{
uint32_t loop_cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
int16_t *dst_tmp;
int32_t src_stride_2x = (src_stride << 1);
int32_t src_stride_4x = (src_stride << 2);
@@ -2178,7 +2178,7 @@ static void hevc_hv_8t_12w_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hv_8t_16w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_16w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -2187,7 +2187,7 @@ static void hevc_hv_8t_16w_lsx(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 16);
}
-static void hevc_hv_8t_24w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_24w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -2196,7 +2196,7 @@ static void hevc_hv_8t_24w_lsx(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 24);
}
-static void hevc_hv_8t_32w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_32w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -2205,7 +2205,7 @@ static void hevc_hv_8t_32w_lsx(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 32);
}
-static void hevc_hv_8t_48w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_48w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -2214,7 +2214,7 @@ static void hevc_hv_8t_48w_lsx(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 48);
}
-static void hevc_hv_8t_64w_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_64w_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -2223,7 +2223,7 @@ static void hevc_hv_8t_64w_lsx(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 64);
}
-static void hevc_hz_4t_32w_lsx(uint8_t *src,
+static void hevc_hz_4t_32w_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2269,7 +2269,7 @@ static void hevc_hz_4t_32w_lsx(uint8_t *src,
}
}
-static void hevc_vt_4t_16w_lsx(uint8_t *src,
+static void hevc_vt_4t_16w_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2331,7 +2331,7 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src,
}
}
-static void hevc_vt_4t_24w_lsx(uint8_t *src,
+static void hevc_vt_4t_24w_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2341,7 +2341,7 @@ static void hevc_vt_4t_24w_lsx(uint8_t *src,
int32_t loop_cnt;
int32_t src_stride_2x = (src_stride << 1);
int32_t src_stride_3x = src_stride_2x + src_stride;
- uint8_t *_src;
+ const uint8_t *_src;
__m128i src0, src1, src2, src3, src4, src5;
__m128i src6, src7, src8, src9, src10, src11;
@@ -2425,7 +2425,7 @@ static void hevc_vt_4t_24w_lsx(uint8_t *src,
}
}
-static void hevc_vt_4t_32w_lsx(uint8_t *src,
+static void hevc_vt_4t_32w_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2435,7 +2435,7 @@ static void hevc_vt_4t_32w_lsx(uint8_t *src,
int32_t loop_cnt;
int32_t src_stride_2x = (src_stride << 1);
int32_t src_stride_3x = src_stride_2x + src_stride;
- uint8_t *_src;
+ const uint8_t *_src;
__m128i src0, src1, src2, src3, src4, src5;
__m128i src6, src7, src8, src9, src10, src11;
@@ -2531,7 +2531,7 @@ static void hevc_vt_4t_32w_lsx(uint8_t *src,
}
}
-static void hevc_hv_4t_8x2_lsx(uint8_t *src,
+static void hevc_hv_4t_8x2_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2598,7 +2598,7 @@ static void hevc_hv_4t_8x2_lsx(uint8_t *src,
__lsx_vst(dst1_r, dst + dst_stride, 0);
}
-static void hevc_hv_4t_8multx4_lsx(uint8_t *src, int32_t src_stride,
+static void hevc_hv_4t_8multx4_lsx(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x,
const int8_t *filter_y, int32_t width8mult)
@@ -2698,7 +2698,7 @@ static void hevc_hv_4t_8multx4_lsx(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hv_4t_8x6_lsx(uint8_t *src,
+static void hevc_hv_4t_8x6_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2807,7 +2807,7 @@ static void hevc_hv_4t_8x6_lsx(uint8_t *src,
__lsx_vstx(dst5_r, dst, dst_stride_2x);
}
-static void hevc_hv_4t_8multx4mult_lsx(uint8_t *src,
+static void hevc_hv_4t_8multx4mult_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2817,7 +2817,7 @@ static void hevc_hv_4t_8multx4mult_lsx(uint8_t *src,
int32_t width8mult)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
int16_t *dst_tmp;
int32_t src_stride_2x = (src_stride << 1);
int32_t dst_stride_x = (dst_stride << 1);
@@ -2934,7 +2934,7 @@ static void hevc_hv_4t_8multx4mult_lsx(uint8_t *src,
}
}
-static void hevc_hv_4t_8w_lsx(uint8_t *src,
+static void hevc_hv_4t_8w_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2958,7 +2958,7 @@ static void hevc_hv_4t_8w_lsx(uint8_t *src,
}
}
-static void hevc_hv_4t_12w_lsx(uint8_t *src,
+static void hevc_hv_4t_12w_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2967,7 +2967,7 @@ static void hevc_hv_4t_12w_lsx(uint8_t *src,
int32_t height)
{
uint32_t loop_cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
int16_t *dst_tmp;
int32_t src_stride_2x = (src_stride << 1);
int32_t dst_stride_x = (dst_stride << 1);
@@ -3163,7 +3163,7 @@ static void hevc_hv_4t_12w_lsx(uint8_t *src,
}
}
-static void hevc_hv_4t_16w_lsx(uint8_t *src,
+static void hevc_hv_4t_16w_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3180,7 +3180,7 @@ static void hevc_hv_4t_16w_lsx(uint8_t *src,
}
}
-static void hevc_hv_4t_24w_lsx(uint8_t *src,
+static void hevc_hv_4t_24w_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3192,7 +3192,7 @@ static void hevc_hv_4t_24w_lsx(uint8_t *src,
filter_x, filter_y, height, 3);
}
-static void hevc_hv_4t_32w_lsx(uint8_t *src,
+static void hevc_hv_4t_32w_lsx(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3206,7 +3206,7 @@ static void hevc_hv_4t_32w_lsx(uint8_t *src,
#define MC_COPY(WIDTH) \
void ff_hevc_put_hevc_pel_pixels##WIDTH##_8_lsx(int16_t *dst, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -3230,7 +3230,7 @@ MC_COPY(64);
#define MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR) \
void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_lsx(int16_t *dst, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -3271,7 +3271,7 @@ MC(epel, v, 32, 4, vt, my);
#define MC_HV(PEL, WIDTH, TAP) \
void ff_hevc_put_hevc_##PEL##_hv##WIDTH##_8_lsx(int16_t *dst, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
diff --git a/libavcodec/loongarch/hevcdsp_lsx.h b/libavcodec/loongarch/hevcdsp_lsx.h
index 0c517af887..0d54196caf 100644
--- a/libavcodec/loongarch/hevcdsp_lsx.h
+++ b/libavcodec/loongarch/hevcdsp_lsx.h
@@ -27,7 +27,7 @@
#define MC(PEL, DIR, WIDTH) \
void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_lsx(int16_t *dst, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -88,9 +88,9 @@ MC(epel, hv, 32);
#define BI_MC(PEL, DIR, WIDTH) \
void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
@@ -145,7 +145,7 @@ BI_MC(epel, hv, 32);
#define UNI_MC(PEL, DIR, WIDTH) \
void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -181,7 +181,7 @@ UNI_MC(epel, hv, 32);
void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t \
dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t \
src_stride, \
int height, \
@@ -202,24 +202,24 @@ UNI_W_MC(qpel, hv, 64);
#undef UNI_W_MC
void ff_hevc_loop_filter_luma_h_8_lsx(uint8_t *src, ptrdiff_t stride,
- int32_t beta, int32_t *tc,
- uint8_t *p_is_pcm, uint8_t *q_is_pcm);
+ int32_t beta, const int32_t *tc,
+ const uint8_t *p_is_pcm, const uint8_t *q_is_pcm);
void ff_hevc_loop_filter_luma_v_8_lsx(uint8_t *src, ptrdiff_t stride,
- int32_t beta, int32_t *tc,
- uint8_t *p_is_pcm, uint8_t *q_is_pcm);
+ int32_t beta, const int32_t *tc,
+ const uint8_t *p_is_pcm, const uint8_t *q_is_pcm);
void ff_hevc_loop_filter_chroma_h_8_lsx(uint8_t *src, ptrdiff_t stride,
- int32_t *tc, uint8_t *p_is_pcm,
- uint8_t *q_is_pcm);
+ const int32_t *tc, const uint8_t *p_is_pcm,
+ const uint8_t *q_is_pcm);
void ff_hevc_loop_filter_chroma_v_8_lsx(uint8_t *src, ptrdiff_t stride,
- int32_t *tc, uint8_t *p_is_pcm,
- uint8_t *q_is_pcm);
+ const int32_t *tc, const uint8_t *p_is_pcm,
+ const uint8_t *q_is_pcm);
-void ff_hevc_sao_edge_filter_8_lsx(uint8_t *dst, uint8_t *src,
+void ff_hevc_sao_edge_filter_8_lsx(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride_dst,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int eo, int width, int height);
void ff_hevc_idct_4x4_lsx(int16_t *coeffs, int col_limit);
diff --git a/libavcodec/mips/hevc_idct_msa.c b/libavcodec/mips/hevc_idct_msa.c
index 5ab6acd1df..5f34fd8fa7 100644
--- a/libavcodec/mips/hevc_idct_msa.c
+++ b/libavcodec/mips/hevc_idct_msa.c
@@ -713,7 +713,7 @@ static void hevc_idct_dc_32x32_msa(int16_t *coeffs)
}
}
-static void hevc_addblk_4x4_msa(int16_t *coeffs, uint8_t *dst, int32_t stride)
+static void hevc_addblk_4x4_msa(const int16_t *coeffs, uint8_t *dst, int32_t stride)
{
uint32_t dst0, dst1, dst2, dst3;
v8i16 dst_r0, dst_l0, in0, in1;
@@ -730,7 +730,7 @@ static void hevc_addblk_4x4_msa(int16_t *coeffs, uint8_t *dst, int32_t stride)
ST_W4(dst_vec, 0, 1, 2, 3, dst, stride);
}
-static void hevc_addblk_8x8_msa(int16_t *coeffs, uint8_t *dst, int32_t stride)
+static void hevc_addblk_8x8_msa(const int16_t *coeffs, uint8_t *dst, int32_t stride)
{
uint8_t *temp_dst = dst;
uint64_t dst0, dst1, dst2, dst3;
@@ -766,7 +766,7 @@ static void hevc_addblk_8x8_msa(int16_t *coeffs, uint8_t *dst, int32_t stride)
ST_D4(dst_r0, dst_r1, 0, 1, 0, 1, dst + 4 * stride, stride);
}
-static void hevc_addblk_16x16_msa(int16_t *coeffs, uint8_t *dst, int32_t stride)
+static void hevc_addblk_16x16_msa(const int16_t *coeffs, uint8_t *dst, int32_t stride)
{
uint8_t loop_cnt;
uint8_t *temp_dst = dst;
@@ -833,7 +833,7 @@ static void hevc_addblk_16x16_msa(int16_t *coeffs, uint8_t *dst, int32_t stride)
ST_UB4(dst0, dst1, dst2, dst3, dst, stride);
}
-static void hevc_addblk_32x32_msa(int16_t *coeffs, uint8_t *dst, int32_t stride)
+static void hevc_addblk_32x32_msa(const int16_t *coeffs, uint8_t *dst, int32_t stride)
{
uint8_t loop_cnt;
uint8_t *temp_dst = dst;
@@ -980,22 +980,22 @@ void ff_hevc_idct_32x32_msa(int16_t *coeffs, int col_limit)
hevc_idct_32x32_msa(coeffs);
}
-void ff_hevc_addblk_4x4_msa(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
+void ff_hevc_addblk_4x4_msa(uint8_t *dst, const int16_t *coeffs, ptrdiff_t stride)
{
hevc_addblk_4x4_msa(coeffs, dst, stride);
}
-void ff_hevc_addblk_8x8_msa(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
+void ff_hevc_addblk_8x8_msa(uint8_t *dst, const int16_t *coeffs, ptrdiff_t stride)
{
hevc_addblk_8x8_msa(coeffs, dst, stride);
}
-void ff_hevc_addblk_16x16_msa(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
+void ff_hevc_addblk_16x16_msa(uint8_t *dst, const int16_t *coeffs, ptrdiff_t stride)
{
hevc_addblk_16x16_msa(coeffs, dst, stride);
}
-void ff_hevc_addblk_32x32_msa(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
+void ff_hevc_addblk_32x32_msa(uint8_t *dst, const int16_t *coeffs, ptrdiff_t stride)
{
hevc_addblk_32x32_msa(coeffs, dst, stride);
}
diff --git a/libavcodec/mips/hevc_lpf_sao_msa.c b/libavcodec/mips/hevc_lpf_sao_msa.c
index 26663dd89b..cd94460f97 100644
--- a/libavcodec/mips/hevc_lpf_sao_msa.c
+++ b/libavcodec/mips/hevc_lpf_sao_msa.c
@@ -22,8 +22,8 @@
#include "libavcodec/mips/hevcdsp_mips.h"
static void hevc_loopfilter_luma_hor_msa(uint8_t *src, int32_t stride,
- int32_t beta, int32_t *tc,
- uint8_t *p_is_pcm, uint8_t *q_is_pcm)
+ int32_t beta, const int32_t *tc,
+ const uint8_t *p_is_pcm, const uint8_t *q_is_pcm)
{
uint8_t *p3 = src - (stride << 2);
uint8_t *p2 = src - ((stride << 1) + stride);
@@ -448,8 +448,8 @@ static void hevc_loopfilter_luma_hor_msa(uint8_t *src, int32_t stride,
}
static void hevc_loopfilter_luma_ver_msa(uint8_t *src, int32_t stride,
- int32_t beta, int32_t *tc,
- uint8_t *p_is_pcm, uint8_t *q_is_pcm)
+ int32_t beta, const int32_t *tc,
+ const uint8_t *p_is_pcm, const uint8_t *q_is_pcm)
{
uint8_t *p3 = src;
uint8_t *p2 = src + 3 * stride;
@@ -914,8 +914,8 @@ static void hevc_loopfilter_luma_ver_msa(uint8_t *src, int32_t stride,
}
static void hevc_loopfilter_chroma_hor_msa(uint8_t *src, int32_t stride,
- int32_t *tc, uint8_t *p_is_pcm,
- uint8_t *q_is_pcm)
+ const int32_t *tc, const uint8_t *p_is_pcm,
+ const uint8_t *q_is_pcm)
{
uint8_t *p1_ptr = src - (stride << 1);
uint8_t *p0_ptr = src - stride;
@@ -977,8 +977,8 @@ static void hevc_loopfilter_chroma_hor_msa(uint8_t *src, int32_t stride,
}
static void hevc_loopfilter_chroma_ver_msa(uint8_t *src, int32_t stride,
- int32_t *tc, uint8_t *p_is_pcm,
- uint8_t *q_is_pcm)
+ const int32_t *tc, const uint8_t *p_is_pcm,
+ const uint8_t *q_is_pcm)
{
v2i64 cmp0, cmp1, p_is_pcm_vec, q_is_pcm_vec;
v16u8 src0, src1, src2, src3, src4, src5, src6, src7;
@@ -1038,9 +1038,9 @@ static void hevc_loopfilter_chroma_ver_msa(uint8_t *src, int32_t stride,
}
static void hevc_sao_band_filter_4width_msa(uint8_t *dst, int32_t dst_stride,
- uint8_t *src, int32_t src_stride,
+ const uint8_t *src, int32_t src_stride,
int32_t sao_left_class,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
v16u8 src0, src1, src2, src3;
@@ -1100,9 +1100,9 @@ static void hevc_sao_band_filter_4width_msa(uint8_t *dst, int32_t dst_stride,
}
static void hevc_sao_band_filter_8width_msa(uint8_t *dst, int32_t dst_stride,
- uint8_t *src, int32_t src_stride,
+ const uint8_t *src, int32_t src_stride,
int32_t sao_left_class,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
v16u8 src0, src1, src2, src3;
@@ -1172,10 +1172,10 @@ static void hevc_sao_band_filter_8width_msa(uint8_t *dst, int32_t dst_stride,
static void hevc_sao_band_filter_16multiple_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
int32_t sao_left_class,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t width, int32_t height)
{
int32_t w_cnt;
@@ -1254,9 +1254,9 @@ static void hevc_sao_band_filter_16multiple_msa(uint8_t *dst,
static void hevc_sao_edge_filter_0degree_4width_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
uint32_t dst_val0, dst_val1;
@@ -1346,9 +1346,9 @@ static void hevc_sao_edge_filter_0degree_4width_msa(uint8_t *dst,
static void hevc_sao_edge_filter_0degree_8width_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
uint64_t dst_val0, dst_val1;
@@ -1440,13 +1440,14 @@ static void hevc_sao_edge_filter_0degree_8width_msa(uint8_t *dst,
static void hevc_sao_edge_filter_0degree_16multiple_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t width,
int32_t height)
{
- uint8_t *dst_ptr, *src_minus1;
+ const uint8_t *src_minus1;
+ uint8_t *dst_ptr;
int32_t v_cnt;
v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
v16u8 const1 = (v16u8) __msa_ldi_b(1);
@@ -1556,9 +1557,9 @@ static void hevc_sao_edge_filter_0degree_16multiple_msa(uint8_t *dst,
static void hevc_sao_edge_filter_90degree_4width_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
uint32_t dst_val0, dst_val1;
@@ -1661,9 +1662,9 @@ static void hevc_sao_edge_filter_90degree_4width_msa(uint8_t *dst,
static void hevc_sao_edge_filter_90degree_8width_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
uint64_t dst_val0, dst_val1;
@@ -1763,14 +1764,14 @@ static void hevc_sao_edge_filter_90degree_8width_msa(uint8_t *dst,
static void hevc_sao_edge_filter_90degree_16multiple_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *
+ const int16_t *
sao_offset_val,
int32_t width,
int32_t height)
{
- uint8_t *src_orig = src;
+ const uint8_t *src_orig = src;
uint8_t *dst_orig = dst;
int32_t h_cnt, v_cnt;
v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
@@ -1865,12 +1866,12 @@ static void hevc_sao_edge_filter_90degree_16multiple_msa(uint8_t *dst,
static void hevc_sao_edge_filter_45degree_4width_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
- uint8_t *src_orig;
+ const uint8_t *src_orig;
uint32_t dst_val0, dst_val1;
v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
v16u8 const1 = (v16u8) __msa_ldi_b(1);
@@ -1978,12 +1979,12 @@ static void hevc_sao_edge_filter_45degree_4width_msa(uint8_t *dst,
static void hevc_sao_edge_filter_45degree_8width_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
- uint8_t *src_orig;
+ const uint8_t *src_orig;
uint64_t dst_val0, dst_val1;
v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
v16u8 const1 = (v16u8) __msa_ldi_b(1);
@@ -2094,14 +2095,14 @@ static void hevc_sao_edge_filter_45degree_8width_msa(uint8_t *dst,
static void hevc_sao_edge_filter_45degree_16multiple_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *
+ const int16_t *
sao_offset_val,
int32_t width,
int32_t height)
{
- uint8_t *src_orig = src;
+ const uint8_t *src_orig = src;
uint8_t *dst_orig = dst;
int32_t v_cnt;
v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
@@ -2214,12 +2215,12 @@ static void hevc_sao_edge_filter_45degree_16multiple_msa(uint8_t *dst,
static void hevc_sao_edge_filter_135degree_4width_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
- uint8_t *src_orig;
+ const uint8_t *src_orig;
uint32_t dst_val0, dst_val1;
v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
v16u8 const1 = (v16u8) __msa_ldi_b(1);
@@ -2329,12 +2330,12 @@ static void hevc_sao_edge_filter_135degree_4width_msa(uint8_t *dst,
static void hevc_sao_edge_filter_135degree_8width_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int32_t height)
{
- uint8_t *src_orig;
+ const uint8_t *src_orig;
uint64_t dst_val0, dst_val1;
v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
v16u8 const1 = (v16u8) __msa_ldi_b(1);
@@ -2441,14 +2442,15 @@ static void hevc_sao_edge_filter_135degree_8width_msa(uint8_t *dst,
static void hevc_sao_edge_filter_135degree_16multiple_msa(uint8_t *dst,
int32_t dst_stride,
- uint8_t *src,
+ const uint8_t *src,
int32_t src_stride,
- int16_t *
+ const int16_t *
sao_offset_val,
int32_t width,
int32_t height)
{
- uint8_t *src_orig, *dst_orig;
+ const uint8_t *src_orig;
+ uint8_t *dst_orig;
int32_t v_cnt;
v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
v16u8 const1 = (v16u8) __msa_ldi_b(1);
@@ -2563,39 +2565,39 @@ static void hevc_sao_edge_filter_135degree_16multiple_msa(uint8_t *dst,
void ff_hevc_loop_filter_luma_h_8_msa(uint8_t *src,
ptrdiff_t src_stride,
- int32_t beta, int32_t *tc,
- uint8_t *no_p, uint8_t *no_q)
+ int32_t beta, const int32_t *tc,
+ const uint8_t *no_p, const uint8_t *no_q)
{
hevc_loopfilter_luma_hor_msa(src, src_stride, beta, tc, no_p, no_q);
}
void ff_hevc_loop_filter_luma_v_8_msa(uint8_t *src,
ptrdiff_t src_stride,
- int32_t beta, int32_t *tc,
- uint8_t *no_p, uint8_t *no_q)
+ int32_t beta, const int32_t *tc,
+ const uint8_t *no_p, const uint8_t *no_q)
{
hevc_loopfilter_luma_ver_msa(src, src_stride, beta, tc, no_p, no_q);
}
void ff_hevc_loop_filter_chroma_h_8_msa(uint8_t *src,
ptrdiff_t src_stride,
- int32_t *tc, uint8_t *no_p,
- uint8_t *no_q)
+ const int32_t *tc, const uint8_t *no_p,
+ const uint8_t *no_q)
{
hevc_loopfilter_chroma_hor_msa(src, src_stride, tc, no_p, no_q);
}
void ff_hevc_loop_filter_chroma_v_8_msa(uint8_t *src,
ptrdiff_t src_stride,
- int32_t *tc, uint8_t *no_p,
- uint8_t *no_q)
+ const int32_t *tc, const uint8_t *no_p,
+ const uint8_t *no_q)
{
hevc_loopfilter_chroma_ver_msa(src, src_stride, tc, no_p, no_q);
}
-void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, uint8_t *src,
+void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride_dst, ptrdiff_t stride_src,
- int16_t *sao_offset_val, int sao_left_class,
+ const int16_t *sao_offset_val, int sao_left_class,
int width, int height)
{
if (width >> 4) {
@@ -2621,9 +2623,9 @@ void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, uint8_t *src,
}
}
-void ff_hevc_sao_edge_filter_8_msa(uint8_t *dst, uint8_t *src,
+void ff_hevc_sao_edge_filter_8_msa(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride_dst,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int eo, int width, int height)
{
ptrdiff_t stride_src = (2 * MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE) / sizeof(uint8_t);
diff --git a/libavcodec/mips/hevc_mc_bi_msa.c b/libavcodec/mips/hevc_mc_bi_msa.c
index c6c8d2705d..701e12ab86 100644
--- a/libavcodec/mips/hevc_mc_bi_msa.c
+++ b/libavcodec/mips/hevc_mc_bi_msa.c
@@ -58,9 +58,9 @@ static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
HEVC_BI_RND_CLIP2_MAX_SATU(in2, in3, vec2, vec3, rnd_val, out2, out3); \
}
-static void hevc_bi_copy_4w_msa(uint8_t *src0_ptr,
+static void hevc_bi_copy_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -126,9 +126,9 @@ static void hevc_bi_copy_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_bi_copy_6w_msa(uint8_t *src0_ptr,
+static void hevc_bi_copy_6w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -178,9 +178,9 @@ static void hevc_bi_copy_6w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_bi_copy_8w_msa(uint8_t *src0_ptr,
+static void hevc_bi_copy_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -266,9 +266,9 @@ static void hevc_bi_copy_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_bi_copy_12w_msa(uint8_t *src0_ptr,
+static void hevc_bi_copy_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -305,9 +305,9 @@ static void hevc_bi_copy_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_bi_copy_16w_msa(uint8_t *src0_ptr,
+static void hevc_bi_copy_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -343,9 +343,9 @@ static void hevc_bi_copy_16w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_bi_copy_24w_msa(uint8_t *src0_ptr,
+static void hevc_bi_copy_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -389,9 +389,9 @@ static void hevc_bi_copy_24w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_bi_copy_32w_msa(uint8_t *src0_ptr,
+static void hevc_bi_copy_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -433,9 +433,9 @@ static void hevc_bi_copy_32w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_bi_copy_48w_msa(uint8_t *src0_ptr,
+static void hevc_bi_copy_48w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -487,9 +487,9 @@ static void hevc_bi_copy_48w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_bi_copy_64w_msa(uint8_t *src0_ptr,
+static void hevc_bi_copy_64w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -526,9 +526,9 @@ static void hevc_bi_copy_64w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_8t_4w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_8t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -599,9 +599,9 @@ static void hevc_hz_bi_8t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_8t_8w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_8t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -667,9 +667,9 @@ static void hevc_hz_bi_8t_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_8t_12w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_8t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -755,9 +755,9 @@ static void hevc_hz_bi_8t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_8t_16w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_8t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -826,9 +826,9 @@ static void hevc_hz_bi_8t_16w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_8t_24w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_8t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -898,9 +898,9 @@ static void hevc_hz_bi_8t_24w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_8t_32w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_8t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -970,9 +970,9 @@ static void hevc_hz_bi_8t_32w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_8t_48w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_8t_48w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1062,9 +1062,9 @@ static void hevc_hz_bi_8t_48w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_8t_64w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_8t_64w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1172,9 +1172,9 @@ static void hevc_hz_bi_8t_64w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_8t_4w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_8t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1258,9 +1258,9 @@ static void hevc_vt_bi_8t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_8t_8w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_8t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1336,9 +1336,9 @@ static void hevc_vt_bi_8t_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_8t_12w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_8t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1443,17 +1443,17 @@ static void hevc_vt_bi_8t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_8t_16multx2mult_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_8t_16multx2mult_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
const int8_t *filter,
int32_t height, int32_t width)
{
- uint8_t *src0_ptr_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
uint32_t loop_cnt;
uint32_t cnt;
@@ -1549,9 +1549,9 @@ static void hevc_vt_bi_8t_16multx2mult_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_8t_16w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_8t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1562,9 +1562,9 @@ static void hevc_vt_bi_8t_16w_msa(uint8_t *src0_ptr,
dst, dst_stride, filter, height, 16);
}
-static void hevc_vt_bi_8t_24w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_8t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1577,9 +1577,9 @@ static void hevc_vt_bi_8t_24w_msa(uint8_t *src0_ptr,
dst + 16, dst_stride, filter, height);
}
-static void hevc_vt_bi_8t_32w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_8t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1590,9 +1590,9 @@ static void hevc_vt_bi_8t_32w_msa(uint8_t *src0_ptr,
dst, dst_stride, filter, height, 32);
}
-static void hevc_vt_bi_8t_48w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_8t_48w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1603,9 +1603,9 @@ static void hevc_vt_bi_8t_48w_msa(uint8_t *src0_ptr,
dst, dst_stride, filter, height, 48);
}
-static void hevc_vt_bi_8t_64w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_8t_64w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1616,9 +1616,9 @@ static void hevc_vt_bi_8t_64w_msa(uint8_t *src0_ptr,
dst, dst_stride, filter, height, 64);
}
-static void hevc_hv_bi_8t_4w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_8t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1741,9 +1741,9 @@ static void hevc_hv_bi_8t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_8t_8multx1mult_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_8t_8multx1mult_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1753,8 +1753,8 @@ static void hevc_hv_bi_8t_8multx1mult_msa(uint8_t *src0_ptr,
{
uint32_t loop_cnt;
uint32_t cnt;
- uint8_t *src0_ptr_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
v16u8 out;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7;
@@ -1874,9 +1874,9 @@ static void hevc_hv_bi_8t_8multx1mult_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_8t_8w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_8t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1889,9 +1889,9 @@ static void hevc_hv_bi_8t_8w_msa(uint8_t *src0_ptr,
height, 8);
}
-static void hevc_hv_bi_8t_12w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_8t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1900,8 +1900,9 @@ static void hevc_hv_bi_8t_12w_msa(uint8_t *src0_ptr,
int32_t height)
{
uint32_t loop_cnt;
- uint8_t *src0_ptr_tmp, *dst_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ uint8_t *dst_tmp;
+ const int16_t *src1_ptr_tmp;
uint64_t tp0, tp1;
v16u8 out;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
@@ -2103,9 +2104,9 @@ static void hevc_hv_bi_8t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_8t_16w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_8t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2118,9 +2119,9 @@ static void hevc_hv_bi_8t_16w_msa(uint8_t *src0_ptr,
height, 16);
}
-static void hevc_hv_bi_8t_24w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_8t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2133,9 +2134,9 @@ static void hevc_hv_bi_8t_24w_msa(uint8_t *src0_ptr,
height, 24);
}
-static void hevc_hv_bi_8t_32w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_8t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2148,9 +2149,9 @@ static void hevc_hv_bi_8t_32w_msa(uint8_t *src0_ptr,
height, 32);
}
-static void hevc_hv_bi_8t_48w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_8t_48w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2163,9 +2164,9 @@ static void hevc_hv_bi_8t_48w_msa(uint8_t *src0_ptr,
height, 48);
}
-static void hevc_hv_bi_8t_64w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_8t_64w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2178,9 +2179,9 @@ static void hevc_hv_bi_8t_64w_msa(uint8_t *src0_ptr,
height, 64);
}
-static void hevc_hz_bi_4t_4x2_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_4x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2221,9 +2222,9 @@ static void hevc_hz_bi_4t_4x2_msa(uint8_t *src0_ptr,
ST_W2(dst0, 0, 1, dst, dst_stride);
}
-static void hevc_hz_bi_4t_4x4_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_4x4_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2267,9 +2268,9 @@ static void hevc_hz_bi_4t_4x4_msa(uint8_t *src0_ptr,
ST_W4(dst0, 0, 1, 2, 3, dst, dst_stride);
}
-static void hevc_hz_bi_4t_4x8multiple_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_4x8multiple_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2330,9 +2331,9 @@ static void hevc_hz_bi_4t_4x8multiple_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_4t_4w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2352,9 +2353,9 @@ static void hevc_hz_bi_4t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_4t_6w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_6w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2413,9 +2414,9 @@ static void hevc_hz_bi_4t_6w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_4t_8x2_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_8x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2456,9 +2457,9 @@ static void hevc_hz_bi_4t_8x2_msa(uint8_t *src0_ptr,
ST_D2(dst0, 0, 1, dst, dst_stride);
}
-static void hevc_hz_bi_4t_8x6_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_8x6_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2520,9 +2521,9 @@ static void hevc_hz_bi_4t_8x6_msa(uint8_t *src0_ptr,
ST_D2(dst2, 0, 1, dst + 4 * dst_stride, dst_stride);
}
-static void hevc_hz_bi_4t_8x4multiple_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_8x4multiple_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2578,9 +2579,9 @@ static void hevc_hz_bi_4t_8x4multiple_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_4t_8w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2600,9 +2601,9 @@ static void hevc_hz_bi_4t_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_4t_12w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2674,9 +2675,9 @@ static void hevc_hz_bi_4t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_4t_16w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2734,16 +2735,16 @@ static void hevc_hz_bi_4t_16w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_4t_24w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
const int8_t *filter,
int32_t height)
{
- int16_t *src1_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
uint32_t loop_cnt;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7;
@@ -2840,9 +2841,9 @@ static void hevc_hz_bi_4t_24w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_bi_4t_32w_msa(uint8_t *src0_ptr,
+static void hevc_hz_bi_4t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2901,9 +2902,9 @@ static void hevc_hz_bi_4t_32w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_4t_4x2_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_4x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2949,9 +2950,9 @@ static void hevc_vt_bi_4t_4x2_msa(uint8_t *src0_ptr,
ST_W2(dst10, 0, 1, dst, dst_stride);
}
-static void hevc_vt_bi_4t_4x4_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_4x4_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2998,9 +2999,9 @@ static void hevc_vt_bi_4t_4x4_msa(uint8_t *src0_ptr,
ST_W4(dst10, 0, 1, 2, 3, dst, dst_stride);
}
-static void hevc_vt_bi_4t_4x8multiple_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_4x8multiple_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3071,9 +3072,9 @@ static void hevc_vt_bi_4t_4x8multiple_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_4t_4w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3093,9 +3094,9 @@ static void hevc_vt_bi_4t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_4t_6w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_6w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3191,9 +3192,9 @@ static void hevc_vt_bi_4t_6w_msa(uint8_t *src0_ptr,
dst += (4 * dst_stride);
}
-static void hevc_vt_bi_4t_8x2_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_8x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3235,9 +3236,9 @@ static void hevc_vt_bi_4t_8x2_msa(uint8_t *src0_ptr,
ST_D2(dst0_r, 0, 1, dst, dst_stride);
}
-static void hevc_vt_bi_4t_8x6_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_8x6_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3295,9 +3296,9 @@ static void hevc_vt_bi_4t_8x6_msa(uint8_t *src0_ptr,
ST_D2(dst2_r, 0, 1, dst + 4 * dst_stride, dst_stride);
}
-static void hevc_vt_bi_4t_8x4multiple_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_8x4multiple_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3357,9 +3358,9 @@ static void hevc_vt_bi_4t_8x4multiple_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_4t_8w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3379,9 +3380,9 @@ static void hevc_vt_bi_4t_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_4t_12w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3462,9 +3463,9 @@ static void hevc_vt_bi_4t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_4t_16w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3547,9 +3548,9 @@ static void hevc_vt_bi_4t_16w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_4t_24w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3671,9 +3672,9 @@ static void hevc_vt_bi_4t_24w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_bi_4t_32w_msa(uint8_t *src0_ptr,
+static void hevc_vt_bi_4t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3781,9 +3782,9 @@ static void hevc_vt_bi_4t_32w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_4t_4x2_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_4x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3848,9 +3849,9 @@ static void hevc_hv_bi_4t_4x2_msa(uint8_t *src0_ptr,
ST_W2(out, 0, 1, dst, dst_stride);
}
-static void hevc_hv_bi_4t_4x4_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_4x4_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3924,9 +3925,9 @@ static void hevc_hv_bi_4t_4x4_msa(uint8_t *src0_ptr,
ST_W4(out, 0, 1, 2, 3, dst, dst_stride);
}
-static void hevc_hv_bi_4t_4multx8mult_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_4multx8mult_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4043,9 +4044,9 @@ static void hevc_hv_bi_4t_4multx8mult_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_4t_4w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4067,9 +4068,9 @@ static void hevc_hv_bi_4t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_4t_6w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_6w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4217,9 +4218,9 @@ static void hevc_hv_bi_4t_6w_msa(uint8_t *src0_ptr,
ST_H8(out2, 0, 1, 2, 3, 4, 5, 6, 7, dst + 4, dst_stride);
}
-static void hevc_hv_bi_4t_8x2_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_8x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4291,9 +4292,9 @@ static void hevc_hv_bi_4t_8x2_msa(uint8_t *src0_ptr,
ST_D2(out, 0, 1, dst, dst_stride);
}
-static void hevc_hv_bi_4t_8multx4_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_8multx4_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4387,9 +4388,9 @@ static void hevc_hv_bi_4t_8multx4_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_4t_8x6_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_8x6_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4503,9 +4504,9 @@ static void hevc_hv_bi_4t_8x6_msa(uint8_t *src0_ptr,
ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride);
}
-static void hevc_hv_bi_4t_8multx4mult_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_8multx4mult_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4515,8 +4516,8 @@ static void hevc_hv_bi_4t_8multx4mult_msa(uint8_t *src0_ptr,
int32_t width)
{
uint32_t loop_cnt, cnt;
- uint8_t *src0_ptr_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
v16u8 out0, out1;
v16i8 src0, src1, src2, src3, src4, src5, src6;
@@ -4628,9 +4629,9 @@ static void hevc_hv_bi_4t_8multx4mult_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_4t_8w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4655,9 +4656,9 @@ static void hevc_hv_bi_4t_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_4t_12w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4667,8 +4668,9 @@ static void hevc_hv_bi_4t_12w_msa(uint8_t *src0_ptr,
{
uint32_t loop_cnt;
uint64_t tp0, tp1;
- uint8_t *src0_ptr_tmp, *dst_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ uint8_t *dst_tmp;
+ const int16_t *src1_ptr_tmp;
v16u8 out0, out1;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
v16i8 vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7;
@@ -4857,9 +4859,9 @@ static void hevc_hv_bi_4t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_4t_16w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4877,9 +4879,9 @@ static void hevc_hv_bi_4t_16w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_bi_4t_24w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4892,9 +4894,9 @@ static void hevc_hv_bi_4t_24w_msa(uint8_t *src0_ptr,
height, 24);
}
-static void hevc_hv_bi_4t_32w_msa(uint8_t *src0_ptr,
+static void hevc_hv_bi_4t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4910,9 +4912,9 @@ static void hevc_hv_bi_4t_32w_msa(uint8_t *src0_ptr,
#define BI_MC_COPY(WIDTH) \
void ff_hevc_put_hevc_bi_pel_pixels##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
@@ -4937,9 +4939,9 @@ BI_MC_COPY(64);
#define BI_MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR) \
void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
@@ -4991,9 +4993,9 @@ BI_MC(epel, v, 32, 4, vt, my);
#define BI_MC_HV(PEL, WIDTH, TAP) \
void ff_hevc_put_hevc_bi_##PEL##_hv##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
diff --git a/libavcodec/mips/hevc_mc_biw_msa.c b/libavcodec/mips/hevc_mc_biw_msa.c
index f775ea8592..981c37d7e8 100644
--- a/libavcodec/mips/hevc_mc_biw_msa.c
+++ b/libavcodec/mips/hevc_mc_biw_msa.c
@@ -79,9 +79,9 @@ static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
out2, out3); \
}
-static void hevc_biwgt_copy_4w_msa(uint8_t *src0_ptr,
+static void hevc_biwgt_copy_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -168,9 +168,9 @@ static void hevc_biwgt_copy_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_biwgt_copy_6w_msa(uint8_t *src0_ptr,
+static void hevc_biwgt_copy_6w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -222,9 +222,9 @@ static void hevc_biwgt_copy_6w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_biwgt_copy_8w_msa(uint8_t *src0_ptr,
+static void hevc_biwgt_copy_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -310,9 +310,9 @@ static void hevc_biwgt_copy_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_biwgt_copy_12w_msa(uint8_t *src0_ptr,
+static void hevc_biwgt_copy_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -369,9 +369,9 @@ static void hevc_biwgt_copy_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_biwgt_copy_16w_msa(uint8_t *src0_ptr,
+static void hevc_biwgt_copy_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -424,9 +424,9 @@ static void hevc_biwgt_copy_16w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_biwgt_copy_24w_msa(uint8_t *src0_ptr,
+static void hevc_biwgt_copy_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -488,9 +488,9 @@ static void hevc_biwgt_copy_24w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_biwgt_copy_32w_msa(uint8_t *src0_ptr,
+static void hevc_biwgt_copy_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -549,9 +549,9 @@ static void hevc_biwgt_copy_32w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_biwgt_copy_48w_msa(uint8_t *src0_ptr,
+static void hevc_biwgt_copy_48w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -601,9 +601,9 @@ static void hevc_biwgt_copy_48w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_biwgt_copy_64w_msa(uint8_t *src0_ptr,
+static void hevc_biwgt_copy_64w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -656,9 +656,9 @@ static void hevc_biwgt_copy_64w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_8t_4w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_8t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -728,9 +728,9 @@ static void hevc_hz_biwgt_8t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_8t_8w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_8t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -808,9 +808,9 @@ static void hevc_hz_biwgt_8t_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_8t_12w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_8t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -903,9 +903,9 @@ static void hevc_hz_biwgt_8t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_8t_16w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_8t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -987,9 +987,9 @@ static void hevc_hz_biwgt_8t_16w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_8t_24w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_8t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1109,9 +1109,9 @@ static void hevc_hz_biwgt_8t_24w_msa(uint8_t *src0_ptr,
dst += dst_stride;
}
-static void hevc_hz_biwgt_8t_32w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_8t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1195,9 +1195,9 @@ static void hevc_hz_biwgt_8t_32w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_8t_48w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_8t_48w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1299,9 +1299,9 @@ static void hevc_hz_biwgt_8t_48w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_8t_64w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_8t_64w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1313,9 +1313,9 @@ static void hevc_hz_biwgt_8t_64w_msa(uint8_t *src0_ptr,
int32_t offset1,
int32_t rnd_val)
{
- uint8_t *src0_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
uint8_t *dst_tmp;
- int16_t *src1_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint32_t loop_cnt, cnt;
int32_t offset, weight, constant;
v16i8 src0, src1, src2;
@@ -1398,9 +1398,9 @@ static void hevc_hz_biwgt_8t_64w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_8t_4w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_8t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1496,9 +1496,9 @@ static void hevc_vt_biwgt_8t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_8t_8w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_8t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1584,9 +1584,9 @@ static void hevc_vt_biwgt_8t_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_8t_12w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_8t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1694,9 +1694,9 @@ static void hevc_vt_biwgt_8t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_8t_16multx2mult_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_8t_16multx2mult_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1709,8 +1709,8 @@ static void hevc_vt_biwgt_8t_16multx2mult_msa(uint8_t *src0_ptr,
int32_t rnd_val,
int32_t width)
{
- uint8_t *src0_ptr_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
uint32_t loop_cnt, cnt;
int32_t offset, weight;
@@ -1810,9 +1810,9 @@ static void hevc_vt_biwgt_8t_16multx2mult_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_8t_16w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_8t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1831,9 +1831,9 @@ static void hevc_vt_biwgt_8t_16w_msa(uint8_t *src0_ptr,
rnd_val, 16);
}
-static void hevc_vt_biwgt_8t_24w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_8t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1856,9 +1856,9 @@ static void hevc_vt_biwgt_8t_24w_msa(uint8_t *src0_ptr,
weight0, weight1, offset0, offset1, rnd_val);
}
-static void hevc_vt_biwgt_8t_32w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_8t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1877,9 +1877,9 @@ static void hevc_vt_biwgt_8t_32w_msa(uint8_t *src0_ptr,
rnd_val, 32);
}
-static void hevc_vt_biwgt_8t_48w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_8t_48w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1898,9 +1898,9 @@ static void hevc_vt_biwgt_8t_48w_msa(uint8_t *src0_ptr,
rnd_val, 48);
}
-static void hevc_vt_biwgt_8t_64w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_8t_64w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1919,9 +1919,9 @@ static void hevc_vt_biwgt_8t_64w_msa(uint8_t *src0_ptr,
rnd_val, 64);
}
-static void hevc_hv_biwgt_8t_4w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_8t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2064,9 +2064,9 @@ static void hevc_hv_biwgt_8t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_8t_8multx2mult_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_8t_8multx2mult_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2082,8 +2082,8 @@ static void hevc_hv_biwgt_8t_8multx2mult_msa(uint8_t *src0_ptr,
{
uint32_t loop_cnt, cnt;
int32_t offset, weight;
- uint8_t *src0_ptr_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
v16u8 out;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8;
@@ -2247,9 +2247,9 @@ static void hevc_hv_biwgt_8t_8multx2mult_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_8t_8w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_8t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2269,9 +2269,9 @@ static void hevc_hv_biwgt_8t_8w_msa(uint8_t *src0_ptr,
offset1, rnd_val, 1);
}
-static void hevc_hv_biwgt_8t_12w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_8t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2285,8 +2285,9 @@ static void hevc_hv_biwgt_8t_12w_msa(uint8_t *src0_ptr,
int32_t rnd_val)
{
uint32_t loop_cnt;
- uint8_t *src0_ptr_tmp, *dst_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ uint8_t *dst_tmp;
+ const int16_t *src1_ptr_tmp;
int32_t offset, weight;
uint64_t tp0, tp1;
v16u8 out;
@@ -2519,9 +2520,9 @@ static void hevc_hv_biwgt_8t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_8t_16w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_8t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2541,9 +2542,9 @@ static void hevc_hv_biwgt_8t_16w_msa(uint8_t *src0_ptr,
offset1, rnd_val, 2);
}
-static void hevc_hv_biwgt_8t_24w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_8t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2563,9 +2564,9 @@ static void hevc_hv_biwgt_8t_24w_msa(uint8_t *src0_ptr,
offset1, rnd_val, 3);
}
-static void hevc_hv_biwgt_8t_32w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_8t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2585,9 +2586,9 @@ static void hevc_hv_biwgt_8t_32w_msa(uint8_t *src0_ptr,
offset1, rnd_val, 4);
}
-static void hevc_hv_biwgt_8t_48w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_8t_48w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2607,9 +2608,9 @@ static void hevc_hv_biwgt_8t_48w_msa(uint8_t *src0_ptr,
offset1, rnd_val, 6);
}
-static void hevc_hv_biwgt_8t_64w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_8t_64w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2629,9 +2630,9 @@ static void hevc_hv_biwgt_8t_64w_msa(uint8_t *src0_ptr,
offset1, rnd_val, 8);
}
-static void hevc_hz_biwgt_4t_4x2_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_4x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2689,9 +2690,9 @@ static void hevc_hz_biwgt_4t_4x2_msa(uint8_t *src0_ptr,
ST_W2(out0, 0, 1, dst, dst_stride);
}
-static void hevc_hz_biwgt_4t_4x4_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_4x4_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2749,9 +2750,9 @@ static void hevc_hz_biwgt_4t_4x4_msa(uint8_t *src0_ptr,
ST_W4(dst0, 0, 1, 2, 3, dst, dst_stride);
}
-static void hevc_hz_biwgt_4t_4x8multiple_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_4x8multiple_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2824,9 +2825,9 @@ static void hevc_hz_biwgt_4t_4x8multiple_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_4t_4w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2855,9 +2856,9 @@ static void hevc_hz_biwgt_4t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_4t_6w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_6w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2929,9 +2930,9 @@ static void hevc_hz_biwgt_4t_6w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_4t_8x2_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_8x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2985,9 +2986,9 @@ static void hevc_hz_biwgt_4t_8x2_msa(uint8_t *src0_ptr,
ST_D2(dst0, 0, 1, dst, dst_stride);
}
-static void hevc_hz_biwgt_4t_8x6_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_8x6_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3059,9 +3060,9 @@ static void hevc_hz_biwgt_4t_8x6_msa(uint8_t *src0_ptr,
ST_D2(dst3, 0, 1, dst + 4 * dst_stride, dst_stride);
}
-static void hevc_hz_biwgt_4t_8x4multiple_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_8x4multiple_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3129,9 +3130,9 @@ static void hevc_hz_biwgt_4t_8x4multiple_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_4t_8w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3160,9 +3161,9 @@ static void hevc_hz_biwgt_4t_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_4t_12w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3246,9 +3247,9 @@ static void hevc_hz_biwgt_4t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_4t_16w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3335,9 +3336,9 @@ static void hevc_hz_biwgt_4t_16w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_4t_24w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3422,9 +3423,9 @@ static void hevc_hz_biwgt_4t_24w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hz_biwgt_4t_32w_msa(uint8_t *src0_ptr,
+static void hevc_hz_biwgt_4t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3495,9 +3496,9 @@ static void hevc_hz_biwgt_4t_32w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_4t_4x2_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_4x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3560,9 +3561,9 @@ static void hevc_vt_biwgt_4t_4x2_msa(uint8_t *src0_ptr,
ST_W2(out, 0, 1, dst, dst_stride);
}
-static void hevc_vt_biwgt_4t_4x4_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_4x4_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3627,9 +3628,9 @@ static void hevc_vt_biwgt_4t_4x4_msa(uint8_t *src0_ptr,
dst += (4 * dst_stride);
}
-static void hevc_vt_biwgt_4t_4x8multiple_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_4x8multiple_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3713,9 +3714,9 @@ static void hevc_vt_biwgt_4t_4x8multiple_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_4t_4w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3744,9 +3745,9 @@ static void hevc_vt_biwgt_4t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_4t_6w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_6w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3821,9 +3822,9 @@ static void hevc_vt_biwgt_4t_6w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_4t_8x2_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_8x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3878,9 +3879,9 @@ static void hevc_vt_biwgt_4t_8x2_msa(uint8_t *src0_ptr,
ST_D2(tmp0, 0, 1, dst, dst_stride);
}
-static void hevc_vt_biwgt_4t_8x6_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_8x6_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3949,9 +3950,9 @@ static void hevc_vt_biwgt_4t_8x6_msa(uint8_t *src0_ptr,
ST_D2(tmp3, 0, 1, dst + 4 * dst_stride, dst_stride);
}
-static void hevc_vt_biwgt_4t_8x4multiple_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_8x4multiple_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4023,9 +4024,9 @@ static void hevc_vt_biwgt_4t_8x4multiple_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_4t_8w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4054,9 +4055,9 @@ static void hevc_vt_biwgt_4t_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_4t_12w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4146,9 +4147,9 @@ static void hevc_vt_biwgt_4t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_4t_16w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4240,9 +4241,9 @@ static void hevc_vt_biwgt_4t_16w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_4t_24w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4377,9 +4378,9 @@ static void hevc_vt_biwgt_4t_24w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_vt_biwgt_4t_32w_msa(uint8_t *src0_ptr,
+static void hevc_vt_biwgt_4t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4496,9 +4497,9 @@ static void hevc_vt_biwgt_4t_32w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_4t_4x2_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_4x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4580,9 +4581,9 @@ static void hevc_hv_biwgt_4t_4x2_msa(uint8_t *src0_ptr,
ST_W2(out, 0, 1, dst, dst_stride);
}
-static void hevc_hv_biwgt_4t_4x4_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_4x4_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4677,9 +4678,9 @@ static void hevc_hv_biwgt_4t_4x4_msa(uint8_t *src0_ptr,
ST_W4(out, 0, 1, 2, 3, dst, dst_stride);
}
-static void hevc_hv_biwgt_4t_4multx8mult_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_4multx8mult_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4821,9 +4822,9 @@ static void hevc_hv_biwgt_4t_4multx8mult_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_4t_4w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_4w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4853,9 +4854,9 @@ static void hevc_hv_biwgt_4t_4w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_4t_6w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_6w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5035,9 +5036,9 @@ static void hevc_hv_biwgt_4t_6w_msa(uint8_t *src0_ptr,
ST_H8(out2, 0, 1, 2, 3, 4, 5, 6, 7, dst + 4, dst_stride);
}
-static void hevc_hv_biwgt_4t_8x2_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_8x2_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5131,9 +5132,9 @@ static void hevc_hv_biwgt_4t_8x2_msa(uint8_t *src0_ptr,
ST_D2(out, 0, 1, dst, dst_stride);
}
-static void hevc_hv_biwgt_4t_8multx4_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_8multx4_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5255,9 +5256,9 @@ static void hevc_hv_biwgt_4t_8multx4_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_4t_8x6_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_8x6_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5405,9 +5406,9 @@ static void hevc_hv_biwgt_4t_8x6_msa(uint8_t *src0_ptr,
ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride);
}
-static void hevc_hv_biwgt_4t_8multx4mult_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_8multx4mult_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5424,8 +5425,8 @@ static void hevc_hv_biwgt_4t_8multx4mult_msa(uint8_t *src0_ptr,
uint32_t loop_cnt;
uint32_t cnt;
int32_t offset, weight;
- uint8_t *src0_ptr_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
uint8_t *dst_tmp;
v16u8 out0, out1;
v16i8 src0, src1, src2, src3, src4, src5, src6;
@@ -5555,9 +5556,9 @@ static void hevc_hv_biwgt_4t_8multx4mult_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_4t_8w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_8w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5592,9 +5593,9 @@ static void hevc_hv_biwgt_4t_8w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_4t_12w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_12w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5610,8 +5611,9 @@ static void hevc_hv_biwgt_4t_12w_msa(uint8_t *src0_ptr,
uint32_t loop_cnt;
uint64_t tp0, tp1;
int32_t offset, weight;
- uint8_t *src0_ptr_tmp, *dst_tmp;
- int16_t *src1_ptr_tmp;
+ const uint8_t *src0_ptr_tmp;
+ const int16_t *src1_ptr_tmp;
+ uint8_t *dst_tmp;
v16u8 out0, out1;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
v16i8 vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7;
@@ -5831,9 +5833,9 @@ static void hevc_hv_biwgt_4t_12w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_4t_16w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_16w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5859,9 +5861,9 @@ static void hevc_hv_biwgt_4t_16w_msa(uint8_t *src0_ptr,
}
}
-static void hevc_hv_biwgt_4t_24w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_24w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5881,9 +5883,9 @@ static void hevc_hv_biwgt_4t_24w_msa(uint8_t *src0_ptr,
weight1, offset0, offset1, rnd_val, 24);
}
-static void hevc_hv_biwgt_4t_32w_msa(uint8_t *src0_ptr,
+static void hevc_hv_biwgt_4t_32w_msa(const uint8_t *src0_ptr,
int32_t src_stride,
- int16_t *src1_ptr,
+ const int16_t *src1_ptr,
int32_t src2_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5906,9 +5908,9 @@ static void hevc_hv_biwgt_4t_32w_msa(uint8_t *src0_ptr,
#define BI_W_MC_COPY(WIDTH) \
void ff_hevc_put_hevc_bi_w_pel_pixels##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
int denom, \
int weight0, \
@@ -5944,10 +5946,10 @@ BI_W_MC_COPY(64);
void ff_hevc_put_hevc_bi_w_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t \
dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t \
src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
int denom, \
int weight0, \
@@ -6007,9 +6009,9 @@ BI_W_MC(epel, v, 32, 4, vt, my);
#define BI_W_MC_HV(PEL, WIDTH, TAP) \
void ff_hevc_put_hevc_bi_w_##PEL##_hv##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
int denom, \
int weight0, \
diff --git a/libavcodec/mips/hevc_mc_uni_msa.c b/libavcodec/mips/hevc_mc_uni_msa.c
index 36e65527af..c0571e1231 100644
--- a/libavcodec/mips/hevc_mc_uni_msa.c
+++ b/libavcodec/mips/hevc_mc_uni_msa.c
@@ -101,7 +101,7 @@ static const uint8_t ff_hevc_mask_arr[16 * 3] __attribute__((aligned(0x40))) = {
out0, out1, out2, out3); \
}
-static void copy_width8_msa(uint8_t *src, int32_t src_stride,
+static void copy_width8_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -143,7 +143,7 @@ static void copy_width8_msa(uint8_t *src, int32_t src_stride,
}
}
-static void copy_width12_msa(uint8_t *src, int32_t src_stride,
+static void copy_width12_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -157,7 +157,7 @@ static void copy_width12_msa(uint8_t *src, int32_t src_stride,
ST12x8_UB(src0, src1, src2, src3, src4, src5, src6, src7, dst, dst_stride);
}
-static void copy_width16_msa(uint8_t *src, int32_t src_stride,
+static void copy_width16_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -193,7 +193,7 @@ static void copy_width16_msa(uint8_t *src, int32_t src_stride,
}
}
-static void copy_width24_msa(uint8_t *src, int32_t src_stride,
+static void copy_width24_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -216,7 +216,7 @@ static void copy_width24_msa(uint8_t *src, int32_t src_stride,
}
}
-static void copy_width32_msa(uint8_t *src, int32_t src_stride,
+static void copy_width32_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -233,7 +233,7 @@ static void copy_width32_msa(uint8_t *src, int32_t src_stride,
}
}
-static void copy_width48_msa(uint8_t *src, int32_t src_stride,
+static void copy_width48_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -254,7 +254,7 @@ static void copy_width48_msa(uint8_t *src, int32_t src_stride,
}
}
-static void copy_width64_msa(uint8_t *src, int32_t src_stride,
+static void copy_width64_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -283,7 +283,7 @@ static void copy_width64_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_8t_4x4_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_4x4_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter)
{
@@ -312,7 +312,7 @@ static void common_hz_8t_4x4_msa(uint8_t *src, int32_t src_stride,
ST_W4(out, 0, 1, 2, 3, dst, dst_stride);
}
-static void common_hz_8t_4x8_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_4x8_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter)
{
@@ -349,7 +349,7 @@ static void common_hz_8t_4x8_msa(uint8_t *src, int32_t src_stride,
ST_W4(out, 0, 1, 2, 3, dst + 4 * dst_stride, dst_stride);
}
-static void common_hz_8t_4x16_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_4x16_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter)
{
@@ -405,7 +405,7 @@ static void common_hz_8t_4x16_msa(uint8_t *src, int32_t src_stride,
ST_W4(out, 0, 1, 2, 3, dst + 4 * dst_stride, dst_stride);
}
-static void common_hz_8t_4w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_4w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -418,7 +418,7 @@ static void common_hz_8t_4w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_8t_8w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_8w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -470,7 +470,7 @@ static void common_hz_8t_8w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_8t_12w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_12w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -549,7 +549,7 @@ static void common_hz_8t_12w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_8t_16w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_16w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -607,7 +607,7 @@ static void common_hz_8t_16w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_8t_24w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_24w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -677,7 +677,7 @@ static void common_hz_8t_24w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_8t_32w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_32w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -738,7 +738,7 @@ static void common_hz_8t_32w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_8t_48w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_48w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -824,7 +824,7 @@ static void common_hz_8t_48w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_8t_64w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_8t_64w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -903,7 +903,7 @@ static void common_hz_8t_64w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_8t_4w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_4w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -972,7 +972,7 @@ static void common_vt_8t_4w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_8t_8w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_8w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1027,7 +1027,7 @@ static void common_vt_8t_8w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_8t_12w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_12w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1129,7 +1129,7 @@ static void common_vt_8t_12w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_8t_16w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_16w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1208,12 +1208,12 @@ static void common_vt_8t_16w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_8t_16w_mult_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_16w_mult_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height,
int32_t width)
{
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
uint32_t loop_cnt, cnt;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
@@ -1297,7 +1297,7 @@ static void common_vt_8t_16w_mult_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_8t_24w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_24w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1308,7 +1308,7 @@ static void common_vt_8t_24w_msa(uint8_t *src, int32_t src_stride,
height);
}
-static void common_vt_8t_32w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_32w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1316,7 +1316,7 @@ static void common_vt_8t_32w_msa(uint8_t *src, int32_t src_stride,
32);
}
-static void common_vt_8t_48w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_48w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1324,7 +1324,7 @@ static void common_vt_8t_48w_msa(uint8_t *src, int32_t src_stride,
48);
}
-static void common_vt_8t_64w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_8t_64w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1332,7 +1332,7 @@ static void common_vt_8t_64w_msa(uint8_t *src, int32_t src_stride,
64);
}
-static void hevc_hv_uni_8t_4w_msa(uint8_t *src,
+static void hevc_hv_uni_8t_4w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1466,7 +1466,7 @@ static void hevc_hv_uni_8t_4w_msa(uint8_t *src,
}
}
-static void hevc_hv_uni_8t_8multx2mult_msa(uint8_t *src,
+static void hevc_hv_uni_8t_8multx2mult_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1475,7 +1475,7 @@ static void hevc_hv_uni_8t_8multx2mult_msa(uint8_t *src,
int32_t height, int32_t width)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
v16u8 out;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8;
@@ -1605,7 +1605,7 @@ static void hevc_hv_uni_8t_8multx2mult_msa(uint8_t *src,
}
}
-static void hevc_hv_uni_8t_8w_msa(uint8_t *src,
+static void hevc_hv_uni_8t_8w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1617,7 +1617,7 @@ static void hevc_hv_uni_8t_8w_msa(uint8_t *src,
filter_x, filter_y, height, 8);
}
-static void hevc_hv_uni_8t_12w_msa(uint8_t *src,
+static void hevc_hv_uni_8t_12w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1626,7 +1626,8 @@ static void hevc_hv_uni_8t_12w_msa(uint8_t *src,
int32_t height)
{
uint32_t loop_cnt;
- uint8_t *src_tmp, *dst_tmp;
+ const uint8_t *src_tmp;
+ uint8_t *dst_tmp;
v16u8 out0, out1;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
v16i8 src11, src12, src13, src14;
@@ -1851,7 +1852,7 @@ static void hevc_hv_uni_8t_12w_msa(uint8_t *src,
}
}
-static void hevc_hv_uni_8t_16w_msa(uint8_t *src,
+static void hevc_hv_uni_8t_16w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1863,7 +1864,7 @@ static void hevc_hv_uni_8t_16w_msa(uint8_t *src,
filter_x, filter_y, height, 16);
}
-static void hevc_hv_uni_8t_24w_msa(uint8_t *src,
+static void hevc_hv_uni_8t_24w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1875,7 +1876,7 @@ static void hevc_hv_uni_8t_24w_msa(uint8_t *src,
filter_x, filter_y, height, 24);
}
-static void hevc_hv_uni_8t_32w_msa(uint8_t *src,
+static void hevc_hv_uni_8t_32w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1887,7 +1888,7 @@ static void hevc_hv_uni_8t_32w_msa(uint8_t *src,
filter_x, filter_y, height, 32);
}
-static void hevc_hv_uni_8t_48w_msa(uint8_t *src,
+static void hevc_hv_uni_8t_48w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1899,7 +1900,7 @@ static void hevc_hv_uni_8t_48w_msa(uint8_t *src,
filter_x, filter_y, height, 48);
}
-static void hevc_hv_uni_8t_64w_msa(uint8_t *src,
+static void hevc_hv_uni_8t_64w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1911,7 +1912,7 @@ static void hevc_hv_uni_8t_64w_msa(uint8_t *src,
filter_x, filter_y, height, 64);
}
-static void common_hz_4t_4x2_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_4x2_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter)
{
@@ -1938,7 +1939,7 @@ static void common_hz_4t_4x2_msa(uint8_t *src, int32_t src_stride,
ST_W2(out, 0, 1, dst, dst_stride);
}
-static void common_hz_4t_4x4_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_4x4_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter)
{
@@ -1965,7 +1966,7 @@ static void common_hz_4t_4x4_msa(uint8_t *src, int32_t src_stride,
ST_W4(out, 0, 1, 2, 3, dst, dst_stride);
}
-static void common_hz_4t_4x8_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_4x8_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter)
{
@@ -2000,7 +2001,7 @@ static void common_hz_4t_4x8_msa(uint8_t *src, int32_t src_stride,
ST_W4(out, 0, 1, 2, 3, dst + 4 * dst_stride, dst_stride);
}
-static void common_hz_4t_4x16_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_4x16_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter)
{
@@ -2048,7 +2049,7 @@ static void common_hz_4t_4x16_msa(uint8_t *src, int32_t src_stride,
ST_W4(out, 0, 1, 2, 3, dst + 4 * dst_stride, dst_stride);
}
-static void common_hz_4t_4w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_4w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2063,7 +2064,7 @@ static void common_hz_4t_4w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_4t_6w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_6w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2112,7 +2113,7 @@ static void common_hz_4t_6w_msa(uint8_t *src, int32_t src_stride,
ST_H2(out5, 2, 6, dst + 2 * dst_stride + 4, dst_stride);
}
-static void common_hz_4t_8x2mult_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_8x2mult_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2146,7 +2147,7 @@ static void common_hz_4t_8x2mult_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_4t_8x4mult_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_8x4mult_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2180,7 +2181,7 @@ static void common_hz_4t_8x4mult_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_4t_8w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_8w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2193,7 +2194,7 @@ static void common_hz_4t_8w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_4t_12w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_12w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2247,7 +2248,7 @@ static void common_hz_4t_12w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_4t_16w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_16w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2310,7 +2311,7 @@ static void common_hz_4t_16w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_4t_24w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_24w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2393,7 +2394,7 @@ static void common_hz_4t_24w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_hz_4t_32w_msa(uint8_t *src, int32_t src_stride,
+static void common_hz_4t_32w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2461,7 +2462,7 @@ static void common_hz_4t_32w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_4t_4x2_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_4x2_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter)
{
@@ -2492,7 +2493,7 @@ static void common_vt_4t_4x2_msa(uint8_t *src, int32_t src_stride,
ST_W2(out, 0, 1, dst, dst_stride);
}
-static void common_vt_4t_4x4multiple_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_4x4multiple_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2538,7 +2539,7 @@ static void common_vt_4t_4x4multiple_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_4t_4w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_4w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2550,7 +2551,7 @@ static void common_vt_4t_4w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_4t_6w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_6w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2621,7 +2622,7 @@ static void common_vt_4t_6w_msa(uint8_t *src, int32_t src_stride,
ST_H2(out1, 2, 6, dst + 2 * dst_stride + 4, dst_stride);
}
-static void common_vt_4t_8x2_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_8x2_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter)
{
@@ -2647,7 +2648,7 @@ static void common_vt_4t_8x2_msa(uint8_t *src, int32_t src_stride,
ST_D2(out, 0, 1, dst, dst_stride);
}
-static void common_vt_4t_8x6_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_8x6_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter)
{
@@ -2700,7 +2701,7 @@ static void common_vt_4t_8x6_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_4t_8x4mult_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_8x4mult_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2745,7 +2746,7 @@ static void common_vt_4t_8x4mult_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_4t_8w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_8w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2759,7 +2760,7 @@ static void common_vt_4t_8w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_4t_12w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_12w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2822,7 +2823,7 @@ static void common_vt_4t_12w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_4t_16w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_16w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2880,7 +2881,7 @@ static void common_vt_4t_16w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_4t_24w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_24w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2991,7 +2992,7 @@ static void common_vt_4t_24w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void common_vt_4t_32w_msa(uint8_t *src, int32_t src_stride,
+static void common_vt_4t_32w_msa(const uint8_t *src, int32_t src_stride,
uint8_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -3084,7 +3085,7 @@ static void common_vt_4t_32w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hv_uni_4t_4x2_msa(uint8_t *src,
+static void hevc_hv_uni_4t_4x2_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3139,7 +3140,7 @@ static void hevc_hv_uni_4t_4x2_msa(uint8_t *src,
ST_W2(out, 0, 1, dst, dst_stride);
}
-static void hevc_hv_uni_4t_4x4_msa(uint8_t *src,
+static void hevc_hv_uni_4t_4x4_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3198,7 +3199,7 @@ static void hevc_hv_uni_4t_4x4_msa(uint8_t *src,
ST_W4(out, 0, 1, 2, 3, dst, dst_stride);
}
-static void hevc_hv_uni_4t_4multx8mult_msa(uint8_t *src,
+static void hevc_hv_uni_4t_4multx8mult_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3296,7 +3297,7 @@ static void hevc_hv_uni_4t_4multx8mult_msa(uint8_t *src,
}
}
-static void hevc_hv_uni_4t_4w_msa(uint8_t *src,
+static void hevc_hv_uni_4t_4w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3316,7 +3317,7 @@ static void hevc_hv_uni_4t_4w_msa(uint8_t *src,
}
}
-static void hevc_hv_uni_4t_6w_msa(uint8_t *src,
+static void hevc_hv_uni_4t_6w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3435,7 +3436,7 @@ static void hevc_hv_uni_4t_6w_msa(uint8_t *src,
ST_H8(out2, 0, 1, 2, 3, 4, 5, 6, 7, dst + 4, dst_stride);
}
-static void hevc_hv_uni_4t_8x2_msa(uint8_t *src,
+static void hevc_hv_uni_4t_8x2_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3497,7 +3498,7 @@ static void hevc_hv_uni_4t_8x2_msa(uint8_t *src,
ST_D2(out, 0, 1, dst, dst_stride);
}
-static void hevc_hv_uni_4t_8multx4_msa(uint8_t *src,
+static void hevc_hv_uni_4t_8multx4_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3582,7 +3583,7 @@ static void hevc_hv_uni_4t_8multx4_msa(uint8_t *src,
}
}
-static void hevc_hv_uni_4t_8x6_msa(uint8_t *src,
+static void hevc_hv_uni_4t_8x6_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3685,7 +3686,7 @@ static void hevc_hv_uni_4t_8x6_msa(uint8_t *src,
ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride);
}
-static void hevc_hv_uni_4t_8multx4mult_msa(uint8_t *src,
+static void hevc_hv_uni_4t_8multx4mult_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3695,7 +3696,7 @@ static void hevc_hv_uni_4t_8multx4mult_msa(uint8_t *src,
int32_t width8mult)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
v16u8 out0, out1;
v16i8 src0, src1, src2, src3, src4, src5, src6;
@@ -3799,7 +3800,7 @@ static void hevc_hv_uni_4t_8multx4mult_msa(uint8_t *src,
}
}
-static void hevc_hv_uni_4t_8w_msa(uint8_t *src,
+static void hevc_hv_uni_4t_8w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3822,7 +3823,7 @@ static void hevc_hv_uni_4t_8w_msa(uint8_t *src,
}
}
-static void hevc_hv_uni_4t_12w_msa(uint8_t *src,
+static void hevc_hv_uni_4t_12w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3831,7 +3832,8 @@ static void hevc_hv_uni_4t_12w_msa(uint8_t *src,
int32_t height)
{
uint32_t loop_cnt;
- uint8_t *src_tmp, *dst_tmp;
+ const uint8_t *src_tmp;
+ uint8_t *dst_tmp;
v16u8 out0, out1;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
v16i8 vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7;
@@ -3990,7 +3992,7 @@ static void hevc_hv_uni_4t_12w_msa(uint8_t *src,
}
}
-static void hevc_hv_uni_4t_16w_msa(uint8_t *src,
+static void hevc_hv_uni_4t_16w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4007,7 +4009,7 @@ static void hevc_hv_uni_4t_16w_msa(uint8_t *src,
}
}
-static void hevc_hv_uni_4t_24w_msa(uint8_t *src,
+static void hevc_hv_uni_4t_24w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4019,7 +4021,7 @@ static void hevc_hv_uni_4t_24w_msa(uint8_t *src,
filter_x, filter_y, height, 3);
}
-static void hevc_hv_uni_4t_32w_msa(uint8_t *src,
+static void hevc_hv_uni_4t_32w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4034,7 +4036,7 @@ static void hevc_hv_uni_4t_32w_msa(uint8_t *src,
#define UNI_MC_COPY(WIDTH) \
void ff_hevc_put_hevc_uni_pel_pixels##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -4057,7 +4059,7 @@ UNI_MC_COPY(64);
#define UNI_MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR) \
void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -4109,7 +4111,7 @@ UNI_MC(epel, v, 32, 4, vt, my);
#define UNI_MC_HV(PEL, WIDTH, TAP) \
void ff_hevc_put_hevc_uni_##PEL##_hv##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
diff --git a/libavcodec/mips/hevc_mc_uniw_msa.c b/libavcodec/mips/hevc_mc_uniw_msa.c
index 1a8c251534..3c3d7a0da2 100644
--- a/libavcodec/mips/hevc_mc_uniw_msa.c
+++ b/libavcodec/mips/hevc_mc_uniw_msa.c
@@ -54,7 +54,7 @@ static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
out2_h, out3_h); \
}
-static void hevc_uniwgt_copy_4w_msa(uint8_t *src,
+static void hevc_uniwgt_copy_4w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -121,7 +121,7 @@ static void hevc_uniwgt_copy_4w_msa(uint8_t *src,
}
}
-static void hevc_uniwgt_copy_6w_msa(uint8_t *src,
+static void hevc_uniwgt_copy_6w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -183,7 +183,7 @@ static void hevc_uniwgt_copy_6w_msa(uint8_t *src,
}
}
-static void hevc_uniwgt_copy_8w_msa(uint8_t *src,
+static void hevc_uniwgt_copy_8w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -278,7 +278,7 @@ static void hevc_uniwgt_copy_8w_msa(uint8_t *src,
}
}
-static void hevc_uniwgt_copy_12w_msa(uint8_t *src,
+static void hevc_uniwgt_copy_12w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -323,7 +323,7 @@ static void hevc_uniwgt_copy_12w_msa(uint8_t *src,
}
}
-static void hevc_uniwgt_copy_16w_msa(uint8_t *src,
+static void hevc_uniwgt_copy_16w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -366,7 +366,7 @@ static void hevc_uniwgt_copy_16w_msa(uint8_t *src,
}
}
-static void hevc_uniwgt_copy_24w_msa(uint8_t *src,
+static void hevc_uniwgt_copy_24w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -419,7 +419,7 @@ static void hevc_uniwgt_copy_24w_msa(uint8_t *src,
}
}
-static void hevc_uniwgt_copy_32w_msa(uint8_t *src,
+static void hevc_uniwgt_copy_32w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -465,7 +465,7 @@ static void hevc_uniwgt_copy_32w_msa(uint8_t *src,
}
}
-static void hevc_uniwgt_copy_48w_msa(uint8_t *src,
+static void hevc_uniwgt_copy_48w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -522,7 +522,7 @@ static void hevc_uniwgt_copy_48w_msa(uint8_t *src,
}
}
-static void hevc_uniwgt_copy_64w_msa(uint8_t *src,
+static void hevc_uniwgt_copy_64w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -585,7 +585,7 @@ static void hevc_uniwgt_copy_64w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_8t_4w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_8t_4w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -661,7 +661,7 @@ static void hevc_hz_uniwgt_8t_4w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_8t_8w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_8t_8w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -739,7 +739,7 @@ static void hevc_hz_uniwgt_8t_8w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_8t_12w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_8t_12w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -833,7 +833,7 @@ static void hevc_hz_uniwgt_8t_12w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_8t_16w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_8t_16w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -911,7 +911,7 @@ static void hevc_hz_uniwgt_8t_16w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_8t_24w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_8t_24w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1004,7 +1004,7 @@ static void hevc_hz_uniwgt_8t_24w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_8t_32w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_8t_32w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1106,7 +1106,7 @@ static void hevc_hz_uniwgt_8t_32w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_8t_48w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_8t_48w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1200,7 +1200,7 @@ static void hevc_hz_uniwgt_8t_48w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_8t_64w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_8t_64w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1210,7 +1210,7 @@ static void hevc_hz_uniwgt_8t_64w_msa(uint8_t *src,
int32_t offset,
int32_t rnd_val)
{
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
uint32_t loop_cnt, cnt;
v16u8 out0, out1;
@@ -1291,7 +1291,7 @@ static void hevc_hz_uniwgt_8t_64w_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_8t_4w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_8t_4w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1383,7 +1383,7 @@ static void hevc_vt_uniwgt_8t_4w_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_8t_8w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_8t_8w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1462,7 +1462,7 @@ static void hevc_vt_uniwgt_8t_8w_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_8t_12w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_8t_12w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1565,7 +1565,7 @@ static void hevc_vt_uniwgt_8t_12w_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_8t_16multx4mult_msa(uint8_t *src,
+static void hevc_vt_uniwgt_8t_16multx4mult_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1576,7 +1576,7 @@ static void hevc_vt_uniwgt_8t_16multx4mult_msa(uint8_t *src,
int32_t rnd_val,
int32_t weightmul16)
{
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
int32_t loop_cnt, cnt;
v16u8 out0, out1, out2, out3;
@@ -1676,7 +1676,7 @@ static void hevc_vt_uniwgt_8t_16multx4mult_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_8t_16w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_8t_16w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1691,7 +1691,7 @@ static void hevc_vt_uniwgt_8t_16w_msa(uint8_t *src,
offset, rnd_val, 1);
}
-static void hevc_vt_uniwgt_8t_24w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_8t_24w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1709,7 +1709,7 @@ static void hevc_vt_uniwgt_8t_24w_msa(uint8_t *src,
filter, 32, weight, offset, rnd_val);
}
-static void hevc_vt_uniwgt_8t_32w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_8t_32w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1724,7 +1724,7 @@ static void hevc_vt_uniwgt_8t_32w_msa(uint8_t *src,
offset, rnd_val, 2);
}
-static void hevc_vt_uniwgt_8t_48w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_8t_48w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1739,7 +1739,7 @@ static void hevc_vt_uniwgt_8t_48w_msa(uint8_t *src,
offset, rnd_val, 3);
}
-static void hevc_vt_uniwgt_8t_64w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_8t_64w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1754,7 +1754,7 @@ static void hevc_vt_uniwgt_8t_64w_msa(uint8_t *src,
offset, rnd_val, 4);
}
-static void hevc_hv_uniwgt_8t_4w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_8t_4w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1879,7 +1879,7 @@ static void hevc_hv_uniwgt_8t_4w_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_8t_8multx2mult_msa(uint8_t *src,
+static void hevc_hv_uniwgt_8t_8multx2mult_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -1892,7 +1892,7 @@ static void hevc_hv_uniwgt_8t_8multx2mult_msa(uint8_t *src,
int32_t width)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8;
v8i16 filt0, filt1, filt2, filt3;
@@ -2041,7 +2041,7 @@ static void hevc_hv_uniwgt_8t_8multx2mult_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_8t_8w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_8t_8w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2057,7 +2057,7 @@ static void hevc_hv_uniwgt_8t_8w_msa(uint8_t *src,
offset, rnd_val, 8);
}
-static void hevc_hv_uniwgt_8t_12w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_8t_12w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2069,7 +2069,8 @@ static void hevc_hv_uniwgt_8t_12w_msa(uint8_t *src,
int32_t rnd_val)
{
uint32_t loop_cnt;
- uint8_t *src_tmp, *dst_tmp;
+ const uint8_t *src_tmp;
+ uint8_t *dst_tmp;
v16u8 out;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
v16i8 mask0, mask1, mask2, mask3, mask4, mask5, mask6, mask7;
@@ -2262,7 +2263,7 @@ static void hevc_hv_uniwgt_8t_12w_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_8t_16w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_8t_16w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2278,7 +2279,7 @@ static void hevc_hv_uniwgt_8t_16w_msa(uint8_t *src,
offset, rnd_val, 16);
}
-static void hevc_hv_uniwgt_8t_24w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_8t_24w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2294,7 +2295,7 @@ static void hevc_hv_uniwgt_8t_24w_msa(uint8_t *src,
offset, rnd_val, 24);
}
-static void hevc_hv_uniwgt_8t_32w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_8t_32w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2310,7 +2311,7 @@ static void hevc_hv_uniwgt_8t_32w_msa(uint8_t *src,
offset, rnd_val, 32);
}
-static void hevc_hv_uniwgt_8t_48w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_8t_48w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2326,7 +2327,7 @@ static void hevc_hv_uniwgt_8t_48w_msa(uint8_t *src,
offset, rnd_val, 48);
}
-static void hevc_hv_uniwgt_8t_64w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_8t_64w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2342,7 +2343,7 @@ static void hevc_hv_uniwgt_8t_64w_msa(uint8_t *src,
offset, rnd_val, 64);
}
-static void hevc_hz_uniwgt_4t_4x2_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_4x2_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2400,7 +2401,7 @@ static void hevc_hz_uniwgt_4t_4x2_msa(uint8_t *src,
dst += (4 * dst_stride);
}
-static void hevc_hz_uniwgt_4t_4x4_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_4x4_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2457,7 +2458,7 @@ static void hevc_hz_uniwgt_4t_4x4_msa(uint8_t *src,
dst += (4 * dst_stride);
}
-static void hevc_hz_uniwgt_4t_4x8multiple_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_4x8multiple_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2525,7 +2526,7 @@ static void hevc_hz_uniwgt_4t_4x8multiple_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_4t_4w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_4w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2548,7 +2549,7 @@ static void hevc_hz_uniwgt_4t_4w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_4t_6w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_6w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2629,7 +2630,7 @@ static void hevc_hz_uniwgt_4t_6w_msa(uint8_t *src,
ST_H2(out3, 2, 6, dst + 2 * dst_stride + 4, dst_stride);
}
-static void hevc_hz_uniwgt_4t_8x2_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_8x2_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2684,7 +2685,7 @@ static void hevc_hz_uniwgt_4t_8x2_msa(uint8_t *src,
ST_D2(out, 0, 1, dst, dst_stride);
}
-static void hevc_hz_uniwgt_4t_8x4_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_8x4_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2741,7 +2742,7 @@ static void hevc_hz_uniwgt_4t_8x4_msa(uint8_t *src,
ST_D4(out0, out1, 0, 1, 0, 1, dst, dst_stride);
}
-static void hevc_hz_uniwgt_4t_8x6_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_8x6_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2811,7 +2812,7 @@ static void hevc_hz_uniwgt_4t_8x6_msa(uint8_t *src,
ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride);
}
-static void hevc_hz_uniwgt_4t_8x8multiple_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_8x8multiple_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2891,7 +2892,7 @@ static void hevc_hz_uniwgt_4t_8x8multiple_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_4t_8w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_8w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2917,7 +2918,7 @@ static void hevc_hz_uniwgt_4t_8w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_4t_12w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_12w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -2997,7 +2998,7 @@ static void hevc_hz_uniwgt_4t_12w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_4t_16w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_16w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3080,7 +3081,7 @@ static void hevc_hz_uniwgt_4t_16w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_4t_24w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_24w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3158,7 +3159,7 @@ static void hevc_hz_uniwgt_4t_24w_msa(uint8_t *src,
}
}
-static void hevc_hz_uniwgt_4t_32w_msa(uint8_t *src,
+static void hevc_hz_uniwgt_4t_32w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3245,7 +3246,7 @@ static void hevc_hz_uniwgt_4t_32w_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_4t_4x2_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_4x2_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3300,7 +3301,7 @@ static void hevc_vt_uniwgt_4t_4x2_msa(uint8_t *src,
ST_W2(out, 0, 1, dst, dst_stride);
}
-static void hevc_vt_uniwgt_4t_4x4_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_4x4_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3354,7 +3355,7 @@ static void hevc_vt_uniwgt_4t_4x4_msa(uint8_t *src,
ST_W4(out, 0, 1, 2, 3, dst, dst_stride);
}
-static void hevc_vt_uniwgt_4t_4x8multiple_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_4x8multiple_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3430,7 +3431,7 @@ static void hevc_vt_uniwgt_4t_4x8multiple_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_4t_4w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_4w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3453,7 +3454,7 @@ static void hevc_vt_uniwgt_4t_4w_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_4t_6w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_6w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3531,7 +3532,7 @@ static void hevc_vt_uniwgt_4t_6w_msa(uint8_t *src,
ST_H2(out3, 2, 6, dst + 2 * dst_stride + 4, dst_stride);
}
-static void hevc_vt_uniwgt_4t_8x2_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_8x2_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3582,7 +3583,7 @@ static void hevc_vt_uniwgt_4t_8x2_msa(uint8_t *src,
ST_D2(out, 0, 1, dst, dst_stride);
}
-static void hevc_vt_uniwgt_4t_8x4_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_8x4_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3637,7 +3638,7 @@ static void hevc_vt_uniwgt_4t_8x4_msa(uint8_t *src,
ST_D4(out0, out1, 0, 1, 0, 1, dst, dst_stride);
}
-static void hevc_vt_uniwgt_4t_8x6_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_8x6_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3700,7 +3701,7 @@ static void hevc_vt_uniwgt_4t_8x6_msa(uint8_t *src,
ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride);
}
-static void hevc_vt_uniwgt_4t_8x8mult_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_8x8mult_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3779,7 +3780,7 @@ static void hevc_vt_uniwgt_4t_8x8mult_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_4t_8w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_8w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3805,7 +3806,7 @@ static void hevc_vt_uniwgt_4t_8w_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_4t_12w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_12w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3910,7 +3911,7 @@ static void hevc_vt_uniwgt_4t_12w_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_4t_16w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_16w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -3992,7 +3993,7 @@ static void hevc_vt_uniwgt_4t_16w_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_4t_24w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_24w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4094,7 +4095,7 @@ static void hevc_vt_uniwgt_4t_24w_msa(uint8_t *src,
}
}
-static void hevc_vt_uniwgt_4t_32w_msa(uint8_t *src,
+static void hevc_vt_uniwgt_4t_32w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4188,7 +4189,7 @@ static void hevc_vt_uniwgt_4t_32w_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_4t_4x2_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_4x2_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4252,7 +4253,7 @@ static void hevc_hv_uniwgt_4t_4x2_msa(uint8_t *src,
ST_W2(out, 0, 1, dst, dst_stride);
}
-static void hevc_hv_uniwgt_4t_4x4_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_4x4_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4321,7 +4322,7 @@ static void hevc_hv_uniwgt_4t_4x4_msa(uint8_t *src,
ST_W4(out, 0, 1, 2, 3, dst, dst_stride);
}
-static void hevc_hv_uniwgt_4t_4multx8mult_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_4multx8mult_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4428,7 +4429,7 @@ static void hevc_hv_uniwgt_4t_4multx8mult_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_4t_4w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_4w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4454,7 +4455,7 @@ static void hevc_hv_uniwgt_4t_4w_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_4t_6w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_6w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4581,7 +4582,7 @@ static void hevc_hv_uniwgt_4t_6w_msa(uint8_t *src,
ST_H8(out2, 0, 1, 2, 3, 4, 5, 6, 7, dst + 4, dst_stride);
}
-static void hevc_hv_uniwgt_4t_8x2_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_8x2_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4657,7 +4658,7 @@ static void hevc_hv_uniwgt_4t_8x2_msa(uint8_t *src,
ST_D2(out, 0, 1, dst, dst_stride);
}
-static void hevc_hv_uniwgt_4t_8multx4_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_8multx4_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4752,7 +4753,7 @@ static void hevc_hv_uniwgt_4t_8multx4_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_4t_8x6_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_8x6_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4868,7 +4869,7 @@ static void hevc_hv_uniwgt_4t_8x6_msa(uint8_t *src,
ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride);
}
-static void hevc_hv_uniwgt_4t_8multx4mult_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_8multx4mult_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -4881,7 +4882,7 @@ static void hevc_hv_uniwgt_4t_8multx4mult_msa(uint8_t *src,
int32_t width8mult)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
uint8_t *dst_tmp;
v16u8 out0, out1;
v16i8 src0, src1, src2, src3, src4, src5, src6;
@@ -4990,7 +4991,7 @@ static void hevc_hv_uniwgt_4t_8multx4mult_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_4t_8w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_8w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5021,7 +5022,7 @@ static void hevc_hv_uniwgt_4t_8w_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_4t_12w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_12w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5033,7 +5034,8 @@ static void hevc_hv_uniwgt_4t_12w_msa(uint8_t *src,
int32_t rnd_val)
{
uint32_t loop_cnt;
- uint8_t *src_tmp, *dst_tmp;
+ const uint8_t *src_tmp;
+ uint8_t *dst_tmp;
v16u8 out0, out1;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
v16i8 vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7;
@@ -5198,7 +5200,7 @@ static void hevc_hv_uniwgt_4t_12w_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_4t_16w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_16w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5220,7 +5222,7 @@ static void hevc_hv_uniwgt_4t_16w_msa(uint8_t *src,
}
}
-static void hevc_hv_uniwgt_4t_24w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_24w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5236,7 +5238,7 @@ static void hevc_hv_uniwgt_4t_24w_msa(uint8_t *src,
offset, rnd_val, 3);
}
-static void hevc_hv_uniwgt_4t_32w_msa(uint8_t *src,
+static void hevc_hv_uniwgt_4t_32w_msa(const uint8_t *src,
int32_t src_stride,
uint8_t *dst,
int32_t dst_stride,
@@ -5255,7 +5257,7 @@ static void hevc_hv_uniwgt_4t_32w_msa(uint8_t *src,
#define UNIWGT_MC_COPY(WIDTH) \
void ff_hevc_put_hevc_uni_w_pel_pixels##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
int denom, \
@@ -5286,7 +5288,7 @@ UNIWGT_MC_COPY(64);
void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t \
dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t \
src_stride, \
int height, \
@@ -5344,7 +5346,7 @@ UNI_W_MC(epel, v, 32, 4, vt, my);
#define UNI_W_MC_HV(PEL, WIDTH, TAP) \
void ff_hevc_put_hevc_uni_w_##PEL##_hv##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
int denom, \
diff --git a/libavcodec/mips/hevcdsp_mips.h b/libavcodec/mips/hevcdsp_mips.h
index c84e08d160..a8f78ff73a 100644
--- a/libavcodec/mips/hevcdsp_mips.h
+++ b/libavcodec/mips/hevcdsp_mips.h
@@ -25,7 +25,7 @@
#define MC(PEL, DIR, WIDTH) \
void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_msa(int16_t *dst, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -104,7 +104,7 @@ MC(epel, hv, 64);
#define UNI_MC(PEL, DIR, WIDTH) \
void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -184,7 +184,7 @@ UNI_MC(epel, hv, 64);
void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t \
dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t \
src_stride, \
int height, \
@@ -267,9 +267,9 @@ UNI_W_MC(epel, hv, 64);
#define BI_MC(PEL, DIR, WIDTH) \
void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
@@ -348,10 +348,10 @@ BI_MC(epel, hv, 64);
void ff_hevc_put_hevc_bi_w_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
ptrdiff_t \
dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t \
src_stride, \
- int16_t *src_16bit, \
+ const int16_t *src_16bit, \
int height, \
int denom, \
int weight0, \
@@ -433,32 +433,32 @@ BI_W_MC(epel, hv, 64);
void ff_hevc_loop_filter_luma_h_8_msa(uint8_t *src,
ptrdiff_t src_stride,
- int32_t beta, int32_t *tc,
- uint8_t *no_p, uint8_t *no_q);
+ int32_t beta, const int32_t *tc,
+ const uint8_t *no_p, const uint8_t *no_q);
void ff_hevc_loop_filter_luma_v_8_msa(uint8_t *src,
ptrdiff_t src_stride,
- int32_t beta, int32_t *tc,
- uint8_t *no_p, uint8_t *no_q);
+ int32_t beta, const int32_t *tc,
+ const uint8_t *no_p, const uint8_t *no_q);
void ff_hevc_loop_filter_chroma_h_8_msa(uint8_t *src,
ptrdiff_t src_stride,
- int32_t *tc, uint8_t *no_p,
- uint8_t *no_q);
+ const int32_t *tc, const uint8_t *no_p,
+ const uint8_t *no_q);
void ff_hevc_loop_filter_chroma_v_8_msa(uint8_t *src,
ptrdiff_t src_stride,
- int32_t *tc, uint8_t *no_p,
- uint8_t *no_q);
+ const int32_t *tc, const uint8_t *no_p,
+ const uint8_t *no_q);
-void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, uint8_t *src,
+void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride_dst, ptrdiff_t stride_src,
- int16_t *sao_offset_val, int sao_left_class,
+ const int16_t *sao_offset_val, int sao_left_class,
int width, int height);
-void ff_hevc_sao_edge_filter_8_msa(uint8_t *dst, uint8_t *src,
+void ff_hevc_sao_edge_filter_8_msa(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride_dst,
- int16_t *sao_offset_val,
+ const int16_t *sao_offset_val,
int eo, int width, int height);
void ff_hevc_idct_4x4_msa(int16_t *coeffs, int col_limit);
@@ -469,20 +469,20 @@ void ff_hevc_idct_dc_4x4_msa(int16_t *coeffs);
void ff_hevc_idct_dc_8x8_msa(int16_t *coeffs);
void ff_hevc_idct_dc_16x16_msa(int16_t *coeffs);
void ff_hevc_idct_dc_32x32_msa(int16_t *coeffs);
-void ff_hevc_addblk_4x4_msa(uint8_t *dst, int16_t *pi16Coeffs,
+void ff_hevc_addblk_4x4_msa(uint8_t *dst, const int16_t *pi16Coeffs,
ptrdiff_t stride);
-void ff_hevc_addblk_8x8_msa(uint8_t *dst, int16_t *pi16Coeffs,
+void ff_hevc_addblk_8x8_msa(uint8_t *dst, const int16_t *pi16Coeffs,
ptrdiff_t stride);
-void ff_hevc_addblk_16x16_msa(uint8_t *dst, int16_t *pi16Coeffs,
+void ff_hevc_addblk_16x16_msa(uint8_t *dst, const int16_t *pi16Coeffs,
ptrdiff_t stride);
-void ff_hevc_addblk_32x32_msa(uint8_t *dst, int16_t *pi16Coeffs,
+void ff_hevc_addblk_32x32_msa(uint8_t *dst, const int16_t *pi16Coeffs,
ptrdiff_t stride);
void ff_hevc_idct_luma_4x4_msa(int16_t *pi16Coeffs);
/* Loongson optimization */
#define L_MC(PEL, DIR, WIDTH, TYPE) \
void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_##TYPE(int16_t *dst, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -509,9 +509,9 @@ L_MC(qpel, hv, 64, mmi);
#define L_BI_MC(PEL, DIR, WIDTH, TYPE) \
void ff_hevc_put_hevc_##PEL##_bi_##DIR##WIDTH##_8_##TYPE(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
- int16_t *src2, \
+ const int16_t *src2, \
int height, \
intptr_t mx, \
intptr_t my, \
@@ -553,7 +553,7 @@ L_BI_MC(epel, hv, 32, mmi);
#define L_UNI_MC(PEL, DIR, WIDTH, TYPE) \
void ff_hevc_put_hevc_##PEL##_uni_##DIR##WIDTH##_8_##TYPE(uint8_t *dst, \
ptrdiff_t dst_stride, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
diff --git a/libavcodec/mips/hevcdsp_mmi.c b/libavcodec/mips/hevcdsp_mmi.c
index 6583bef5da..0ea88a7c08 100644
--- a/libavcodec/mips/hevcdsp_mmi.c
+++ b/libavcodec/mips/hevcdsp_mmi.c
@@ -24,13 +24,13 @@
#include "libavutil/mips/mmiutils.h"
#define PUT_HEVC_QPEL_H(w, x_step, src_step, dst_step) \
-void ff_hevc_put_hevc_qpel_h##w##_8_mmi(int16_t *dst, uint8_t *_src, \
+void ff_hevc_put_hevc_qpel_h##w##_8_mmi(int16_t *dst, const uint8_t *_src, \
ptrdiff_t _srcstride, \
int height, intptr_t mx, \
intptr_t my, int width) \
{ \
int x, y; \
- pixel *src = (pixel*)_src - 3; \
+ const pixel *src = (const pixel*)_src - 3; \
ptrdiff_t srcstride = _srcstride / sizeof(pixel); \
double ftmp[15]; \
uint64_t rtmp[1]; \
@@ -118,14 +118,14 @@ PUT_HEVC_QPEL_H(48, 12, -48, -96);
PUT_HEVC_QPEL_H(64, 16, -64, -128);
#define PUT_HEVC_QPEL_HV(w, x_step, src_step, dst_step) \
-void ff_hevc_put_hevc_qpel_hv##w##_8_mmi(int16_t *dst, uint8_t *_src, \
+void ff_hevc_put_hevc_qpel_hv##w##_8_mmi(int16_t *dst, const uint8_t *_src,\
ptrdiff_t _srcstride, \
int height, intptr_t mx, \
intptr_t my, int width) \
{ \
int x, y; \
const int8_t *filter; \
- pixel *src = (pixel*)_src; \
+ const pixel *src = (const pixel*)_src; \
ptrdiff_t srcstride = _srcstride / sizeof(pixel); \
int16_t tmp_array[(MAX_PB_SIZE + QPEL_EXTRA) * MAX_PB_SIZE]; \
int16_t *tmp = tmp_array; \
@@ -303,14 +303,14 @@ PUT_HEVC_QPEL_HV(64, 16, -64, -128);
#define PUT_HEVC_QPEL_BI_H(w, x_step, src_step, src2_step, dst_step) \
void ff_hevc_put_hevc_qpel_bi_h##w##_8_mmi(uint8_t *_dst, \
ptrdiff_t _dststride, \
- uint8_t *_src, \
+ const uint8_t *_src, \
ptrdiff_t _srcstride, \
- int16_t *src2, int height, \
+ const int16_t *src2, int height, \
intptr_t mx, intptr_t my, \
int width) \
{ \
int x, y; \
- pixel *src = (pixel*)_src - 3; \
+ const pixel *src = (const pixel*)_src - 3; \
ptrdiff_t srcstride = _srcstride / sizeof(pixel); \
pixel *dst = (pixel *)_dst; \
ptrdiff_t dststride = _dststride / sizeof(pixel); \
@@ -434,9 +434,9 @@ PUT_HEVC_QPEL_BI_H(64, 16, -64, -128, -64);
#define PUT_HEVC_QPEL_BI_HV(w, x_step, src_step, src2_step, dst_step) \
void ff_hevc_put_hevc_qpel_bi_hv##w##_8_mmi(uint8_t *_dst, \
ptrdiff_t _dststride, \
- uint8_t *_src, \
+ const uint8_t *_src, \
ptrdiff_t _srcstride, \
- int16_t *src2, int height, \
+ const int16_t *src2, int height, \
intptr_t mx, intptr_t my, \
int width) \
{ \
@@ -654,9 +654,9 @@ PUT_HEVC_QPEL_BI_HV(64, 16, -64, -128, -64);
#define PUT_HEVC_EPEL_BI_HV(w, x_step, src_step, src2_step, dst_step) \
void ff_hevc_put_hevc_epel_bi_hv##w##_8_mmi(uint8_t *_dst, \
ptrdiff_t _dststride, \
- uint8_t *_src, \
+ const uint8_t *_src, \
ptrdiff_t _srcstride, \
- int16_t *src2, int height, \
+ const int16_t *src2, int height, \
intptr_t mx, intptr_t my, \
int width) \
{ \
@@ -835,9 +835,9 @@ PUT_HEVC_EPEL_BI_HV(32, 8, -32, -64, -32);
#define PUT_HEVC_PEL_BI_PIXELS(w, x_step, src_step, dst_step, src2_step) \
void ff_hevc_put_hevc_pel_bi_pixels##w##_8_mmi(uint8_t *_dst, \
ptrdiff_t _dststride, \
- uint8_t *_src, \
+ const uint8_t *_src, \
ptrdiff_t _srcstride, \
- int16_t *src2, int height, \
+ const int16_t *src2, int height, \
intptr_t mx, intptr_t my, \
int width) \
{ \
@@ -945,7 +945,7 @@ PUT_HEVC_PEL_BI_PIXELS(64, 8, -64, -64, -128);
#define PUT_HEVC_QPEL_UNI_HV(w, x_step, src_step, dst_step, tmp_step) \
void ff_hevc_put_hevc_qpel_uni_hv##w##_8_mmi(uint8_t *_dst, \
ptrdiff_t _dststride, \
- uint8_t *_src, \
+ const uint8_t *_src, \
ptrdiff_t _srcstride, \
int height, \
intptr_t mx, intptr_t my, \
diff --git a/libavcodec/mips/hevcdsp_msa.c b/libavcodec/mips/hevcdsp_msa.c
index 2c57ec857a..8841a31369 100644
--- a/libavcodec/mips/hevcdsp_msa.c
+++ b/libavcodec/mips/hevcdsp_msa.c
@@ -29,7 +29,7 @@ static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
0, 1, 1, 2, 2, 3, 3, 4, 16, 17, 17, 18, 18, 19, 19, 20
};
-static void hevc_copy_4w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_copy_4w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -77,7 +77,7 @@ static void hevc_copy_4w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_6w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_copy_6w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -101,7 +101,7 @@ static void hevc_copy_6w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_8w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_copy_8w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -162,7 +162,7 @@ static void hevc_copy_8w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_12w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_copy_12w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -199,7 +199,7 @@ static void hevc_copy_12w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_16w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_copy_16w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -290,7 +290,7 @@ static void hevc_copy_16w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_24w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_copy_24w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -319,7 +319,7 @@ static void hevc_copy_24w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_32w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_copy_32w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -357,7 +357,7 @@ static void hevc_copy_32w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_48w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_copy_48w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -408,7 +408,7 @@ static void hevc_copy_48w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_copy_64w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_copy_64w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
int32_t height)
{
@@ -445,7 +445,7 @@ static void hevc_copy_64w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_4w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_4w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -500,7 +500,7 @@ static void hevc_hz_8t_4w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_8w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_8w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -555,7 +555,7 @@ static void hevc_hz_8t_8w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_12w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_12w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -630,7 +630,7 @@ static void hevc_hz_8t_12w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_16w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_16w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -687,7 +687,7 @@ static void hevc_hz_8t_16w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_24w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_24w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -762,7 +762,7 @@ static void hevc_hz_8t_24w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_32w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_32w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -822,7 +822,7 @@ static void hevc_hz_8t_32w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_48w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_48w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -893,7 +893,7 @@ static void hevc_hz_8t_48w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hz_8t_64w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hz_8t_64w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -987,7 +987,7 @@ static void hevc_hz_8t_64w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_vt_8t_4w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_4w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1057,7 +1057,7 @@ static void hevc_vt_8t_4w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_vt_8t_8w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_8w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1120,7 +1120,7 @@ static void hevc_vt_8t_8w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_vt_8t_12w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_12w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1207,7 +1207,7 @@ static void hevc_vt_8t_12w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_vt_8t_16multx4mult_msa(uint8_t *src,
+static void hevc_vt_8t_16multx4mult_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -1215,7 +1215,7 @@ static void hevc_vt_8t_16multx4mult_msa(uint8_t *src,
int32_t height,
int32_t width)
{
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
int16_t *dst_tmp;
int32_t loop_cnt, cnt;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
@@ -1315,7 +1315,7 @@ static void hevc_vt_8t_16multx4mult_msa(uint8_t *src,
}
}
-static void hevc_vt_8t_16w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_16w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1323,7 +1323,7 @@ static void hevc_vt_8t_16w_msa(uint8_t *src, int32_t src_stride,
filter, height, 16);
}
-static void hevc_vt_8t_24w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_24w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1333,7 +1333,7 @@ static void hevc_vt_8t_24w_msa(uint8_t *src, int32_t src_stride,
filter, height);
}
-static void hevc_vt_8t_32w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_32w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1341,7 +1341,7 @@ static void hevc_vt_8t_32w_msa(uint8_t *src, int32_t src_stride,
filter, height, 32);
}
-static void hevc_vt_8t_48w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_48w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1349,7 +1349,7 @@ static void hevc_vt_8t_48w_msa(uint8_t *src, int32_t src_stride,
filter, height, 48);
}
-static void hevc_vt_8t_64w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_vt_8t_64w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -1357,7 +1357,7 @@ static void hevc_vt_8t_64w_msa(uint8_t *src, int32_t src_stride,
filter, height, 64);
}
-static void hevc_hv_8t_4w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_4w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1464,7 +1464,7 @@ static void hevc_hv_8t_4w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hv_8t_8multx1mult_msa(uint8_t *src,
+static void hevc_hv_8t_8multx1mult_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -1473,7 +1473,7 @@ static void hevc_hv_8t_8multx1mult_msa(uint8_t *src,
int32_t height, int32_t width)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
int16_t *dst_tmp;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7;
v8i16 filt0, filt1, filt2, filt3;
@@ -1591,7 +1591,7 @@ static void hevc_hv_8t_8multx1mult_msa(uint8_t *src,
}
}
-static void hevc_hv_8t_8w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_8w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1600,13 +1600,13 @@ static void hevc_hv_8t_8w_msa(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 8);
}
-static void hevc_hv_8t_12w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_12w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
{
uint32_t loop_cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
int16_t *dst_tmp;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
v16i8 mask0, mask1, mask2, mask3, mask4, mask5, mask6, mask7;
@@ -1795,7 +1795,7 @@ static void hevc_hv_8t_12w_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hv_8t_16w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_16w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1804,7 +1804,7 @@ static void hevc_hv_8t_16w_msa(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 16);
}
-static void hevc_hv_8t_24w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_24w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1813,7 +1813,7 @@ static void hevc_hv_8t_24w_msa(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 24);
}
-static void hevc_hv_8t_32w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_32w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1822,7 +1822,7 @@ static void hevc_hv_8t_32w_msa(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 32);
}
-static void hevc_hv_8t_48w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_48w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1831,7 +1831,7 @@ static void hevc_hv_8t_48w_msa(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 48);
}
-static void hevc_hv_8t_64w_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hv_8t_64w_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x, const int8_t *filter_y,
int32_t height)
@@ -1840,7 +1840,7 @@ static void hevc_hv_8t_64w_msa(uint8_t *src, int32_t src_stride,
filter_x, filter_y, height, 64);
}
-static void hevc_hz_4t_4x2_msa(uint8_t *src,
+static void hevc_hz_4t_4x2_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -1873,7 +1873,7 @@ static void hevc_hz_4t_4x2_msa(uint8_t *src,
ST_D2(dst0, 0, 1, dst, dst_stride);
}
-static void hevc_hz_4t_4x4_msa(uint8_t *src,
+static void hevc_hz_4t_4x4_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -1910,7 +1910,7 @@ static void hevc_hz_4t_4x4_msa(uint8_t *src,
ST_D4(dst0, dst1, 0, 1, 0, 1, dst, dst_stride);
}
-static void hevc_hz_4t_4x8multiple_msa(uint8_t *src,
+static void hevc_hz_4t_4x8multiple_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -1959,7 +1959,7 @@ static void hevc_hz_4t_4x8multiple_msa(uint8_t *src,
}
}
-static void hevc_hz_4t_4w_msa(uint8_t *src,
+static void hevc_hz_4t_4w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -1976,7 +1976,7 @@ static void hevc_hz_4t_4w_msa(uint8_t *src,
}
}
-static void hevc_hz_4t_6w_msa(uint8_t *src,
+static void hevc_hz_4t_6w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2047,7 +2047,7 @@ static void hevc_hz_4t_6w_msa(uint8_t *src,
}
}
-static void hevc_hz_4t_8x2multiple_msa(uint8_t *src,
+static void hevc_hz_4t_8x2multiple_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2091,7 +2091,7 @@ static void hevc_hz_4t_8x2multiple_msa(uint8_t *src,
}
}
-static void hevc_hz_4t_8x4multiple_msa(uint8_t *src,
+static void hevc_hz_4t_8x4multiple_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2144,7 +2144,7 @@ static void hevc_hz_4t_8x4multiple_msa(uint8_t *src,
}
}
-static void hevc_hz_4t_8w_msa(uint8_t *src,
+static void hevc_hz_4t_8w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2160,7 +2160,7 @@ static void hevc_hz_4t_8w_msa(uint8_t *src,
}
}
-static void hevc_hz_4t_12w_msa(uint8_t *src,
+static void hevc_hz_4t_12w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2221,7 +2221,7 @@ static void hevc_hz_4t_12w_msa(uint8_t *src,
}
}
-static void hevc_hz_4t_16w_msa(uint8_t *src,
+static void hevc_hz_4t_16w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2293,7 +2293,7 @@ static void hevc_hz_4t_16w_msa(uint8_t *src,
}
}
-static void hevc_hz_4t_24w_msa(uint8_t *src,
+static void hevc_hz_4t_24w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2394,7 +2394,7 @@ static void hevc_hz_4t_24w_msa(uint8_t *src,
}
}
-static void hevc_hz_4t_32w_msa(uint8_t *src,
+static void hevc_hz_4t_32w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2446,7 +2446,7 @@ static void hevc_hz_4t_32w_msa(uint8_t *src,
}
}
-static void hevc_vt_4t_4x2_msa(uint8_t *src,
+static void hevc_vt_4t_4x2_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2479,7 +2479,7 @@ static void hevc_vt_4t_4x2_msa(uint8_t *src,
ST_D2(dst10, 0, 1, dst, dst_stride);
}
-static void hevc_vt_4t_4x4_msa(uint8_t *src,
+static void hevc_vt_4t_4x4_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2516,7 +2516,7 @@ static void hevc_vt_4t_4x4_msa(uint8_t *src,
ST_D4(dst10, dst32, 0, 1, 0, 1, dst, dst_stride);
}
-static void hevc_vt_4t_4x8_msa(uint8_t *src,
+static void hevc_vt_4t_4x8_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2565,7 +2565,7 @@ static void hevc_vt_4t_4x8_msa(uint8_t *src,
ST_D8(dst10, dst32, dst54, dst76, 0, 1, 0, 1, 0, 1, 0, 1, dst, dst_stride);
}
-static void hevc_vt_4t_4x16_msa(uint8_t *src, int32_t src_stride,
+static void hevc_vt_4t_4x16_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter, int32_t height)
{
@@ -2635,7 +2635,7 @@ static void hevc_vt_4t_4x16_msa(uint8_t *src, int32_t src_stride,
ST_D8(dst10, dst32, dst54, dst76, 0, 1, 0, 1, 0, 1, 0, 1, dst, dst_stride);
}
-static void hevc_vt_4t_4w_msa(uint8_t *src,
+static void hevc_vt_4t_4w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2653,7 +2653,7 @@ static void hevc_vt_4t_4w_msa(uint8_t *src,
}
}
-static void hevc_vt_4t_6w_msa(uint8_t *src,
+static void hevc_vt_4t_6w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2727,7 +2727,7 @@ static void hevc_vt_4t_6w_msa(uint8_t *src,
}
}
-static void hevc_vt_4t_8x2_msa(uint8_t *src,
+static void hevc_vt_4t_8x2_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2762,7 +2762,7 @@ static void hevc_vt_4t_8x2_msa(uint8_t *src,
ST_SH2(dst0_r, dst1_r, dst, dst_stride);
}
-static void hevc_vt_4t_8x6_msa(uint8_t *src,
+static void hevc_vt_4t_8x6_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2824,7 +2824,7 @@ static void hevc_vt_4t_8x6_msa(uint8_t *src,
ST_SH2(dst0_r, dst1_r, dst, dst_stride);
}
-static void hevc_vt_4t_8x4multiple_msa(uint8_t *src,
+static void hevc_vt_4t_8x4multiple_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2873,7 +2873,7 @@ static void hevc_vt_4t_8x4multiple_msa(uint8_t *src,
}
}
-static void hevc_vt_4t_8w_msa(uint8_t *src,
+static void hevc_vt_4t_8w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2890,7 +2890,7 @@ static void hevc_vt_4t_8w_msa(uint8_t *src,
}
}
-static void hevc_vt_4t_12w_msa(uint8_t *src,
+static void hevc_vt_4t_12w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -2961,7 +2961,7 @@ static void hevc_vt_4t_12w_msa(uint8_t *src,
}
}
-static void hevc_vt_4t_16w_msa(uint8_t *src,
+static void hevc_vt_4t_16w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3028,7 +3028,7 @@ static void hevc_vt_4t_16w_msa(uint8_t *src,
}
}
-static void hevc_vt_4t_24w_msa(uint8_t *src,
+static void hevc_vt_4t_24w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3126,7 +3126,7 @@ static void hevc_vt_4t_24w_msa(uint8_t *src,
}
}
-static void hevc_vt_4t_32w_msa(uint8_t *src,
+static void hevc_vt_4t_32w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3232,7 +3232,7 @@ static void hevc_vt_4t_32w_msa(uint8_t *src,
}
}
-static void hevc_hv_4t_4x2_msa(uint8_t *src,
+static void hevc_hv_4t_4x2_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3286,7 +3286,7 @@ static void hevc_hv_4t_4x2_msa(uint8_t *src,
ST_D2(dst0, 0, 1, dst, dst_stride);
}
-static void hevc_hv_4t_4x4_msa(uint8_t *src,
+static void hevc_hv_4t_4x4_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3349,7 +3349,7 @@ static void hevc_hv_4t_4x4_msa(uint8_t *src,
}
-static void hevc_hv_4t_4multx8mult_msa(uint8_t *src,
+static void hevc_hv_4t_4multx8mult_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3445,7 +3445,7 @@ static void hevc_hv_4t_4multx8mult_msa(uint8_t *src,
}
}
-static void hevc_hv_4t_4w_msa(uint8_t *src,
+static void hevc_hv_4t_4w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3465,7 +3465,7 @@ static void hevc_hv_4t_4w_msa(uint8_t *src,
}
}
-static void hevc_hv_4t_6w_msa(uint8_t *src,
+static void hevc_hv_4t_6w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3590,7 +3590,7 @@ static void hevc_hv_4t_6w_msa(uint8_t *src,
ST_W4(tmp5, 0, 1, 2, 3, dst + 4, dst_stride);
}
-static void hevc_hv_4t_8x2_msa(uint8_t *src,
+static void hevc_hv_4t_8x2_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3657,7 +3657,7 @@ static void hevc_hv_4t_8x2_msa(uint8_t *src,
ST_SW2(dst0_r, dst1_r, dst, dst_stride);
}
-static void hevc_hv_4t_8multx4_msa(uint8_t *src, int32_t src_stride,
+static void hevc_hv_4t_8multx4_msa(const uint8_t *src, int32_t src_stride,
int16_t *dst, int32_t dst_stride,
const int8_t *filter_x,
const int8_t *filter_y, int32_t width8mult)
@@ -3741,7 +3741,7 @@ static void hevc_hv_4t_8multx4_msa(uint8_t *src, int32_t src_stride,
}
}
-static void hevc_hv_4t_8x6_msa(uint8_t *src,
+static void hevc_hv_4t_8x6_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3852,7 +3852,7 @@ static void hevc_hv_4t_8x6_msa(uint8_t *src,
ST_SW2(dst4_r, dst5_r, dst, dst_stride);
}
-static void hevc_hv_4t_8multx4mult_msa(uint8_t *src,
+static void hevc_hv_4t_8multx4mult_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3862,7 +3862,7 @@ static void hevc_hv_4t_8multx4mult_msa(uint8_t *src,
int32_t width8mult)
{
uint32_t loop_cnt, cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
int16_t *dst_tmp;
v16i8 src0, src1, src2, src3, src4, src5, src6;
v8i16 filt0, filt1;
@@ -3969,7 +3969,7 @@ static void hevc_hv_4t_8multx4mult_msa(uint8_t *src,
}
}
-static void hevc_hv_4t_8w_msa(uint8_t *src,
+static void hevc_hv_4t_8w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -3993,7 +3993,7 @@ static void hevc_hv_4t_8w_msa(uint8_t *src,
}
}
-static void hevc_hv_4t_12w_msa(uint8_t *src,
+static void hevc_hv_4t_12w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -4002,7 +4002,7 @@ static void hevc_hv_4t_12w_msa(uint8_t *src,
int32_t height)
{
uint32_t loop_cnt;
- uint8_t *src_tmp;
+ const uint8_t *src_tmp;
int16_t *dst_tmp;
v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10;
v16i8 vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7;
@@ -4166,7 +4166,7 @@ static void hevc_hv_4t_12w_msa(uint8_t *src,
}
}
-static void hevc_hv_4t_16w_msa(uint8_t *src,
+static void hevc_hv_4t_16w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -4183,7 +4183,7 @@ static void hevc_hv_4t_16w_msa(uint8_t *src,
}
}
-static void hevc_hv_4t_24w_msa(uint8_t *src,
+static void hevc_hv_4t_24w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -4195,7 +4195,7 @@ static void hevc_hv_4t_24w_msa(uint8_t *src,
filter_x, filter_y, height, 3);
}
-static void hevc_hv_4t_32w_msa(uint8_t *src,
+static void hevc_hv_4t_32w_msa(const uint8_t *src,
int32_t src_stride,
int16_t *dst,
int32_t dst_stride,
@@ -4209,7 +4209,7 @@ static void hevc_hv_4t_32w_msa(uint8_t *src,
#define MC_COPY(WIDTH) \
void ff_hevc_put_hevc_pel_pixels##WIDTH##_8_msa(int16_t *dst, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -4233,7 +4233,7 @@ MC_COPY(64);
#define MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR) \
void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_msa(int16_t *dst, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
@@ -4284,7 +4284,7 @@ MC(epel, v, 32, 4, vt, my);
#define MC_HV(PEL, WIDTH, TAP) \
void ff_hevc_put_hevc_##PEL##_hv##WIDTH##_8_msa(int16_t *dst, \
- uint8_t *src, \
+ const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
diff --git a/libavcodec/x86/hevc_add_res.asm b/libavcodec/x86/hevc_add_res.asm
index c6c40078a0..3ecbd4269c 100644
--- a/libavcodec/x86/hevc_add_res.asm
+++ b/libavcodec/x86/hevc_add_res.asm
@@ -47,7 +47,7 @@ cextern pw_1023
INIT_MMX mmxext
-; void ff_hevc_add_residual_4_8_mmxext(uint8_t *dst, int16_t *res, ptrdiff_t stride)
+; void ff_hevc_add_residual_4_8_mmxext(uint8_t *dst, const int16_t *res, ptrdiff_t stride)
cglobal hevc_add_residual_4_8, 3, 3, 6
pxor m4, m4
ADD_RES_MMX_4_8
@@ -118,7 +118,7 @@ cglobal hevc_add_residual_4_8, 3, 3, 6
%macro TRANSFORM_ADD_8 0
-; void ff_hevc_add_residual_8_8_<opt>(uint8_t *dst, int16_t *res, ptrdiff_t stride)
+; void ff_hevc_add_residual_8_8_<opt>(uint8_t *dst, const int16_t *res, ptrdiff_t stride)
cglobal hevc_add_residual_8_8, 3, 4, 8
pxor m4, m4
lea r3, [r2*3]
@@ -128,7 +128,7 @@ cglobal hevc_add_residual_8_8, 3, 4, 8
ADD_RES_SSE_8_8
RET
-; void ff_hevc_add_residual_16_8_<opt>(uint8_t *dst, int16_t *res, ptrdiff_t stride)
+; void ff_hevc_add_residual_16_8_<opt>(uint8_t *dst, const int16_t *res, ptrdiff_t stride)
cglobal hevc_add_residual_16_8, 3, 5, 7
pxor m0, m0
lea r3, [r2*3]
@@ -142,7 +142,7 @@ cglobal hevc_add_residual_16_8, 3, 5, 7
jg .loop
RET
-; void ff_hevc_add_residual_32_8_<opt>(uint8_t *dst, int16_t *res, ptrdiff_t stride)
+; void ff_hevc_add_residual_32_8_<opt>(uint8_t *dst, const int16_t *res, ptrdiff_t stride)
cglobal hevc_add_residual_32_8, 3, 5, 7
pxor m0, m0
mov r4d, 16
@@ -163,7 +163,7 @@ TRANSFORM_ADD_8
%if HAVE_AVX2_EXTERNAL
INIT_YMM avx2
-; void ff_hevc_add_residual_32_8_avx2(uint8_t *dst, int16_t *res, ptrdiff_t stride)
+; void ff_hevc_add_residual_32_8_avx2(uint8_t *dst, const int16_t *res, ptrdiff_t stride)
cglobal hevc_add_residual_32_8, 3, 5, 7
pxor m0, m0
lea r3, [r2*3]
@@ -289,7 +289,7 @@ cglobal hevc_add_residual_32_8, 3, 5, 7
mova [%1+%2+32], m3
%endmacro
-; void ff_hevc_add_residual_<4|8|16|32>_10(pixel *dst, int16_t *block, ptrdiff_t stride)
+; void ff_hevc_add_residual_<4|8|16|32>_10(pixel *dst, const int16_t *block, ptrdiff_t stride)
INIT_MMX mmxext
cglobal hevc_add_residual_4_10, 3, 3, 6
pxor m2, m2
diff --git a/libavcodec/x86/hevc_mc.asm b/libavcodec/x86/hevc_mc.asm
index e159adccc7..eb267453fe 100644
--- a/libavcodec/x86/hevc_mc.asm
+++ b/libavcodec/x86/hevc_mc.asm
@@ -711,7 +711,7 @@ SECTION .text
; ******************************
; void put_hevc_mc_pixels(int16_t *dst, ptrdiff_t dststride,
-; uint8_t *_src, ptrdiff_t _srcstride,
+; const uint8_t *_src, ptrdiff_t _srcstride,
; int height, int mx, int my)
; ******************************
@@ -765,7 +765,7 @@ cglobal hevc_put_hevc_bi_pel_pixels%1_%2, 6, 6, 6, dst, dststride, src, srcstrid
; ******************************
; void put_hevc_epel_hX(int16_t *dst, ptrdiff_t dststride,
-; uint8_t *_src, ptrdiff_t _srcstride,
+; const uint8_t *_src, ptrdiff_t _srcstride,
; int height, int mx, int my, int width);
; ******************************
@@ -820,7 +820,7 @@ cglobal hevc_put_hevc_bi_epel_h%1_%2, 7, 8, XMM_REGS, dst, dststride, src, srcst
; ******************************
; void put_hevc_epel_v(int16_t *dst, ptrdiff_t dststride,
-; uint8_t *_src, ptrdiff_t _srcstride,
+; const uint8_t *_src, ptrdiff_t _srcstride,
; int height, int mx, int my, int width)
; ******************************
@@ -877,7 +877,7 @@ cglobal hevc_put_hevc_bi_epel_v%1_%2, 6, 8, XMM_REGS, dst, dststride, src, srcst
; ******************************
; void put_hevc_epel_hv(int16_t *dst, ptrdiff_t dststride,
-; uint8_t *_src, ptrdiff_t _srcstride,
+; const uint8_t *_src, ptrdiff_t _srcstride,
; int height, int mx, int my, int width)
; ******************************
@@ -1088,7 +1088,7 @@ cglobal hevc_put_hevc_bi_epel_hv%1_%2, 8, 9, 16, dst, dststride, src, srcstride,
; ******************************
; void put_hevc_qpel_hX_X_X(int16_t *dst, ptrdiff_t dststride,
-; uint8_t *_src, ptrdiff_t _srcstride,
+; const uint8_t *_src, ptrdiff_t _srcstride,
; int height, int mx, int my, int width)
; ******************************
@@ -1144,7 +1144,7 @@ cglobal hevc_put_hevc_bi_qpel_h%1_%2, 7, 8, 16 , dst, dststride, src, srcstride,
; ******************************
; void put_hevc_qpel_vX_X_X(int16_t *dst, ptrdiff_t dststride,
-; uint8_t *_src, ptrdiff_t _srcstride,
+; const uint8_t *_src, ptrdiff_t _srcstride,
; int height, int mx, int my, int width)
; ******************************
@@ -1206,7 +1206,7 @@ cglobal hevc_put_hevc_bi_qpel_v%1_%2, 6, 10, 16, dst, dststride, src, srcstride,
; ******************************
; void put_hevc_qpel_hvX_X(int16_t *dst, ptrdiff_t dststride,
-; uint8_t *_src, ptrdiff_t _srcstride,
+; const uint8_t *_src, ptrdiff_t _srcstride,
; int height, int mx, int my)
; ******************************
%macro HEVC_PUT_HEVC_QPEL_HV 2
diff --git a/libavcodec/x86/hevc_sao.asm b/libavcodec/x86/hevc_sao.asm
index 756adfee57..2eb8924da8 100644
--- a/libavcodec/x86/hevc_sao.asm
+++ b/libavcodec/x86/hevc_sao.asm
@@ -119,7 +119,7 @@ DEFINE_ARGS dst, src, dststride, srcstride, offset, height
%endif ; ARCH
%endmacro
-;void ff_hevc_sao_band_filter_<width>_8_<opt>(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src,
+;void ff_hevc_sao_band_filter_<width>_8_<opt>(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src,
; int16_t *sao_offset_val, int sao_left_class, int width, int height);
%macro HEVC_SAO_BAND_FILTER 2
cglobal hevc_sao_band_filter_%1_8, 6, 6, 15, 7*mmsize*ARCH_X86_32, dst, src, dststride, srcstride, offset, left
diff --git a/libavcodec/x86/hevc_sao_10bit.asm b/libavcodec/x86/hevc_sao_10bit.asm
index b30583dd2f..38005740e5 100644
--- a/libavcodec/x86/hevc_sao_10bit.asm
+++ b/libavcodec/x86/hevc_sao_10bit.asm
@@ -92,7 +92,7 @@ DEFINE_ARGS dst, src, dststride, srcstride, offset, height
mov heightd, r7m
%endmacro
-;void ff_hevc_sao_band_filter_<width>_<depth>_<opt>(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src,
+;void ff_hevc_sao_band_filter_<width>_<depth>_<opt>(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src,
; int16_t *sao_offset_val, int sao_left_class, int width, int height);
%macro HEVC_SAO_BAND_FILTER 3
cglobal hevc_sao_band_filter_%2_%1, 6, 6, 15, 7*mmsize*ARCH_X86_32, dst, src, dststride, srcstride, offset, left
diff --git a/libavcodec/x86/hevcdsp.h b/libavcodec/x86/hevcdsp.h
index 24e35bc032..037519fad4 100644
--- a/libavcodec/x86/hevcdsp.h
+++ b/libavcodec/x86/hevcdsp.h
@@ -38,11 +38,11 @@ dst ## _bi_w[idx1][idx2][idx3] = ff_hevc_put_hevc_bi_w_ ## name ## _ ## D ## _##
#define PEL_PROTOTYPE(name, D, opt) \
-void ff_hevc_put_hevc_ ## name ## _ ## D ## _##opt(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); \
-void ff_hevc_put_hevc_bi_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); \
-void ff_hevc_put_hevc_uni_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); \
-void ff_hevc_put_hevc_uni_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width); \
-void ff_hevc_put_hevc_bi_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width)
+void ff_hevc_put_hevc_ ## name ## _ ## D ## _##opt(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); \
+void ff_hevc_put_hevc_bi_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); \
+void ff_hevc_put_hevc_uni_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); \
+void ff_hevc_put_hevc_uni_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width); \
+void ff_hevc_put_hevc_bi_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width)
///////////////////////////////////////////////////////////////////////////////
@@ -71,8 +71,8 @@ void ff_hevc_put_hevc_bi_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t
PEL_PROTOTYPE(fname##64, bitd, opt)
#define WEIGHTING_PROTOTYPE(width, bitd, opt) \
-void ff_hevc_put_hevc_uni_w##width##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, int16_t *_src, int height, int denom, int _wx, int _ox); \
-void ff_hevc_put_hevc_bi_w##width##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, int16_t *_src, int16_t *_src2, int height, int denom, int _wx0, int _wx1, int _ox0, int _ox1)
+void ff_hevc_put_hevc_uni_w##width##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, const int16_t *_src, int height, int denom, int _wx, int _ox); \
+void ff_hevc_put_hevc_bi_w##width##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, const int16_t *_src, const int16_t *_src2, int height, int denom, int _wx0, int _wx1, int _ox0, int _ox1)
#define WEIGHTING_PROTOTYPES(bitd, opt) \
WEIGHTING_PROTOTYPE(2, bitd, opt); \
@@ -94,38 +94,38 @@ EPEL_PROTOTYPES(pel_pixels , 8, sse4);
EPEL_PROTOTYPES(pel_pixels , 10, sse4);
EPEL_PROTOTYPES(pel_pixels , 12, sse4);
-void ff_hevc_put_hevc_pel_pixels16_8_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_pel_pixels24_8_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_pel_pixels32_8_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_pel_pixels48_8_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_pel_pixels64_8_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_pel_pixels16_8_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_pel_pixels24_8_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_pel_pixels32_8_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_pel_pixels48_8_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_pel_pixels64_8_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_pel_pixels16_10_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_pel_pixels24_10_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_pel_pixels32_10_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_pel_pixels48_10_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_pel_pixels64_10_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_pel_pixels16_10_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_pel_pixels24_10_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_pel_pixels32_10_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_pel_pixels48_10_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_pel_pixels64_10_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_uni_pel_pixels32_8_avx2(uint8_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_uni_pel_pixels48_8_avx2(uint8_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_uni_pel_pixels64_8_avx2(uint8_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
-void ff_hevc_put_hevc_uni_pel_pixels96_8_avx2(uint8_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); //used for 10bit
-void ff_hevc_put_hevc_uni_pel_pixels128_8_avx2(uint8_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);//used for 10bit
+void ff_hevc_put_hevc_uni_pel_pixels32_8_avx2(uint8_t *dst, ptrdiff_t dststride,const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_uni_pel_pixels48_8_avx2(uint8_t *dst, ptrdiff_t dststride,const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_uni_pel_pixels64_8_avx2(uint8_t *dst, ptrdiff_t dststride,const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);
+void ff_hevc_put_hevc_uni_pel_pixels96_8_avx2(uint8_t *dst, ptrdiff_t dststride,const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); //used for 10bit
+void ff_hevc_put_hevc_uni_pel_pixels128_8_avx2(uint8_t *dst, ptrdiff_t dststride,const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);//used for 10bit
-void ff_hevc_put_hevc_bi_pel_pixels16_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_bi_pel_pixels24_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_bi_pel_pixels32_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_bi_pel_pixels48_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_bi_pel_pixels64_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_bi_pel_pixels16_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_bi_pel_pixels24_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_bi_pel_pixels32_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_bi_pel_pixels48_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_bi_pel_pixels64_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_bi_pel_pixels16_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_bi_pel_pixels24_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_bi_pel_pixels32_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_bi_pel_pixels48_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_bi_pel_pixels64_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_bi_pel_pixels16_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_bi_pel_pixels24_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_bi_pel_pixels32_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_bi_pel_pixels48_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_bi_pel_pixels64_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width);
///////////////////////////////////////////////////////////////////////////////
// EPEL
@@ -233,34 +233,34 @@ WEIGHTING_PROTOTYPES(8, sse4);
WEIGHTING_PROTOTYPES(10, sse4);
WEIGHTING_PROTOTYPES(12, sse4);
-void ff_hevc_put_hevc_qpel_h4_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_qpel_h8_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_qpel_h16_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_qpel_h32_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_qpel_h64_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
-void ff_hevc_put_hevc_qpel_hv8_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_qpel_h4_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_qpel_h8_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_qpel_h16_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_qpel_h32_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_qpel_h64_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
+void ff_hevc_put_hevc_qpel_hv8_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width);
///////////////////////////////////////////////////////////////////////////////
// TRANSFORM_ADD
///////////////////////////////////////////////////////////////////////////////
-void ff_hevc_add_residual_4_8_mmxext(uint8_t *dst, int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_8_8_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_16_8_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_32_8_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_4_8_mmxext(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_8_8_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_16_8_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_32_8_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_8_8_avx(uint8_t *dst, int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_16_8_avx(uint8_t *dst, int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_32_8_avx(uint8_t *dst, int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_8_8_avx(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_16_8_avx(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_32_8_avx(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_32_8_avx2(uint8_t *dst, int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_32_8_avx2(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_4_10_mmxext(uint8_t *dst, int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_8_10_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_16_10_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_32_10_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_4_10_mmxext(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_8_10_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_16_10_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_32_10_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_16_10_avx2(uint8_t *dst, int16_t *res, ptrdiff_t stride);
-void ff_hevc_add_residual_32_10_avx2(uint8_t *dst, int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_16_10_avx2(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
+void ff_hevc_add_residual_32_10_avx2(uint8_t *dst, const int16_t *res, ptrdiff_t stride);
#endif // AVCODEC_X86_HEVCDSP_H
diff --git a/libavcodec/x86/hevcdsp_init.c b/libavcodec/x86/hevcdsp_init.c
index f7a5b28bec..6f45e5e0db 100644
--- a/libavcodec/x86/hevcdsp_init.c
+++ b/libavcodec/x86/hevcdsp_init.c
@@ -29,10 +29,10 @@
#include "libavcodec/x86/hevcdsp.h"
#define LFC_FUNC(DIR, DEPTH, OPT) \
-void ff_hevc_ ## DIR ## _loop_filter_chroma_ ## DEPTH ## _ ## OPT(uint8_t *pix, ptrdiff_t stride, int *tc, uint8_t *no_p, uint8_t *no_q);
+void ff_hevc_ ## DIR ## _loop_filter_chroma_ ## DEPTH ## _ ## OPT(uint8_t *pix, ptrdiff_t stride, const int *tc, const uint8_t *no_p, const uint8_t *no_q);
#define LFL_FUNC(DIR, DEPTH, OPT) \
-void ff_hevc_ ## DIR ## _loop_filter_luma_ ## DEPTH ## _ ## OPT(uint8_t *pix, ptrdiff_t stride, int beta, int *tc, uint8_t *no_p, uint8_t *no_q);
+void ff_hevc_ ## DIR ## _loop_filter_luma_ ## DEPTH ## _ ## OPT(uint8_t *pix, ptrdiff_t stride, int beta, const int *tc, const uint8_t *no_p, const uint8_t *no_q);
#define LFC_FUNCS(type, depth, opt) \
LFC_FUNC(h, depth, opt) \
@@ -85,46 +85,42 @@ IDCT_FUNCS(avx)
#define mc_rep_func(name, bitd, step, W, opt) \
void ff_hevc_put_hevc_##name##W##_##bitd##_##opt(int16_t *_dst, \
- uint8_t *_src, ptrdiff_t _srcstride, int height, \
+ const uint8_t *_src, ptrdiff_t _srcstride, int height, \
intptr_t mx, intptr_t my, int width) \
{ \
int i; \
- uint8_t *src; \
int16_t *dst; \
for (i = 0; i < W; i += step) { \
- src = _src + (i * ((bitd + 7) / 8)); \
+ const uint8_t *src = _src + (i * ((bitd + 7) / 8)); \
dst = _dst + i; \
ff_hevc_put_hevc_##name##step##_##bitd##_##opt(dst, src, _srcstride, height, mx, my, width); \
} \
}
#define mc_rep_uni_func(name, bitd, step, W, opt) \
void ff_hevc_put_hevc_uni_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, \
- uint8_t *_src, ptrdiff_t _srcstride, int height, \
+ const uint8_t *_src, ptrdiff_t _srcstride, int height, \
intptr_t mx, intptr_t my, int width) \
{ \
int i; \
- uint8_t *src; \
uint8_t *dst; \
for (i = 0; i < W; i += step) { \
- src = _src + (i * ((bitd + 7) / 8)); \
+ const uint8_t *src = _src + (i * ((bitd + 7) / 8)); \
dst = _dst + (i * ((bitd + 7) / 8)); \
ff_hevc_put_hevc_uni_##name##step##_##bitd##_##opt(dst, dststride, src, _srcstride, \
height, mx, my, width); \
} \
}
#define mc_rep_bi_func(name, bitd, step, W, opt) \
-void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, uint8_t *_src, \
- ptrdiff_t _srcstride, int16_t* _src2, \
+void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, const uint8_t *_src, \
+ ptrdiff_t _srcstride, const int16_t *_src2, \
int height, intptr_t mx, intptr_t my, int width) \
{ \
int i; \
- uint8_t *src; \
uint8_t *dst; \
- int16_t *src2; \
for (i = 0; i < W ; i += step) { \
- src = _src + (i * ((bitd + 7) / 8)); \
+ const uint8_t *src = _src + (i * ((bitd + 7) / 8)); \
+ const int16_t *src2 = _src2 + i; \
dst = _dst + (i * ((bitd + 7) / 8)); \
- src2 = _src2 + i; \
ff_hevc_put_hevc_bi_##name##step##_##bitd##_##opt(dst, dststride, src, _srcstride, src2, \
height, mx, my, width); \
} \
@@ -137,7 +133,7 @@ void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dst
#define mc_rep_func2(name, bitd, step1, step2, W, opt) \
void ff_hevc_put_hevc_##name##W##_##bitd##_##opt(int16_t *dst, \
- uint8_t *src, ptrdiff_t _srcstride, int height, \
+ const uint8_t *src, ptrdiff_t _srcstride, int height, \
intptr_t mx, intptr_t my, int width) \
{ \
ff_hevc_put_hevc_##name##step1##_##bitd##_##opt(dst, src, _srcstride, height, mx, my, width); \
@@ -146,7 +142,7 @@ void ff_hevc_put_hevc_##name##W##_##bitd##_##opt(int16_t *dst,
}
#define mc_rep_uni_func2(name, bitd, step1, step2, W, opt) \
void ff_hevc_put_hevc_uni_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, \
- uint8_t *src, ptrdiff_t _srcstride, int height, \
+ const uint8_t *src, ptrdiff_t _srcstride, int height, \
intptr_t mx, intptr_t my, int width) \
{ \
ff_hevc_put_hevc_uni_##name##step1##_##bitd##_##opt(dst, dststride, src, _srcstride, height, mx, my, width);\
@@ -155,8 +151,8 @@ void ff_hevc_put_hevc_uni_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dst
height, mx, my, width); \
}
#define mc_rep_bi_func2(name, bitd, step1, step2, W, opt) \
-void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, \
- ptrdiff_t _srcstride, int16_t* src2, \
+void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \
+ ptrdiff_t _srcstride, const int16_t *src2, \
int height, intptr_t mx, intptr_t my, int width) \
{ \
ff_hevc_put_hevc_bi_##name##step1##_##bitd##_##opt(dst, dststride, src, _srcstride, src2, height, mx, my, width);\
@@ -173,7 +169,7 @@ void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dsts
#if ARCH_X86_64 && HAVE_SSE4_EXTERNAL
#define mc_rep_mix_10(name, width1, width2, width3, opt1, opt2, width4) \
-void ff_hevc_put_hevc_##name##width1##_10_##opt1(int16_t *dst, uint8_t *src, ptrdiff_t _srcstride, \
+void ff_hevc_put_hevc_##name##width1##_10_##opt1(int16_t *dst, const uint8_t *src, ptrdiff_t _srcstride, \
int height, intptr_t mx, intptr_t my, int width) \
\
{ \
@@ -182,8 +178,8 @@ void ff_hevc_put_hevc_##name##width1##_10_##opt1(int16_t *dst, uint8_t *src, ptr
}
#define mc_bi_rep_mix_10(name, width1, width2, width3, opt1, opt2, width4) \
-void ff_hevc_put_hevc_bi_##name##width1##_10_##opt1(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, \
- ptrdiff_t _srcstride, int16_t *src2, \
+void ff_hevc_put_hevc_bi_##name##width1##_10_##opt1(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \
+ ptrdiff_t _srcstride, const int16_t *src2, \
int height, intptr_t mx, intptr_t my, int width) \
{ \
ff_hevc_put_hevc_bi_##name##width2##_10_##opt1(dst, dststride, src, _srcstride, src2, \
@@ -194,7 +190,7 @@ void ff_hevc_put_hevc_bi_##name##width1##_10_##opt1(uint8_t *dst, ptrdiff_t dsts
#define mc_uni_rep_mix_10(name, width1, width2, width3, opt1, opt2, width4) \
void ff_hevc_put_hevc_uni_##name##width1##_10_##opt1(uint8_t *dst, ptrdiff_t dststride, \
- uint8_t *src, ptrdiff_t _srcstride, int height, \
+ const uint8_t *src, ptrdiff_t _srcstride, int height, \
intptr_t mx, intptr_t my, int width) \
{ \
ff_hevc_put_hevc_uni_##name##width2##_10_##opt1(dst, dststride, src, _srcstride, \
@@ -209,7 +205,7 @@ mc_bi_rep_mix_10(name, width1, width2, width3, opt1, opt2, width4) \
mc_uni_rep_mix_10(name, width1, width2, width3, opt1, opt2, width4)
#define mc_rep_mix_8(name, width1, width2, width3, opt1, opt2) \
-void ff_hevc_put_hevc_##name##width1##_8_##opt1(int16_t *dst, uint8_t *src, ptrdiff_t _srcstride, \
+void ff_hevc_put_hevc_##name##width1##_8_##opt1(int16_t *dst, const uint8_t *src, ptrdiff_t _srcstride, \
int height, intptr_t mx, intptr_t my, int width) \
\
{ \
@@ -218,8 +214,8 @@ void ff_hevc_put_hevc_##name##width1##_8_##opt1(int16_t *dst, uint8_t *src, ptrd
}
#define mc_bi_rep_mix_8(name, width1, width2, width3, opt1, opt2) \
-void ff_hevc_put_hevc_bi_##name##width1##_8_##opt1(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, \
- ptrdiff_t _srcstride, int16_t* src2, \
+void ff_hevc_put_hevc_bi_##name##width1##_8_##opt1(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \
+ ptrdiff_t _srcstride, const int16_t *src2, \
int height, intptr_t mx, intptr_t my, int width) \
{ \
ff_hevc_put_hevc_bi_##name##width2##_8_##opt1(dst, dststride, src, _srcstride, \
@@ -230,7 +226,7 @@ void ff_hevc_put_hevc_bi_##name##width1##_8_##opt1(uint8_t *dst, ptrdiff_t dstst
#define mc_uni_rep_mix_8(name, width1, width2, width3, opt1, opt2) \
void ff_hevc_put_hevc_uni_##name##width1##_8_##opt1(uint8_t *dst, ptrdiff_t dststride, \
- uint8_t *src, ptrdiff_t _srcstride, int height, \
+ const uint8_t *src, ptrdiff_t _srcstride, int height, \
intptr_t mx, intptr_t my, int width) \
{ \
ff_hevc_put_hevc_uni_##name##width2##_8_##opt1(dst, dststride, src, _srcstride, \
@@ -434,14 +430,13 @@ mc_rep_funcs(qpel_hv,12, 8, 16, sse4)
mc_rep_funcs(qpel_hv,12, 4, 12, sse4)
#define mc_rep_uni_w(bitd, step, W, opt) \
-void ff_hevc_put_hevc_uni_w##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, int16_t *_src, \
+void ff_hevc_put_hevc_uni_w##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, const int16_t *_src, \
int height, int denom, int _wx, int _ox) \
{ \
int i; \
- int16_t *src; \
uint8_t *dst; \
for (i = 0; i < W; i += step) { \
- src= _src + i; \
+ const int16_t *src = _src + i; \
dst= _dst + (i * ((bitd + 7) / 8)); \
ff_hevc_put_hevc_uni_w##step##_##bitd##_##opt(dst, dststride, src, \
height, denom, _wx, _ox); \
@@ -470,17 +465,15 @@ mc_rep_uni_w(12, 8, 48, sse4)
mc_rep_uni_w(12, 8, 64, sse4)
#define mc_rep_bi_w(bitd, step, W, opt) \
-void ff_hevc_put_hevc_bi_w##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, int16_t *_src, \
- int16_t *_src2, int height, \
+void ff_hevc_put_hevc_bi_w##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, const int16_t *_src, \
+ const int16_t *_src2, int height, \
int denom, int _wx0, int _wx1, int _ox0, int _ox1) \
{ \
int i; \
- int16_t *src; \
- int16_t *src2; \
uint8_t *dst; \
for (i = 0; i < W; i += step) { \
- src = _src + i; \
- src2 = _src2 + i; \
+ const int16_t *src = _src + i; \
+ const int16_t *src2 = _src2 + i; \
dst = _dst + (i * ((bitd + 7) / 8)); \
ff_hevc_put_hevc_bi_w##step##_##bitd##_##opt(dst, dststride, src, src2, \
height, denom, _wx0, _wx1, _ox0, _ox1); \
@@ -510,7 +503,7 @@ mc_rep_bi_w(12, 8, 64, sse4)
#define mc_uni_w_func(name, bitd, W, opt) \
void ff_hevc_put_hevc_uni_w_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t _dststride, \
- uint8_t *_src, ptrdiff_t _srcstride, \
+ const uint8_t *_src, ptrdiff_t _srcstride, \
int height, int denom, \
int _wx, int _ox, \
intptr_t mx, intptr_t my, int width) \
@@ -568,8 +561,8 @@ mc_uni_w_funcs(qpel_hv, 12, sse4)
#define mc_bi_w_func(name, bitd, W, opt) \
void ff_hevc_put_hevc_bi_w_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t _dststride, \
- uint8_t *_src, ptrdiff_t _srcstride, \
- int16_t *_src2, \
+ const uint8_t *_src, ptrdiff_t _srcstride, \
+ const int16_t *_src2, \
int height, int denom, \
int _wx0, int _wx1, int _ox0, int _ox1, \
intptr_t mx, intptr_t my, int width) \
@@ -628,16 +621,16 @@ mc_bi_w_funcs(qpel_hv, 12, sse4)
#endif //ARCH_X86_64 && HAVE_SSE4_EXTERNAL
#define SAO_BAND_FILTER_FUNCS(bitd, opt) \
-void ff_hevc_sao_band_filter_8_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \
- int16_t *sao_offset_val, int sao_left_class, int width, int height); \
-void ff_hevc_sao_band_filter_16_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \
- int16_t *sao_offset_val, int sao_left_class, int width, int height); \
-void ff_hevc_sao_band_filter_32_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \
- int16_t *sao_offset_val, int sao_left_class, int width, int height); \
-void ff_hevc_sao_band_filter_48_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \
- int16_t *sao_offset_val, int sao_left_class, int width, int height); \
-void ff_hevc_sao_band_filter_64_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \
- int16_t *sao_offset_val, int sao_left_class, int width, int height);
+void ff_hevc_sao_band_filter_8_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \
+ const int16_t *sao_offset_val, int sao_left_class, int width, int height); \
+void ff_hevc_sao_band_filter_16_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \
+ const int16_t *sao_offset_val, int sao_left_class, int width, int height); \
+void ff_hevc_sao_band_filter_32_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \
+ const int16_t *sao_offset_val, int sao_left_class, int width, int height); \
+void ff_hevc_sao_band_filter_48_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \
+ const int16_t *sao_offset_val, int sao_left_class, int width, int height); \
+void ff_hevc_sao_band_filter_64_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \
+ const int16_t *sao_offset_val, int sao_left_class, int width, int height);
SAO_BAND_FILTER_FUNCS(8, sse2)
SAO_BAND_FILTER_FUNCS(10, sse2)
@@ -657,17 +650,17 @@ SAO_BAND_FILTER_FUNCS(12, avx2)
c->sao_band_filter[4] = ff_hevc_sao_band_filter_64_##bitd##_##opt; \
} while (0)
-#define SAO_EDGE_FILTER_FUNCS(bitd, opt) \
-void ff_hevc_sao_edge_filter_8_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, \
- int eo, int width, int height); \
-void ff_hevc_sao_edge_filter_16_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, \
- int eo, int width, int height); \
-void ff_hevc_sao_edge_filter_32_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, \
- int eo, int width, int height); \
-void ff_hevc_sao_edge_filter_48_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, \
- int eo, int width, int height); \
-void ff_hevc_sao_edge_filter_64_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, \
- int eo, int width, int height); \
+#define SAO_EDGE_FILTER_FUNCS(bitd, opt) \
+void ff_hevc_sao_edge_filter_8_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, \
+ const int16_t *sao_offset_val, int eo, int width, int height); \
+void ff_hevc_sao_edge_filter_16_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, \
+ const int16_t *sao_offset_val, int eo, int width, int height); \
+void ff_hevc_sao_edge_filter_32_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, \
+ const int16_t *sao_offset_val, int eo, int width, int height); \
+void ff_hevc_sao_edge_filter_48_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, \
+ const int16_t *sao_offset_val, int eo, int width, int height); \
+void ff_hevc_sao_edge_filter_64_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, \
+ const int16_t *sao_offset_val, int eo, int width, int height); \
SAO_EDGE_FILTER_FUNCS(8, ssse3)
SAO_EDGE_FILTER_FUNCS(8, avx2)
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH v5 3/4] avcodec/loongarch/h264chroma, vc1dsp_lasx: Add wrapper for __lasx_xvldx
2022-08-02 0:19 [FFmpeg-devel] [PATCH v5 1/4] avcodec/loongarch: Add wrapper for __lsx_vldx Andreas Rheinhardt
2022-08-02 0:23 ` [FFmpeg-devel] [PATCH v5 2/4] avcodec/hevcdsp: Constify src pointers Andreas Rheinhardt
@ 2022-08-02 0:23 ` Andreas Rheinhardt
2022-08-02 0:23 ` [FFmpeg-devel] [PATCH v5 4/4] avcodec/h264chroma: Constify src in h264_chroma_mc_func Andreas Rheinhardt
2022-08-04 1:26 ` [FFmpeg-devel] [PATCH v5 1/4] avcodec/loongarch: Add wrapper for __lsx_vldx Andreas Rheinhardt
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-08-02 0:23 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Shiyou Yin, Lu Wang, Hao Chen, Andreas Rheinhardt
__lasx_xvldx does not accept a pointer to const (in fact,
no function in lasxintrin.h does so), although it is not allowed
to modify the pointed-to buffer. Therefore this commit adds a wrapper
for it in order to constify the H264Chroma API in a later commit.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/loongarch/h264chroma_lasx.c | 94 ++++++++++++++------------
libavcodec/loongarch/vc1dsp_lasx.c | 20 +++---
2 files changed, 61 insertions(+), 53 deletions(-)
diff --git a/libavcodec/loongarch/h264chroma_lasx.c b/libavcodec/loongarch/h264chroma_lasx.c
index 824a78dfc8..bada8bb5ed 100644
--- a/libavcodec/loongarch/h264chroma_lasx.c
+++ b/libavcodec/loongarch/h264chroma_lasx.c
@@ -26,6 +26,10 @@
#include "libavutil/avassert.h"
#include "libavutil/loongarch/loongson_intrinsics.h"
+/* __lasx_xvldx() in lasxintrin.h does not accept a const void*;
+ * remove the following once it does. */
+#define LASX_XVLDX(ptr, stride) __lasx_xvldx((void*)ptr, stride)
+
static const uint8_t chroma_mask_arr[64] = {
0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
@@ -51,7 +55,7 @@ static av_always_inline void avc_chroma_hv_8x4_lasx(uint8_t *src, uint8_t *dst,
__m256i coeff_vt_vec1 = __lasx_xvreplgr2vr_h(coef_ver1);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 0, src, 0, mask, src0);
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
src1, src2, src3, src4);
DUP2_ARG3(__lasx_xvpermi_q, src2, src1, 0x20, src4, src3, 0x20, src1, src3);
src0 = __lasx_xvshuf_b(src0, src0, mask);
@@ -91,10 +95,10 @@ static av_always_inline void avc_chroma_hv_8x8_lasx(uint8_t *src, uint8_t *dst,
__m256i coeff_vt_vec1 = __lasx_xvreplgr2vr_h(coef_ver1);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 0, src, 0, mask, src0);
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
src1, src2, src3, src4);
src += stride_4x;
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
src5, src6, src7, src8);
DUP4_ARG3(__lasx_xvpermi_q, src2, src1, 0x20, src4, src3, 0x20, src6, src5, 0x20,
src8, src7, 0x20, src1, src3, src5, src7);
@@ -141,8 +145,8 @@ static av_always_inline void avc_chroma_hz_8x4_lasx(uint8_t *src, uint8_t *dst,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 0, src, 0, mask, src0);
- DUP2_ARG2(__lasx_xvldx, src, stride, src, stride_2x, src1, src2);
- src3 = __lasx_xvldx(src, stride_3x);
+ DUP2_ARG2(LASX_XVLDX, src, stride, src, stride_2x, src1, src2);
+ src3 = LASX_XVLDX(src, stride_3x);
DUP2_ARG3(__lasx_xvpermi_q, src1, src0, 0x20, src3, src2, 0x20, src0, src2);
DUP2_ARG3(__lasx_xvshuf_b, src0, src0, mask, src2, src2, mask, src0, src2);
DUP2_ARG2(__lasx_xvdp2_h_bu, src0, coeff_vec, src2, coeff_vec, res0, res1);
@@ -170,11 +174,11 @@ static av_always_inline void avc_chroma_hz_8x8_lasx(uint8_t *src, uint8_t *dst,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 0, src, 0, mask, src0);
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
src1, src2, src3, src4);
src += stride_4x;
- DUP2_ARG2(__lasx_xvldx, src, stride, src, stride_2x, src5, src6);
- src7 = __lasx_xvldx(src, stride_3x);
+ DUP2_ARG2(LASX_XVLDX, src, stride, src, stride_2x, src5, src6);
+ src7 = LASX_XVLDX(src, stride_3x);
DUP4_ARG3(__lasx_xvpermi_q, src1, src0, 0x20, src3, src2, 0x20, src5, src4, 0x20,
src7, src6, 0x20, src0, src2, src4, src6);
DUP4_ARG3(__lasx_xvshuf_b, src0, src0, mask, src2, src2, mask, src4, src4, mask,
@@ -212,7 +216,7 @@ static av_always_inline void avc_chroma_hz_nonmult_lasx(uint8_t *src,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
for (row = height >> 2; row--;) {
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src0, src1, src2, src3);
src += stride_4x;
DUP2_ARG3(__lasx_xvpermi_q, src1, src0, 0x20, src3, src2, 0x20, src0, src2);
@@ -228,7 +232,7 @@ static av_always_inline void avc_chroma_hz_nonmult_lasx(uint8_t *src,
if ((height & 3)) {
src0 = __lasx_xvld(src, 0);
- src1 = __lasx_xvldx(src, stride);
+ src1 = LASX_XVLDX(src, stride);
src1 = __lasx_xvpermi_q(src1, src0, 0x20);
src0 = __lasx_xvshuf_b(src1, src1, mask);
res0 = __lasx_xvdp2_h_bu(src0, coeff_vec);
@@ -253,7 +257,7 @@ static av_always_inline void avc_chroma_vt_8x4_lasx(uint8_t *src, uint8_t *dst,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
src0 = __lasx_xvld(src, 0);
src += stride;
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src1, src2, src3, src4);
DUP4_ARG3(__lasx_xvpermi_q, src1, src0, 0x20, src2, src1, 0x20, src3, src2, 0x20,
src4, src3, 0x20, src0, src1, src2, src3);
@@ -282,10 +286,10 @@ static av_always_inline void avc_chroma_vt_8x8_lasx(uint8_t *src, uint8_t *dst,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
src0 = __lasx_xvld(src, 0);
src += stride;
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src1, src2, src3, src4);
src += stride_4x;
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src5, src6, src7, src8);
DUP4_ARG3(__lasx_xvpermi_q, src1, src0, 0x20, src2, src1, 0x20, src3, src2, 0x20,
src4, src3, 0x20, src0, src1, src2, src3);
@@ -402,7 +406,7 @@ static void avc_chroma_hv_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__m256i coeff_vt_vec = __lasx_xvpermi_q(coeff_vt_vec1, coeff_vt_vec0, 0x02);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 32, src, 0, mask, src0);
- DUP2_ARG2(__lasx_xvldx, src, stride, src, stride_2, src1, src2);
+ DUP2_ARG2(LASX_XVLDX, src, stride, src, stride_2, src1, src2);
DUP2_ARG3(__lasx_xvshuf_b, src1, src0, mask, src2, src1, mask, src0, src1);
src0 = __lasx_xvpermi_q(src0, src1, 0x02);
res_hz = __lasx_xvdp2_h_bu(src0, coeff_hz_vec);
@@ -431,7 +435,7 @@ static void avc_chroma_hv_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__m256i coeff_vt_vec1 = __lasx_xvreplgr2vr_h(coef_ver1);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 32, src, 0, mask, src0);
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2, src, stride_3,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2, src, stride_3,
src, stride_4, src1, src2, src3, src4);
DUP4_ARG3(__lasx_xvshuf_b, src1, src0, mask, src2, src1, mask, src3, src2, mask,
src4, src3, mask, src0, src1, src2, src3);
@@ -464,10 +468,10 @@ static void avc_chroma_hv_4x8_lasx(uint8_t *src, uint8_t * dst, ptrdiff_t stride
__m256i coeff_vt_vec1 = __lasx_xvreplgr2vr_h(coef_ver1);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 32, src, 0, mask, src0);
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2, src, stride_3,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2, src, stride_3,
src, stride_4, src1, src2, src3, src4);
src += stride_4;
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2, src, stride_3,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2, src, stride_3,
src, stride_4, src5, src6, src7, src8);
DUP4_ARG3(__lasx_xvshuf_b, src1, src0, mask, src2, src1, mask, src3, src2, mask,
src4, src3, mask, src0, src1, src2, src3);
@@ -519,7 +523,7 @@ static void avc_chroma_hz_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__m256i coeff_vec = __lasx_xvilvl_b(coeff_vec0, coeff_vec1);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 32, src, 0, mask, src0);
- src1 = __lasx_xvldx(src, stride);
+ src1 = LASX_XVLDX(src, stride);
src0 = __lasx_xvshuf_b(src1, src0, mask);
res = __lasx_xvdp2_h_bu(src0, coeff_vec);
res = __lasx_xvslli_h(res, 3);
@@ -540,8 +544,8 @@ static void avc_chroma_hz_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__m256i coeff_vec = __lasx_xvilvl_b(coeff_vec0, coeff_vec1);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 32, src, 0, mask, src0);
- DUP2_ARG2(__lasx_xvldx, src, stride, src, stride_2, src1, src2);
- src3 = __lasx_xvldx(src, stride_3);
+ DUP2_ARG2(LASX_XVLDX, src, stride, src, stride_2, src1, src2);
+ src3 = LASX_XVLDX(src, stride_3);
DUP2_ARG3(__lasx_xvshuf_b, src1, src0, mask, src3, src2, mask, src0, src2);
src0 = __lasx_xvpermi_q(src0, src2, 0x02);
res = __lasx_xvdp2_h_bu(src0, coeff_vec);
@@ -567,11 +571,11 @@ static void avc_chroma_hz_4x8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 32, src, 0, mask, src0);
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2, src, stride_3,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2, src, stride_3,
src, stride_4, src1, src2, src3, src4);
src += stride_4;
- DUP2_ARG2(__lasx_xvldx, src, stride, src, stride_2, src5, src6);
- src7 = __lasx_xvldx(src, stride_3);
+ DUP2_ARG2(LASX_XVLDX, src, stride, src, stride_2, src5, src6);
+ src7 = LASX_XVLDX(src, stride_3);
DUP4_ARG3(__lasx_xvshuf_b, src1, src0, mask, src3, src2, mask, src5, src4, mask,
src7, src6, mask, src0, src2, src4, src6);
DUP2_ARG3(__lasx_xvpermi_q, src0, src2, 0x02, src4, src6, 0x02, src0, src4);
@@ -625,7 +629,7 @@ static void avc_chroma_vt_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__m256i coeff_vec = __lasx_xvilvl_b(coeff_vec0, coeff_vec1);
src0 = __lasx_xvld(src, 0);
- DUP2_ARG2(__lasx_xvldx, src, stride, src, stride << 1, src1, src2);
+ DUP2_ARG2(LASX_XVLDX, src, stride, src, stride << 1, src1, src2);
DUP2_ARG2(__lasx_xvilvl_b, src1, src0, src2, src1, tmp0, tmp1);
tmp0 = __lasx_xvilvl_d(tmp1, tmp0);
res = __lasx_xvdp2_h_bu(tmp0, coeff_vec);
@@ -649,7 +653,7 @@ static void avc_chroma_vt_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__m256i coeff_vec = __lasx_xvilvl_b(coeff_vec0, coeff_vec1);
src0 = __lasx_xvld(src, 0);
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2, src, stride_3,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2, src, stride_3,
src, stride_4, src1, src2, src3, src4);
DUP4_ARG2(__lasx_xvilvl_b, src1, src0, src2, src1, src3, src2, src4, src3,
tmp0, tmp1, tmp2, tmp3);
@@ -679,10 +683,10 @@ static void avc_chroma_vt_4x8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
src0 = __lasx_xvld(src, 0);
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2, src, stride_3,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2, src, stride_3,
src, stride_4, src1, src2, src3, src4);
src += stride_4;
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2, src, stride_3,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2, src, stride_3,
src, stride_4, src5, src6, src7, src8);
DUP4_ARG2(__lasx_xvilvl_b, src1, src0, src2, src1, src3, src2, src4, src3,
tmp0, tmp1, tmp2, tmp3);
@@ -860,7 +864,7 @@ static av_always_inline void avc_chroma_hv_and_aver_dst_8x4_lasx(uint8_t *src,
__m256i coeff_vt_vec1 = __lasx_xvreplgr2vr_h(coef_ver1);
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 0, src, 0, mask, src0);
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
src1, src2, src3, src4);
DUP2_ARG3(__lasx_xvpermi_q, src2, src1, 0x20, src4, src3, 0x20, src1, src3);
src0 = __lasx_xvshuf_b(src0, src0, mask);
@@ -874,7 +878,7 @@ static av_always_inline void avc_chroma_hv_and_aver_dst_8x4_lasx(uint8_t *src,
res_vt0 = __lasx_xvmadd_h(res_vt0, res_hz0, coeff_vt_vec1);
res_vt1 = __lasx_xvmadd_h(res_vt1, res_hz1, coeff_vt_vec1);
out = __lasx_xvssrarni_bu_h(res_vt1, res_vt0, 6);
- DUP4_ARG2(__lasx_xvldx, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
tp0, tp1, tp2, tp3);
DUP2_ARG2(__lasx_xvilvl_d, tp2, tp0, tp3, tp1, tp0, tp2);
tp0 = __lasx_xvpermi_q(tp2, tp0, 0x20);
@@ -907,10 +911,10 @@ static av_always_inline void avc_chroma_hv_and_aver_dst_8x8_lasx(uint8_t *src,
DUP2_ARG2(__lasx_xvld, chroma_mask_arr, 0, src, 0, mask, src0);
src += stride;
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src1, src2, src3, src4);
src += stride_4x;
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src5, src6, src7, src8);
DUP4_ARG3(__lasx_xvpermi_q, src2, src1, 0x20, src4, src3, 0x20, src6, src5, 0x20,
src8, src7, 0x20, src1, src3, src5, src7);
@@ -934,12 +938,12 @@ static av_always_inline void avc_chroma_hv_and_aver_dst_8x8_lasx(uint8_t *src,
res_vt3 = __lasx_xvmadd_h(res_vt3, res_hz3, coeff_vt_vec1);
DUP2_ARG3(__lasx_xvssrarni_bu_h, res_vt1, res_vt0, 6, res_vt3, res_vt2, 6,
out0, out1);
- DUP4_ARG2(__lasx_xvldx, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
tp0, tp1, tp2, tp3);
DUP2_ARG2(__lasx_xvilvl_d, tp2, tp0, tp3, tp1, tp0, tp2);
dst0 = __lasx_xvpermi_q(tp2, tp0, 0x20);
dst += stride_4x;
- DUP4_ARG2(__lasx_xvldx, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
tp0, tp1, tp2, tp3);
dst -= stride_4x;
DUP2_ARG2(__lasx_xvilvl_d, tp2, tp0, tp3, tp1, tp0, tp2);
@@ -973,13 +977,13 @@ static av_always_inline void avc_chroma_hz_and_aver_dst_8x4_lasx(uint8_t *src,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
mask = __lasx_xvld(chroma_mask_arr, 0);
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src0, src1, src2, src3);
DUP2_ARG3(__lasx_xvpermi_q, src1, src0, 0x20, src3, src2, 0x20, src0, src2);
DUP2_ARG3(__lasx_xvshuf_b, src0, src0, mask, src2, src2, mask, src0, src2);
DUP2_ARG2(__lasx_xvdp2_h_bu, src0, coeff_vec, src2, coeff_vec, res0, res1);
out = __lasx_xvssrarni_bu_h(res1, res0, 6);
- DUP4_ARG2(__lasx_xvldx, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
tp0, tp1, tp2, tp3);
DUP2_ARG2(__lasx_xvilvl_d, tp2, tp0, tp3, tp1, tp0, tp2);
tp0 = __lasx_xvpermi_q(tp2, tp0, 0x20);
@@ -1008,10 +1012,10 @@ static av_always_inline void avc_chroma_hz_and_aver_dst_8x8_lasx(uint8_t *src,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
mask = __lasx_xvld(chroma_mask_arr, 0);
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src0, src1, src2, src3);
src += stride_4x;
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src4, src5, src6, src7);
DUP4_ARG3(__lasx_xvpermi_q, src1, src0, 0x20, src3, src2, 0x20, src5, src4, 0x20,
src7, src6, 0x20, src0, src2, src4, src6);
@@ -1020,12 +1024,12 @@ static av_always_inline void avc_chroma_hz_and_aver_dst_8x8_lasx(uint8_t *src,
DUP4_ARG2(__lasx_xvdp2_h_bu, src0, coeff_vec, src2, coeff_vec, src4, coeff_vec, src6,
coeff_vec, res0, res1, res2, res3);
DUP2_ARG3(__lasx_xvssrarni_bu_h, res1, res0, 6, res3, res2, 6, out0, out1);
- DUP4_ARG2(__lasx_xvldx, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
tp0, tp1, tp2, tp3);
DUP2_ARG2(__lasx_xvilvl_d, tp2, tp0, tp3, tp1, tp0, tp2);
dst0 = __lasx_xvpermi_q(tp2, tp0, 0x20);
dst += stride_4x;
- DUP4_ARG2(__lasx_xvldx, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
tp0, tp1, tp2, tp3);
dst -= stride_4x;
DUP2_ARG2(__lasx_xvilvl_d, tp2, tp0, tp3, tp1, tp0, tp2);
@@ -1059,14 +1063,14 @@ static av_always_inline void avc_chroma_vt_and_aver_dst_8x4_lasx(uint8_t *src,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
src0 = __lasx_xvld(src, 0);
- DUP4_ARG2(__lasx_xvldx, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
+ DUP4_ARG2(LASX_XVLDX, src, stride, src, stride_2x, src, stride_3x, src, stride_4x,
src1, src2, src3, src4);
DUP4_ARG3(__lasx_xvpermi_q, src1, src0, 0x20, src2, src1, 0x20, src3, src2, 0x20,
src4, src3, 0x20, src0, src1, src2, src3);
DUP2_ARG2(__lasx_xvilvl_b, src1, src0, src3, src2, src0, src2);
DUP2_ARG2(__lasx_xvdp2_h_bu, src0, coeff_vec, src2, coeff_vec, res0, res1);
out = __lasx_xvssrarni_bu_h(res1, res0, 6);
- DUP4_ARG2(__lasx_xvldx, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
tp0, tp1, tp2, tp3);
DUP2_ARG2(__lasx_xvilvl_d, tp2, tp0, tp3, tp1, tp0, tp2);
tp0 = __lasx_xvpermi_q(tp2, tp0, 0x20);
@@ -1095,10 +1099,10 @@ static av_always_inline void avc_chroma_vt_and_aver_dst_8x8_lasx(uint8_t *src,
coeff_vec = __lasx_xvslli_b(coeff_vec, 3);
src0 = __lasx_xvld(src, 0);
src += stride;
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src1, src2, src3, src4);
src += stride_4x;
- DUP4_ARG2(__lasx_xvldx, src, 0, src, stride, src, stride_2x, src, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, src, 0, src, stride, src, stride_2x, src, stride_3x,
src5, src6, src7, src8);
DUP4_ARG3(__lasx_xvpermi_q, src1, src0, 0x20, src2, src1, 0x20, src3, src2, 0x20,
src4, src3, 0x20, src0, src1, src2, src3);
@@ -1109,12 +1113,12 @@ static av_always_inline void avc_chroma_vt_and_aver_dst_8x8_lasx(uint8_t *src,
DUP4_ARG2(__lasx_xvdp2_h_bu, src0, coeff_vec, src2, coeff_vec, src4, coeff_vec, src6,
coeff_vec, res0, res1, res2, res3);
DUP2_ARG3(__lasx_xvssrarni_bu_h, res1, res0, 6, res3, res2, 6, out0, out1);
- DUP4_ARG2(__lasx_xvldx, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
tp0, tp1, tp2, tp3);
DUP2_ARG2(__lasx_xvilvl_d, tp2, tp0, tp3, tp1, tp0, tp2);
dst0 = __lasx_xvpermi_q(tp2, tp0, 0x20);
dst += stride_4x;
- DUP4_ARG2(__lasx_xvldx, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
+ DUP4_ARG2(LASX_XVLDX, dst, 0, dst, stride, dst, stride_2x, dst, stride_3x,
tp0, tp1, tp2, tp3);
dst -= stride_4x;
DUP2_ARG2(__lasx_xvilvl_d, tp2, tp0, tp3, tp1, tp0, tp2);
diff --git a/libavcodec/loongarch/vc1dsp_lasx.c b/libavcodec/loongarch/vc1dsp_lasx.c
index 40b8668f2b..63950bc076 100644
--- a/libavcodec/loongarch/vc1dsp_lasx.c
+++ b/libavcodec/loongarch/vc1dsp_lasx.c
@@ -22,6 +22,10 @@
#include "vc1dsp_loongarch.h"
#include "libavutil/loongarch/loongson_intrinsics.h"
+/* __lasx_xvldx() in lasxintrin.h does not accept a const void*;
+ * remove the following once it does. */
+#define LASX_XVLDX(ptr, stride) __lasx_xvldx((void*)ptr, stride)
+
void ff_vc1_inv_trans_8x8_lasx(int16_t block[64])
{
int32_t con_4 = 4;
@@ -831,20 +835,20 @@ static void put_vc1_mspel_mc_h_lasx(uint8_t *dst, const uint8_t *src,
const_para1_2 = __lasx_xvreplgr2vr_h(*(para_v + 1));
in0 = __lasx_xvld(_src, 0);
- DUP2_ARG2(__lasx_xvldx, _src, stride, _src, stride2, in1, in2);
- in3 = __lasx_xvldx(_src, stride3);
+ DUP2_ARG2(LASX_XVLDX, _src, stride, _src, stride2, in1, in2);
+ in3 = LASX_XVLDX(_src, stride3);
_src += stride4;
in4 = __lasx_xvld(_src, 0);
- DUP2_ARG2(__lasx_xvldx, _src, stride, _src, stride2, in5, in6);
- in7 = __lasx_xvldx(_src, stride3);
+ DUP2_ARG2(LASX_XVLDX, _src, stride, _src, stride2, in5, in6);
+ in7 = LASX_XVLDX(_src, stride3);
_src += stride4;
in8 = __lasx_xvld(_src, 0);
- DUP2_ARG2(__lasx_xvldx, _src, stride, _src, stride2, in9, in10);
- in11 = __lasx_xvldx(_src, stride3);
+ DUP2_ARG2(LASX_XVLDX, _src, stride, _src, stride2, in9, in10);
+ in11 = LASX_XVLDX(_src, stride3);
_src += stride4;
in12 = __lasx_xvld(_src, 0);
- DUP2_ARG2(__lasx_xvldx, _src, stride, _src, stride2, in13, in14);
- in15 = __lasx_xvldx(_src, stride3);
+ DUP2_ARG2(LASX_XVLDX, _src, stride, _src, stride2, in13, in14);
+ in15 = LASX_XVLDX(_src, stride3);
DUP4_ARG2(__lasx_xvilvl_b, in2, in0, in3, in1, in6, in4, in7, in5,
tmp0_m, tmp1_m, tmp2_m, tmp3_m);
DUP4_ARG2(__lasx_xvilvl_b, in10, in8, in11, in9, in14, in12, in15, in13,
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH v5 4/4] avcodec/h264chroma: Constify src in h264_chroma_mc_func
2022-08-02 0:19 [FFmpeg-devel] [PATCH v5 1/4] avcodec/loongarch: Add wrapper for __lsx_vldx Andreas Rheinhardt
2022-08-02 0:23 ` [FFmpeg-devel] [PATCH v5 2/4] avcodec/hevcdsp: Constify src pointers Andreas Rheinhardt
2022-08-02 0:23 ` [FFmpeg-devel] [PATCH v5 3/4] avcodec/loongarch/h264chroma, vc1dsp_lasx: Add wrapper for __lasx_xvldx Andreas Rheinhardt
@ 2022-08-02 0:23 ` Andreas Rheinhardt
2022-08-04 1:26 ` [FFmpeg-devel] [PATCH v5 1/4] avcodec/loongarch: Add wrapper for __lsx_vldx Andreas Rheinhardt
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-08-02 0:23 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Shiyou Yin, Lu Wang, Hao Chen, Andreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/aarch64/h264chroma_init_aarch64.c | 12 +-
libavcodec/aarch64/h264cmc_neon.S | 4 +-
libavcodec/aarch64/rv40dsp_init_aarch64.c | 8 +-
libavcodec/aarch64/vc1dsp_init_aarch64.c | 8 +-
libavcodec/arm/h264chroma_init_arm.c | 12 +-
libavcodec/arm/h264cmc_neon.S | 4 +-
libavcodec/arm/rv40dsp_init_arm.c | 8 +-
libavcodec/arm/vc1dsp_init_neon.c | 8 +-
libavcodec/h264chroma.h | 2 +-
libavcodec/h264chroma_template.c | 16 +--
libavcodec/loongarch/h264chroma_lasx.c | 82 +++++------
libavcodec/loongarch/h264chroma_lasx.h | 6 +-
libavcodec/loongarch/vc1dsp_lasx.c | 2 +-
libavcodec/loongarch/vc1dsp_loongarch.h | 2 +-
libavcodec/mips/h264chroma_mips.h | 20 +--
libavcodec/mips/h264chroma_mmi.c | 8 +-
libavcodec/mips/h264chroma_msa.c | 142 +++++++++----------
libavcodec/mips/vc1dsp_mips.h | 8 +-
libavcodec/mips/vc1dsp_mmi.c | 8 +-
libavcodec/ppc/h264chroma_template.c | 4 +-
libavcodec/rv40dsp.c | 4 +-
libavcodec/vc1dsp.c | 8 +-
libavcodec/x86/h264_chromamc.asm | 2 +-
libavcodec/x86/h264_chromamc_10bit.asm | 4 +-
libavcodec/x86/h264chroma_init.c | 22 +--
libavcodec/x86/rv40dsp_init.c | 8 +-
libavcodec/x86/vc1dsp_init.c | 8 +-
27 files changed, 210 insertions(+), 210 deletions(-)
diff --git a/libavcodec/aarch64/h264chroma_init_aarch64.c b/libavcodec/aarch64/h264chroma_init_aarch64.c
index fa6e0eaf15..00fc7b20f1 100644
--- a/libavcodec/aarch64/h264chroma_init_aarch64.c
+++ b/libavcodec/aarch64/h264chroma_init_aarch64.c
@@ -28,18 +28,18 @@
#include "config.h"
-void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_put_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_put_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc2_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc2_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
av_cold void ff_h264chroma_init_aarch64(H264ChromaContext *c, int bit_depth)
diff --git a/libavcodec/aarch64/h264cmc_neon.S b/libavcodec/aarch64/h264cmc_neon.S
index f8e9407854..88ccd727d0 100644
--- a/libavcodec/aarch64/h264cmc_neon.S
+++ b/libavcodec/aarch64/h264cmc_neon.S
@@ -23,7 +23,7 @@
#include "libavutil/aarch64/asm.S"
-/* chroma_mc8(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */
+/* chroma_mc8(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) */
.macro h264_chroma_mc8 type, codec=h264
function ff_\type\()_\codec\()_chroma_mc8_neon, export=1
.ifc \type,avg
@@ -193,7 +193,7 @@ function ff_\type\()_\codec\()_chroma_mc8_neon, export=1
endfunc
.endm
-/* chroma_mc4(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */
+/* chroma_mc4(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) */
.macro h264_chroma_mc4 type, codec=h264
function ff_\type\()_\codec\()_chroma_mc4_neon, export=1
.ifc \type,avg
diff --git a/libavcodec/aarch64/rv40dsp_init_aarch64.c b/libavcodec/aarch64/rv40dsp_init_aarch64.c
index 142705db98..2b91d6835a 100644
--- a/libavcodec/aarch64/rv40dsp_init_aarch64.c
+++ b/libavcodec/aarch64/rv40dsp_init_aarch64.c
@@ -25,14 +25,14 @@
#include "config.h"
-void ff_put_rv40_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_rv40_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_put_rv40_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_rv40_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_rv40_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_rv40_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_rv40_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_rv40_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
av_cold void ff_rv40dsp_init_aarch64(RV34DSPContext *c)
diff --git a/libavcodec/aarch64/vc1dsp_init_aarch64.c b/libavcodec/aarch64/vc1dsp_init_aarch64.c
index a7976fd596..3bc0bd17ee 100644
--- a/libavcodec/aarch64/vc1dsp_init_aarch64.c
+++ b/libavcodec/aarch64/vc1dsp_init_aarch64.c
@@ -43,13 +43,13 @@ void ff_vc1_h_loop_filter8_neon(uint8_t *src, ptrdiff_t stride, int pq);
void ff_vc1_v_loop_filter16_neon(uint8_t *src, ptrdiff_t stride, int pq);
void ff_vc1_h_loop_filter16_neon(uint8_t *src, ptrdiff_t stride, int pq);
-void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
int ff_vc1_unescape_buffer_helper_neon(const uint8_t *src, int size, uint8_t *dst);
diff --git a/libavcodec/arm/h264chroma_init_arm.c b/libavcodec/arm/h264chroma_init_arm.c
index aae804b621..5c7d523186 100644
--- a/libavcodec/arm/h264chroma_init_arm.c
+++ b/libavcodec/arm/h264chroma_init_arm.c
@@ -26,18 +26,18 @@
#include "libavutil/arm/cpu.h"
#include "libavcodec/h264chroma.h"
-void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_put_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_put_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc2_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc2_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
av_cold void ff_h264chroma_init_arm(H264ChromaContext *c, int bit_depth)
diff --git a/libavcodec/arm/h264cmc_neon.S b/libavcodec/arm/h264cmc_neon.S
index 3687b02ede..7272b571d3 100644
--- a/libavcodec/arm/h264cmc_neon.S
+++ b/libavcodec/arm/h264cmc_neon.S
@@ -22,7 +22,7 @@
#include "libavutil/arm/asm.S"
-/* chroma_mc8(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */
+/* chroma_mc8(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) */
.macro h264_chroma_mc8 type, codec=h264
function ff_\type\()_\codec\()_chroma_mc8_neon, export=1
push {r4-r7, lr}
@@ -197,7 +197,7 @@ T cmp r7, #0
endfunc
.endm
-/* chroma_mc4(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */
+/* chroma_mc4(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) */
.macro h264_chroma_mc4 type, codec=h264
function ff_\type\()_\codec\()_chroma_mc4_neon, export=1
push {r4-r7, lr}
diff --git a/libavcodec/arm/rv40dsp_init_arm.c b/libavcodec/arm/rv40dsp_init_arm.c
index c24854d1cd..92d2867e04 100644
--- a/libavcodec/arm/rv40dsp_init_arm.c
+++ b/libavcodec/arm/rv40dsp_init_arm.c
@@ -49,11 +49,11 @@ DECL_QPEL_Y(1);
DECL_QPEL_Y(2);
DECL_QPEL_Y(3);
-void ff_put_rv40_chroma_mc8_neon(uint8_t *, uint8_t *, int, int, int, int);
-void ff_put_rv40_chroma_mc4_neon(uint8_t *, uint8_t *, int, int, int, int);
+void ff_put_rv40_chroma_mc8_neon(uint8_t *, const uint8_t *, int, int, int, int);
+void ff_put_rv40_chroma_mc4_neon(uint8_t *, const uint8_t *, int, int, int, int);
-void ff_avg_rv40_chroma_mc8_neon(uint8_t *, uint8_t *, int, int, int, int);
-void ff_avg_rv40_chroma_mc4_neon(uint8_t *, uint8_t *, int, int, int, int);
+void ff_avg_rv40_chroma_mc8_neon(uint8_t *, const uint8_t *, int, int, int, int);
+void ff_avg_rv40_chroma_mc4_neon(uint8_t *, const uint8_t *, int, int, int, int);
void ff_rv40_weight_func_16_neon(uint8_t *, uint8_t *, uint8_t *, int, int, ptrdiff_t);
void ff_rv40_weight_func_8_neon(uint8_t *, uint8_t *, uint8_t *, int, int, ptrdiff_t);
diff --git a/libavcodec/arm/vc1dsp_init_neon.c b/libavcodec/arm/vc1dsp_init_neon.c
index 48cb816b70..46fd80a837 100644
--- a/libavcodec/arm/vc1dsp_init_neon.c
+++ b/libavcodec/arm/vc1dsp_init_neon.c
@@ -76,13 +76,13 @@ DECL_PUT(3, 1)
DECL_PUT(3, 2)
DECL_PUT(3, 3)
-void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
int ff_vc1_unescape_buffer_helper_neon(const uint8_t *src, int size, uint8_t *dst);
diff --git a/libavcodec/h264chroma.h b/libavcodec/h264chroma.h
index 3259b4935f..b8f9c8f4fc 100644
--- a/libavcodec/h264chroma.h
+++ b/libavcodec/h264chroma.h
@@ -22,7 +22,7 @@
#include <stddef.h>
#include <stdint.h>
-typedef void (*h264_chroma_mc_func)(uint8_t *dst /*align 8*/, uint8_t *src /*align 1*/, ptrdiff_t srcStride, int h, int x, int y);
+typedef void (*h264_chroma_mc_func)(uint8_t *dst /*align 8*/, const uint8_t *src /*align 1*/, ptrdiff_t srcStride, int h, int x, int y);
typedef struct H264ChromaContext {
h264_chroma_mc_func put_h264_chroma_pixels_tab[4];
diff --git a/libavcodec/h264chroma_template.c b/libavcodec/h264chroma_template.c
index a3ca07b518..b9d24f5a0c 100644
--- a/libavcodec/h264chroma_template.c
+++ b/libavcodec/h264chroma_template.c
@@ -26,9 +26,9 @@
#include "bit_depth_template.c"
#define H264_CHROMA_MC(OPNAME, OP)\
-static void FUNCC(OPNAME ## h264_chroma_mc1)(uint8_t *_dst /*align 8*/, uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y){\
+static void FUNCC(OPNAME ## h264_chroma_mc1)(uint8_t *_dst /*align 8*/, const uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y){\
pixel *dst = (pixel*)_dst;\
- pixel *src = (pixel*)_src;\
+ const pixel *src = (const pixel*)_src;\
const int A=(8-x)*(8-y);\
const int B=( x)*(8-y);\
const int C=(8-x)*( y);\
@@ -60,10 +60,10 @@ static void FUNCC(OPNAME ## h264_chroma_mc1)(uint8_t *_dst /*align 8*/, uint8_t
}\
}\
}\
-static void FUNCC(OPNAME ## h264_chroma_mc2)(uint8_t *_dst /*align 8*/, uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\
+static void FUNCC(OPNAME ## h264_chroma_mc2)(uint8_t *_dst /*align 8*/, const uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\
{\
pixel *dst = (pixel*)_dst;\
- pixel *src = (pixel*)_src;\
+ const pixel *src = (const pixel*)_src;\
const int A=(8-x)*(8-y);\
const int B=( x)*(8-y);\
const int C=(8-x)*( y);\
@@ -99,10 +99,10 @@ static void FUNCC(OPNAME ## h264_chroma_mc2)(uint8_t *_dst /*align 8*/, uint8_t
}\
}\
\
-static void FUNCC(OPNAME ## h264_chroma_mc4)(uint8_t *_dst /*align 8*/, uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\
+static void FUNCC(OPNAME ## h264_chroma_mc4)(uint8_t *_dst /*align 8*/, const uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\
{\
pixel *dst = (pixel*)_dst;\
- pixel *src = (pixel*)_src;\
+ const pixel *src = (const pixel*)_src;\
const int A=(8-x)*(8-y);\
const int B=( x)*(8-y);\
const int C=(8-x)*( y);\
@@ -144,10 +144,10 @@ static void FUNCC(OPNAME ## h264_chroma_mc4)(uint8_t *_dst /*align 8*/, uint8_t
}\
}\
\
-static void FUNCC(OPNAME ## h264_chroma_mc8)(uint8_t *_dst /*align 8*/, uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\
+static void FUNCC(OPNAME ## h264_chroma_mc8)(uint8_t *_dst /*align 8*/, const uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\
{\
pixel *dst = (pixel*)_dst;\
- pixel *src = (pixel*)_src;\
+ const pixel *src = (const pixel*)_src;\
const int A=(8-x)*(8-y);\
const int B=( x)*(8-y);\
const int C=(8-x)*( y);\
diff --git a/libavcodec/loongarch/h264chroma_lasx.c b/libavcodec/loongarch/h264chroma_lasx.c
index bada8bb5ed..ed67d8c476 100644
--- a/libavcodec/loongarch/h264chroma_lasx.c
+++ b/libavcodec/loongarch/h264chroma_lasx.c
@@ -37,7 +37,7 @@ static const uint8_t chroma_mask_arr[64] = {
0, 1, 1, 2, 2, 3, 3, 4, 16, 17, 17, 18, 18, 19, 19, 20
};
-static av_always_inline void avc_chroma_hv_8x4_lasx(uint8_t *src, uint8_t *dst,
+static av_always_inline void avc_chroma_hv_8x4_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride, uint32_t coef_hor0,
uint32_t coef_hor1, uint32_t coef_ver0,
uint32_t coef_ver1)
@@ -75,7 +75,7 @@ static av_always_inline void avc_chroma_hv_8x4_lasx(uint8_t *src, uint8_t *dst,
__lasx_xvstelm_d(out, dst + stride_3x, 0, 3);
}
-static av_always_inline void avc_chroma_hv_8x8_lasx(uint8_t *src, uint8_t *dst,
+static av_always_inline void avc_chroma_hv_8x8_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride, uint32_t coef_hor0,
uint32_t coef_hor1, uint32_t coef_ver0,
uint32_t coef_ver1)
@@ -131,7 +131,7 @@ static av_always_inline void avc_chroma_hv_8x8_lasx(uint8_t *src, uint8_t *dst,
__lasx_xvstelm_d(out1, dst + stride_3x, 0, 3);
}
-static av_always_inline void avc_chroma_hz_8x4_lasx(uint8_t *src, uint8_t *dst,
+static av_always_inline void avc_chroma_hz_8x4_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1)
{
ptrdiff_t stride_2x = stride << 1;
@@ -158,7 +158,7 @@ static av_always_inline void avc_chroma_hz_8x4_lasx(uint8_t *src, uint8_t *dst,
}
-static av_always_inline void avc_chroma_hz_8x8_lasx(uint8_t *src, uint8_t *dst,
+static av_always_inline void avc_chroma_hz_8x8_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1)
{
ptrdiff_t stride_2x = stride << 1;
@@ -197,7 +197,7 @@ static av_always_inline void avc_chroma_hz_8x8_lasx(uint8_t *src, uint8_t *dst,
__lasx_xvstelm_d(out1, dst + stride_3x, 0, 3);
}
-static av_always_inline void avc_chroma_hz_nonmult_lasx(uint8_t *src,
+static av_always_inline void avc_chroma_hz_nonmult_lasx(const uint8_t *src,
uint8_t *dst, ptrdiff_t stride, uint32_t coeff0,
uint32_t coeff1, int32_t height)
{
@@ -243,7 +243,7 @@ static av_always_inline void avc_chroma_hz_nonmult_lasx(uint8_t *src,
}
}
-static av_always_inline void avc_chroma_vt_8x4_lasx(uint8_t *src, uint8_t *dst,
+static av_always_inline void avc_chroma_vt_8x4_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1)
{
ptrdiff_t stride_2x = stride << 1;
@@ -270,7 +270,7 @@ static av_always_inline void avc_chroma_vt_8x4_lasx(uint8_t *src, uint8_t *dst,
__lasx_xvstelm_d(out, dst + stride_3x, 0, 3);
}
-static av_always_inline void avc_chroma_vt_8x8_lasx(uint8_t *src, uint8_t *dst,
+static av_always_inline void avc_chroma_vt_8x8_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1)
{
ptrdiff_t stride_2x = stride << 1;
@@ -311,7 +311,7 @@ static av_always_inline void avc_chroma_vt_8x8_lasx(uint8_t *src, uint8_t *dst,
__lasx_xvstelm_d(out1, dst + stride_3x, 0, 3);
}
-static av_always_inline void copy_width8x8_lasx(uint8_t *src, uint8_t *dst,
+static av_always_inline void copy_width8x8_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride)
{
uint64_t tmp[8];
@@ -351,7 +351,7 @@ static av_always_inline void copy_width8x8_lasx(uint8_t *src, uint8_t *dst,
);
}
-static av_always_inline void copy_width8x4_lasx(uint8_t *src, uint8_t *dst,
+static av_always_inline void copy_width8x4_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride)
{
uint64_t tmp[4];
@@ -376,7 +376,7 @@ static av_always_inline void copy_width8x4_lasx(uint8_t *src, uint8_t *dst,
);
}
-static void avc_chroma_hv_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_hv_8w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1,
int32_t height)
@@ -390,7 +390,7 @@ static void avc_chroma_hv_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
}
}
-static void avc_chroma_hv_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_hv_4x2_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1)
{
@@ -418,7 +418,7 @@ static void avc_chroma_hv_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__lasx_xvstelm_w(res_vt, dst + stride, 0, 1);
}
-static void avc_chroma_hv_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_hv_4x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1)
{
@@ -450,7 +450,7 @@ static void avc_chroma_hv_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__lasx_xvstelm_w(res_hz0, dst + stride_3, 0, 5);
}
-static void avc_chroma_hv_4x8_lasx(uint8_t *src, uint8_t * dst, ptrdiff_t stride,
+static void avc_chroma_hv_4x8_lasx(const uint8_t *src, uint8_t * dst, ptrdiff_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1)
{
@@ -496,7 +496,7 @@ static void avc_chroma_hv_4x8_lasx(uint8_t *src, uint8_t * dst, ptrdiff_t stride
__lasx_xvstelm_w(res_hz0, dst + stride_3, 0, 7);
}
-static void avc_chroma_hv_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_hv_4w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1,
int32_t height)
@@ -513,7 +513,7 @@ static void avc_chroma_hv_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
}
}
-static void avc_chroma_hz_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_hz_4x2_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coeff0, uint32_t coeff1)
{
__m256i src0, src1;
@@ -532,7 +532,7 @@ static void avc_chroma_hz_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__lasx_xvstelm_w(res, dst + stride, 0, 1);
}
-static void avc_chroma_hz_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_hz_4x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coeff0, uint32_t coeff1)
{
ptrdiff_t stride_2 = stride << 1;
@@ -557,7 +557,7 @@ static void avc_chroma_hz_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__lasx_xvstelm_w(res, dst + stride_3, 0, 5);
}
-static void avc_chroma_hz_4x8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_hz_4x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coeff0, uint32_t coeff1)
{
ptrdiff_t stride_2 = stride << 1;
@@ -592,7 +592,7 @@ static void avc_chroma_hz_4x8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__lasx_xvstelm_w(res0, dst + stride_3, 0, 7);
}
-static void avc_chroma_hz_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_hz_4w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coeff0, uint32_t coeff1,
int32_t height)
{
@@ -605,7 +605,7 @@ static void avc_chroma_hz_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
}
}
-static void avc_chroma_hz_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_hz_8w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coeff0, uint32_t coeff1,
int32_t height)
{
@@ -618,7 +618,7 @@ static void avc_chroma_hz_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
}
}
-static void avc_chroma_vt_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_vt_4x2_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coeff0, uint32_t coeff1)
{
__m256i src0, src1, src2;
@@ -639,7 +639,7 @@ static void avc_chroma_vt_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__lasx_xvstelm_w(res, dst + stride, 0, 1);
}
-static void avc_chroma_vt_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_vt_4x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coeff0, uint32_t coeff1)
{
ptrdiff_t stride_2 = stride << 1;
@@ -668,7 +668,7 @@ static void avc_chroma_vt_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__lasx_xvstelm_w(res, dst + stride_3, 0, 5);
}
-static void avc_chroma_vt_4x8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_vt_4x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coeff0, uint32_t coeff1)
{
ptrdiff_t stride_2 = stride << 1;
@@ -709,7 +709,7 @@ static void avc_chroma_vt_4x8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
__lasx_xvstelm_w(res0, dst + stride_3, 0, 7);
}
-static void avc_chroma_vt_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_vt_4w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coeff0, uint32_t coeff1,
int32_t height)
{
@@ -722,7 +722,7 @@ static void avc_chroma_vt_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
}
}
-static void avc_chroma_vt_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avc_chroma_vt_8w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
uint32_t coeff0, uint32_t coeff1,
int32_t height)
{
@@ -733,7 +733,7 @@ static void avc_chroma_vt_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
}
}
-static void copy_width4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void copy_width4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
int32_t height)
{
uint32_t tp0, tp1, tp2, tp3, tp4, tp5, tp6, tp7;
@@ -803,7 +803,7 @@ static void copy_width4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
}
}
-static void copy_width8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void copy_width8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
int32_t height)
{
if (8 == height) {
@@ -813,7 +813,7 @@ static void copy_width8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
}
}
-void ff_put_h264_chroma_mc4_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc4_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int height, int x, int y)
{
av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0);
@@ -829,7 +829,7 @@ void ff_put_h264_chroma_mc4_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
}
}
-void ff_put_h264_chroma_mc8_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc8_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int height, int x, int y)
{
av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0);
@@ -845,7 +845,7 @@ void ff_put_h264_chroma_mc8_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
}
}
-static av_always_inline void avc_chroma_hv_and_aver_dst_8x4_lasx(uint8_t *src,
+static av_always_inline void avc_chroma_hv_and_aver_dst_8x4_lasx(const uint8_t *src,
uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0,
uint32_t coef_hor1, uint32_t coef_ver0,
uint32_t coef_ver1)
@@ -889,7 +889,7 @@ static av_always_inline void avc_chroma_hv_and_aver_dst_8x4_lasx(uint8_t *src,
__lasx_xvstelm_d(out, dst + stride_3x, 0, 3);
}
-static av_always_inline void avc_chroma_hv_and_aver_dst_8x8_lasx(uint8_t *src,
+static av_always_inline void avc_chroma_hv_and_aver_dst_8x8_lasx(const uint8_t *src,
uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0,
uint32_t coef_hor1, uint32_t coef_ver0,
uint32_t coef_ver1)
@@ -961,7 +961,7 @@ static av_always_inline void avc_chroma_hv_and_aver_dst_8x8_lasx(uint8_t *src,
__lasx_xvstelm_d(out1, dst + stride_3x, 0, 3);
}
-static av_always_inline void avc_chroma_hz_and_aver_dst_8x4_lasx(uint8_t *src,
+static av_always_inline void avc_chroma_hz_and_aver_dst_8x4_lasx(const uint8_t *src,
uint8_t *dst, ptrdiff_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -994,7 +994,7 @@ static av_always_inline void avc_chroma_hz_and_aver_dst_8x4_lasx(uint8_t *src,
__lasx_xvstelm_d(out, dst + stride_3x, 0, 3);
}
-static av_always_inline void avc_chroma_hz_and_aver_dst_8x8_lasx(uint8_t *src,
+static av_always_inline void avc_chroma_hz_and_aver_dst_8x8_lasx(const uint8_t *src,
uint8_t *dst, ptrdiff_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1047,7 +1047,7 @@ static av_always_inline void avc_chroma_hz_and_aver_dst_8x8_lasx(uint8_t *src,
__lasx_xvstelm_d(out1, dst + stride_3x, 0, 3);
}
-static av_always_inline void avc_chroma_vt_and_aver_dst_8x4_lasx(uint8_t *src,
+static av_always_inline void avc_chroma_vt_and_aver_dst_8x4_lasx(const uint8_t *src,
uint8_t *dst, ptrdiff_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1081,7 +1081,7 @@ static av_always_inline void avc_chroma_vt_and_aver_dst_8x4_lasx(uint8_t *src,
__lasx_xvstelm_d(out, dst + stride_3x, 0, 3);
}
-static av_always_inline void avc_chroma_vt_and_aver_dst_8x8_lasx(uint8_t *src,
+static av_always_inline void avc_chroma_vt_and_aver_dst_8x8_lasx(const uint8_t *src,
uint8_t *dst, ptrdiff_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1136,7 +1136,7 @@ static av_always_inline void avc_chroma_vt_and_aver_dst_8x8_lasx(uint8_t *src,
__lasx_xvstelm_d(out1, dst + stride_3x, 0, 3);
}
-static av_always_inline void avg_width8x8_lasx(uint8_t *src, uint8_t *dst,
+static av_always_inline void avg_width8x8_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride)
{
__m256i src0, src1, src2, src3;
@@ -1188,7 +1188,7 @@ static av_always_inline void avg_width8x8_lasx(uint8_t *src, uint8_t *dst,
__lasx_xvstelm_d(dst0, dst + stride_3x, 0, 3);
}
-static av_always_inline void avg_width8x4_lasx(uint8_t *src, uint8_t *dst,
+static av_always_inline void avg_width8x4_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride)
{
__m256i src0, src1, src2, src3;
@@ -1217,7 +1217,7 @@ static av_always_inline void avg_width8x4_lasx(uint8_t *src, uint8_t *dst,
__lasx_xvstelm_d(dst0, dst + stride_3x, 0, 3);
}
-static void avc_chroma_hv_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_8w_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1234,7 +1234,7 @@ static void avc_chroma_hv_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_hz_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_8w_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride, uint32_t coeff0,
uint32_t coeff1, int32_t height)
{
@@ -1245,7 +1245,7 @@ static void avc_chroma_hz_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_vt_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_8w_lasx(const uint8_t *src, uint8_t *dst,
ptrdiff_t stride, uint32_t coeff0,
uint32_t coeff1, int32_t height)
{
@@ -1256,7 +1256,7 @@ static void avc_chroma_vt_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst,
}
}
-static void avg_width8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
+static void avg_width8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride,
int32_t height)
{
if (8 == height) {
@@ -1266,7 +1266,7 @@ static void avg_width8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
}
}
-void ff_avg_h264_chroma_mc8_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc8_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int height, int x, int y)
{
av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0);
diff --git a/libavcodec/loongarch/h264chroma_lasx.h b/libavcodec/loongarch/h264chroma_lasx.h
index 4aac8db8cb..633752035e 100644
--- a/libavcodec/loongarch/h264chroma_lasx.h
+++ b/libavcodec/loongarch/h264chroma_lasx.h
@@ -26,11 +26,11 @@
#include <stddef.h>
#include "libavcodec/h264.h"
-void ff_put_h264_chroma_mc4_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc4_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_put_h264_chroma_mc8_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc8_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_h264_chroma_mc8_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc8_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
#endif /* AVCODEC_LOONGARCH_H264CHROMA_LASX_H */
diff --git a/libavcodec/loongarch/vc1dsp_lasx.c b/libavcodec/loongarch/vc1dsp_lasx.c
index 63950bc076..9aa3bb96f7 100644
--- a/libavcodec/loongarch/vc1dsp_lasx.c
+++ b/libavcodec/loongarch/vc1dsp_lasx.c
@@ -702,7 +702,7 @@ PUT_VC1_MSPEL_MC_LASX(3, 2);
PUT_VC1_MSPEL_MC_LASX(3, 3);
void ff_put_no_rnd_vc1_chroma_mc8_lasx(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y)
{
const int intA = (8 - x) * (8 - y);
diff --git a/libavcodec/loongarch/vc1dsp_loongarch.h b/libavcodec/loongarch/vc1dsp_loongarch.h
index 398631aecc..e5ccbcb768 100644
--- a/libavcodec/loongarch/vc1dsp_loongarch.h
+++ b/libavcodec/loongarch/vc1dsp_loongarch.h
@@ -73,7 +73,7 @@ FF_PUT_VC1_MSPEL_MC_H_LASX(2);
FF_PUT_VC1_MSPEL_MC_H_LASX(3);
void ff_put_no_rnd_vc1_chroma_mc8_lasx(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y);
#endif /* AVCODEC_LOONGARCH_VC1DSP_LOONGARCH_H */
diff --git a/libavcodec/mips/h264chroma_mips.h b/libavcodec/mips/h264chroma_mips.h
index 996384d005..c694e34b3f 100644
--- a/libavcodec/mips/h264chroma_mips.h
+++ b/libavcodec/mips/h264chroma_mips.h
@@ -22,26 +22,26 @@
#define AVCODEC_MIPS_H264CHROMA_MIPS_H
#include "libavcodec/h264dec.h"
-void ff_put_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int height, int x, int y);
-void ff_put_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc4_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int height, int x, int y);
-void ff_put_h264_chroma_mc2_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc2_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int height, int x, int y);
-void ff_avg_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int height, int x, int y);
-void ff_avg_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc4_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int height, int x, int y);
-void ff_avg_h264_chroma_mc2_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc2_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int height, int x, int y);
-void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
-void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y);
#endif /* AVCODEC_MIPS_H264CHROMA_MIPS_H */
diff --git a/libavcodec/mips/h264chroma_mmi.c b/libavcodec/mips/h264chroma_mmi.c
index ec35c5a72e..fe05ccd671 100644
--- a/libavcodec/mips/h264chroma_mmi.c
+++ b/libavcodec/mips/h264chroma_mmi.c
@@ -26,7 +26,7 @@
#include "constants.h"
#include "libavutil/mips/mmiutils.h"
-void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y)
{
double ftmp[12];
@@ -289,7 +289,7 @@ void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
}
}
-void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y)
{
double ftmp[10];
@@ -497,7 +497,7 @@ void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
}
}
-void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y)
{
double ftmp[8];
@@ -618,7 +618,7 @@ void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
}
}
-void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
+void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
int h, int x, int y)
{
double ftmp[8];
diff --git a/libavcodec/mips/h264chroma_msa.c b/libavcodec/mips/h264chroma_msa.c
index 4a68d9e134..141f52c2be 100644
--- a/libavcodec/mips/h264chroma_msa.c
+++ b/libavcodec/mips/h264chroma_msa.c
@@ -29,7 +29,7 @@ static const uint8_t chroma_mask_arr[16 * 5] = {
0, 1, 1, 2, 16, 17, 17, 18, 16, 17, 17, 18, 18, 19, 19, 20
};
-static void avc_chroma_hz_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hz_2x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
uint16_t out0, out1;
@@ -60,7 +60,7 @@ static void avc_chroma_hz_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
SH(out1, dst);
}
-static void avc_chroma_hz_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hz_2x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2, src3;
@@ -88,7 +88,7 @@ static void avc_chroma_hz_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_H4(res, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hz_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hz_2w_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1,
int32_t height)
{
@@ -99,7 +99,7 @@ static void avc_chroma_hz_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avc_chroma_hz_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hz_4x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16i8 src0, src1;
@@ -124,7 +124,7 @@ static void avc_chroma_hz_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_W2(res, 0, 1, dst, stride);
}
-static void avc_chroma_hz_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hz_4x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2, src3, out;
@@ -147,7 +147,7 @@ static void avc_chroma_hz_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_W4(out, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hz_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hz_4x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2, src3, src4, src5, src6, src7, out0, out1;
@@ -171,7 +171,7 @@ static void avc_chroma_hz_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_W8(out0, out1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hz_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hz_4w_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1,
int32_t height)
{
@@ -184,7 +184,7 @@ static void avc_chroma_hz_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avc_chroma_hz_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hz_8x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2, src3, out0, out1;
@@ -207,7 +207,7 @@ static void avc_chroma_hz_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_D4(out0, out1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_hz_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hz_8x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2, src3, src4, src5, src6, src7;
@@ -240,7 +240,7 @@ static void avc_chroma_hz_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_hz_nonmult_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_nonmult_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1, int32_t height)
{
@@ -289,7 +289,7 @@ static void avc_chroma_hz_nonmult_msa(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_hz_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hz_8w_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1,
int32_t height)
{
@@ -302,7 +302,7 @@ static void avc_chroma_hz_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avc_chroma_vt_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_vt_2x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
uint16_t out0, out1;
@@ -334,7 +334,7 @@ static void avc_chroma_vt_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
SH(out1, dst);
}
-static void avc_chroma_vt_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_vt_2x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2, src3, src4;
@@ -362,7 +362,7 @@ static void avc_chroma_vt_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_H4(res, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_vt_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_vt_2w_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1,
int32_t height)
{
@@ -373,7 +373,7 @@ static void avc_chroma_vt_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avc_chroma_vt_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_vt_4x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2;
@@ -397,7 +397,7 @@ static void avc_chroma_vt_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_W2(res, 0, 1, dst, stride);
}
-static void avc_chroma_vt_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_vt_4x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2, src3, src4;
@@ -421,7 +421,7 @@ static void avc_chroma_vt_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_W4(out, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_vt_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_vt_4x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2, src3, src4, src5, src6, src7, src8;
@@ -449,7 +449,7 @@ static void avc_chroma_vt_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_W8(out0, out1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_vt_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_vt_4w_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1,
int32_t height)
{
@@ -462,7 +462,7 @@ static void avc_chroma_vt_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avc_chroma_vt_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_vt_8x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2, src3, src4, out0, out1;
@@ -483,7 +483,7 @@ static void avc_chroma_vt_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_D4(out0, out1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_vt_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_vt_8x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1)
{
v16u8 src0, src1, src2, src3, src4, src5, src6, src7, src8;
@@ -515,7 +515,7 @@ static void avc_chroma_vt_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_vt_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_vt_8w_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coeff0, uint32_t coeff1,
int32_t height)
{
@@ -526,7 +526,7 @@ static void avc_chroma_vt_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avc_chroma_hv_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hv_2x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1)
{
@@ -561,7 +561,7 @@ static void avc_chroma_hv_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
SH(out1, dst);
}
-static void avc_chroma_hv_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hv_2x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1)
{
@@ -595,7 +595,7 @@ static void avc_chroma_hv_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_H4(res, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hv_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hv_2w_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1,
int32_t height)
@@ -609,7 +609,7 @@ static void avc_chroma_hv_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avc_chroma_hv_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hv_4x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1)
{
@@ -637,7 +637,7 @@ static void avc_chroma_hv_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_W2(res, 0, 1, dst, stride);
}
-static void avc_chroma_hv_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hv_4x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1)
{
@@ -670,7 +670,7 @@ static void avc_chroma_hv_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_W2(res1, 0, 1, dst + 2 * stride, stride);
}
-static void avc_chroma_hv_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hv_4x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1)
{
@@ -710,7 +710,7 @@ static void avc_chroma_hv_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_W8(res0, res1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hv_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hv_4w_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1,
int32_t height)
@@ -727,7 +727,7 @@ static void avc_chroma_hv_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avc_chroma_hv_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hv_8x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1)
{
@@ -770,7 +770,7 @@ static void avc_chroma_hv_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_D4(out0, out1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_hv_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hv_8x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1)
{
@@ -826,7 +826,7 @@ static void avc_chroma_hv_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_hv_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avc_chroma_hv_8w_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
uint32_t coef_hor0, uint32_t coef_hor1,
uint32_t coef_ver0, uint32_t coef_ver1,
int32_t height)
@@ -840,7 +840,7 @@ static void avc_chroma_hv_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avc_chroma_hz_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_2x2_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -882,7 +882,7 @@ static void avc_chroma_hz_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst,
SH(out1, dst);
}
-static void avc_chroma_hz_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_2x4_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -922,7 +922,7 @@ static void avc_chroma_hz_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst,
ST_H4(dst0, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hz_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_2w_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1, int32_t height)
{
@@ -933,7 +933,7 @@ static void avc_chroma_hz_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_hz_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_4x2_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -966,7 +966,7 @@ static void avc_chroma_hz_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst,
ST_W2(dst_data, 0, 1, dst, stride);
}
-static void avc_chroma_hz_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_4x4_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -995,7 +995,7 @@ static void avc_chroma_hz_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst,
ST_W4(out, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hz_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_4x8_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1027,7 +1027,7 @@ static void avc_chroma_hz_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst,
ST_W8(out0, out1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hz_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_4w_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1, int32_t height)
{
@@ -1040,7 +1040,7 @@ static void avc_chroma_hz_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_hz_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_8x4_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1070,7 +1070,7 @@ static void avc_chroma_hz_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst,
ST_D4(dst0, dst1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_hz_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_8x8_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1114,7 +1114,7 @@ static void avc_chroma_hz_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst,
ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_hz_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hz_and_aver_dst_8w_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1, int32_t height)
{
@@ -1125,7 +1125,7 @@ static void avc_chroma_hz_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_vt_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_2x2_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1162,7 +1162,7 @@ static void avc_chroma_vt_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst,
SH(out1, dst);
}
-static void avc_chroma_vt_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_2x4_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1204,7 +1204,7 @@ static void avc_chroma_vt_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst,
ST_H4(res, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_vt_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_2w_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1, int32_t height)
{
@@ -1215,7 +1215,7 @@ static void avc_chroma_vt_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_vt_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_4x2_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1247,7 +1247,7 @@ static void avc_chroma_vt_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst,
ST_W2(res, 0, 1, dst, stride);
}
-static void avc_chroma_vt_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_4x4_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1277,7 +1277,7 @@ static void avc_chroma_vt_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst,
ST_W4(out, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_vt_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_4x8_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1313,7 +1313,7 @@ static void avc_chroma_vt_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst,
ST_W8(out0, out1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_vt_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_4w_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1, int32_t height)
{
@@ -1326,7 +1326,7 @@ static void avc_chroma_vt_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_vt_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_8x4_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1355,7 +1355,7 @@ static void avc_chroma_vt_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst,
ST_D4(out0, out1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_vt_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_8x8_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1)
{
@@ -1398,7 +1398,7 @@ static void avc_chroma_vt_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst,
ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_vt_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_vt_and_aver_dst_8w_msa(const uint8_t *src, uint8_t *dst,
int32_t stride, uint32_t coeff0,
uint32_t coeff1, int32_t height)
{
@@ -1409,7 +1409,7 @@ static void avc_chroma_vt_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_hv_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_2x2_msa(const uint8_t *src, uint8_t *dst,
int32_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1451,7 +1451,7 @@ static void avc_chroma_hv_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst,
SH(out1, dst);
}
-static void avc_chroma_hv_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_2x4_msa(const uint8_t *src, uint8_t *dst,
int32_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1496,7 +1496,7 @@ static void avc_chroma_hv_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst,
ST_H4(dst0, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hv_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_2w_msa(const uint8_t *src, uint8_t *dst,
int32_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1513,7 +1513,7 @@ static void avc_chroma_hv_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_hv_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_4x2_msa(const uint8_t *src, uint8_t *dst,
int32_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1549,7 +1549,7 @@ static void avc_chroma_hv_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst,
ST_W2(dst0, 0, 1, dst, stride);
}
-static void avc_chroma_hv_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_4x4_msa(const uint8_t *src, uint8_t *dst,
int32_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1588,7 +1588,7 @@ static void avc_chroma_hv_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst,
ST_W4(out, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hv_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_4x8_msa(const uint8_t *src, uint8_t *dst,
int32_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1637,7 +1637,7 @@ static void avc_chroma_hv_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst,
ST_W8(res0, res1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride);
}
-static void avc_chroma_hv_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_4w_msa(const uint8_t *src, uint8_t *dst,
int32_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1657,7 +1657,7 @@ static void avc_chroma_hv_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst,
}
}
-static void avc_chroma_hv_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_8x4_msa(const uint8_t *src, uint8_t *dst,
int32_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1705,7 +1705,7 @@ static void avc_chroma_hv_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst,
ST_D4(out0, out1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_hv_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_8x8_msa(const uint8_t *src, uint8_t *dst,
int32_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1774,7 +1774,7 @@ static void avc_chroma_hv_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst,
ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride);
}
-static void avc_chroma_hv_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst,
+static void avc_chroma_hv_and_aver_dst_8w_msa(const uint8_t *src, uint8_t *dst,
int32_t stride,
uint32_t coef_hor0,
uint32_t coef_hor1,
@@ -1791,7 +1791,7 @@ static void avc_chroma_hv_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst,
}
}
-static void copy_width4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void copy_width4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
int32_t height)
{
uint32_t tp0, tp1, tp2, tp3, tp4, tp5, tp6, tp7;
@@ -1814,7 +1814,7 @@ static void copy_width4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void copy_width8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void copy_width8_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
int32_t height)
{
uint64_t src0, src1, src2, src3, src4, src5, src6, src7;
@@ -1832,7 +1832,7 @@ static void copy_width8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avg_width4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avg_width4_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
int32_t height)
{
uint32_t tp0, tp1, tp2, tp3;
@@ -1867,7 +1867,7 @@ static void avg_width4_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-static void avg_width8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
+static void avg_width8_msa(const uint8_t *src, uint8_t *dst, int32_t stride,
int32_t height)
{
uint64_t tp0, tp1, tp2, tp3, tp4, tp5, tp6, tp7;
@@ -1903,7 +1903,7 @@ static void avg_width8_msa(uint8_t *src, uint8_t *dst, int32_t stride,
}
}
-void ff_put_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src,
+void ff_put_h264_chroma_mc8_msa(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int height, int x, int y)
{
av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0);
@@ -1919,7 +1919,7 @@ void ff_put_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src,
}
}
-void ff_put_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src,
+void ff_put_h264_chroma_mc4_msa(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int height, int x, int y)
{
av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0);
@@ -1935,7 +1935,7 @@ void ff_put_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src,
}
}
-void ff_put_h264_chroma_mc2_msa(uint8_t *dst, uint8_t *src,
+void ff_put_h264_chroma_mc2_msa(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int height, int x, int y)
{
int32_t cnt;
@@ -1958,7 +1958,7 @@ void ff_put_h264_chroma_mc2_msa(uint8_t *dst, uint8_t *src,
}
}
-void ff_avg_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src,
+void ff_avg_h264_chroma_mc8_msa(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int height, int x, int y)
{
av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0);
@@ -1976,7 +1976,7 @@ void ff_avg_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src,
}
}
-void ff_avg_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src,
+void ff_avg_h264_chroma_mc4_msa(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int height, int x, int y)
{
av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0);
@@ -1993,7 +1993,7 @@ void ff_avg_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src,
}
}
-void ff_avg_h264_chroma_mc2_msa(uint8_t *dst, uint8_t *src,
+void ff_avg_h264_chroma_mc2_msa(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int height, int x, int y)
{
int32_t cnt;
diff --git a/libavcodec/mips/vc1dsp_mips.h b/libavcodec/mips/vc1dsp_mips.h
index 356153cab6..8fcff26b14 100644
--- a/libavcodec/mips/vc1dsp_mips.h
+++ b/libavcodec/mips/vc1dsp_mips.h
@@ -179,16 +179,16 @@ void ff_vc1_v_loop_filter16_mmi(uint8_t *src, ptrdiff_t stride, int pq);
void ff_vc1_h_loop_filter16_mmi(uint8_t *src, ptrdiff_t stride, int pq);
void ff_put_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y);
void ff_put_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y);
void ff_avg_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y);
void ff_avg_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y);
void ff_vc1_inv_trans_8x8_msa(int16_t block[64]);
diff --git a/libavcodec/mips/vc1dsp_mmi.c b/libavcodec/mips/vc1dsp_mmi.c
index 278aa566bc..290b47d697 100644
--- a/libavcodec/mips/vc1dsp_mmi.c
+++ b/libavcodec/mips/vc1dsp_mmi.c
@@ -2235,7 +2235,7 @@ DECLARE_FUNCTION(3, 3)
void ff_put_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y)
{
union mmi_intfloat64 A, B, C, D;
@@ -2291,7 +2291,7 @@ void ff_put_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */,
}
void ff_put_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y)
{
union mmi_intfloat64 A, B, C, D;
@@ -2345,7 +2345,7 @@ void ff_put_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */,
}
void ff_avg_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y)
{
union mmi_intfloat64 A, B, C, D;
@@ -2404,7 +2404,7 @@ void ff_avg_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */,
}
void ff_avg_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y)
{
union mmi_intfloat64 A, B, C, D;
diff --git a/libavcodec/ppc/h264chroma_template.c b/libavcodec/ppc/h264chroma_template.c
index eda98c67ec..c64856bb14 100644
--- a/libavcodec/ppc/h264chroma_template.c
+++ b/libavcodec/ppc/h264chroma_template.c
@@ -109,7 +109,7 @@
#endif /* HAVE_BIGENDIAN */
#ifdef PREFIX_h264_chroma_mc8_altivec
-static void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, uint8_t * src,
+static void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, const uint8_t * src,
ptrdiff_t stride, int h,
int x, int y)
{
@@ -184,7 +184,7 @@ static void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, uint8_t * src,
/* this code assume that stride % 16 == 0 */
#ifdef PREFIX_no_rnd_vc1_chroma_mc8_altivec
-static void PREFIX_no_rnd_vc1_chroma_mc8_altivec(uint8_t *dst, uint8_t *src,
+static void PREFIX_no_rnd_vc1_chroma_mc8_altivec(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h,
int x, int y)
{
diff --git a/libavcodec/rv40dsp.c b/libavcodec/rv40dsp.c
index a09179ae85..f0208b16ea 100644
--- a/libavcodec/rv40dsp.c
+++ b/libavcodec/rv40dsp.c
@@ -292,7 +292,7 @@ static const int rv40_bias[4][4] = {
#define RV40_CHROMA_MC(OPNAME, OP)\
static void OPNAME ## rv40_chroma_mc4_c(uint8_t *dst /*align 8*/,\
- uint8_t *src /*align 1*/,\
+ const uint8_t *src /*align 1*/,\
ptrdiff_t stride, int h, int x, int y)\
{\
const int A = (8-x) * (8-y);\
@@ -328,7 +328,7 @@ static void OPNAME ## rv40_chroma_mc4_c(uint8_t *dst /*align 8*/,\
}\
\
static void OPNAME ## rv40_chroma_mc8_c(uint8_t *dst/*align 8*/,\
- uint8_t *src/*align 1*/,\
+ const uint8_t *src/*align 1*/,\
ptrdiff_t stride, int h, int x, int y)\
{\
const int A = (8-x) * (8-y);\
diff --git a/libavcodec/vc1dsp.c b/libavcodec/vc1dsp.c
index 62c553bc01..62c8eb21fa 100644
--- a/libavcodec/vc1dsp.c
+++ b/libavcodec/vc1dsp.c
@@ -787,7 +787,7 @@ PUT_VC1_MSPEL(3, 3)
((A * src[a] + B * src[a + 1] + \
C * src[stride + a] + D * src[stride + a + 1] + 32 - 4) >> 6)
static void put_no_rnd_vc1_chroma_mc8_c(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y)
{
const int A = (8 - x) * (8 - y);
@@ -812,7 +812,7 @@ static void put_no_rnd_vc1_chroma_mc8_c(uint8_t *dst /* align 8 */,
}
}
-static void put_no_rnd_vc1_chroma_mc4_c(uint8_t *dst, uint8_t *src,
+static void put_no_rnd_vc1_chroma_mc4_c(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y)
{
const int A = (8 - x) * (8 - y);
@@ -835,7 +835,7 @@ static void put_no_rnd_vc1_chroma_mc4_c(uint8_t *dst, uint8_t *src,
#define avg2(a, b) (((a) + (b) + 1) >> 1)
static void avg_no_rnd_vc1_chroma_mc8_c(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y)
{
const int A = (8 - x) * (8 - y);
@@ -861,7 +861,7 @@ static void avg_no_rnd_vc1_chroma_mc8_c(uint8_t *dst /* align 8 */,
}
static void avg_no_rnd_vc1_chroma_mc4_c(uint8_t *dst /* align 8 */,
- uint8_t *src /* align 1 */,
+ const uint8_t *src /* align 1 */,
ptrdiff_t stride, int h, int x, int y)
{
const int A = (8 - x) * (8 - y);
diff --git a/libavcodec/x86/h264_chromamc.asm b/libavcodec/x86/h264_chromamc.asm
index e562efd69d..a5c53034a2 100644
--- a/libavcodec/x86/h264_chromamc.asm
+++ b/libavcodec/x86/h264_chromamc.asm
@@ -104,7 +104,7 @@ SECTION .text
%define extra_regs 0
%endif ; rv40
; void ff_put/avg_h264_chroma_mc8_*(uint8_t *dst /* align 8 */,
-; uint8_t *src /* align 1 */,
+; const uint8_t *src /* align 1 */,
; ptrdiff_t stride, int h, int mx, int my)
cglobal %1_%2_chroma_mc8%3, 6, 7 + extra_regs, 0
mov r6d, r5d
diff --git a/libavcodec/x86/h264_chromamc_10bit.asm b/libavcodec/x86/h264_chromamc_10bit.asm
index 34bc41969b..fdc4f407c7 100644
--- a/libavcodec/x86/h264_chromamc_10bit.asm
+++ b/libavcodec/x86/h264_chromamc_10bit.asm
@@ -57,7 +57,7 @@ SECTION .text
%endmacro
;-----------------------------------------------------------------------------
-; void ff_put/avg_h264_chroma_mc8(pixel *dst, pixel *src, ptrdiff_t stride,
+; void ff_put/avg_h264_chroma_mc8(pixel *dst, const pixel *src, ptrdiff_t stride,
; int h, int mx, int my)
;-----------------------------------------------------------------------------
%macro CHROMA_MC8 1
@@ -198,7 +198,7 @@ cglobal %1_h264_chroma_mc4_10, 6,6,7
%endmacro
;-----------------------------------------------------------------------------
-; void ff_put/avg_h264_chroma_mc2(pixel *dst, pixel *src, ptrdiff_t stride,
+; void ff_put/avg_h264_chroma_mc2(pixel *dst, const pixel *src, ptrdiff_t stride,
; int h, int mx, int my)
;-----------------------------------------------------------------------------
%macro CHROMA_MC2 1
diff --git a/libavcodec/x86/h264chroma_init.c b/libavcodec/x86/h264chroma_init.c
index 7c0f492178..b54afd4c08 100644
--- a/libavcodec/x86/h264chroma_init.c
+++ b/libavcodec/x86/h264chroma_init.c
@@ -24,34 +24,34 @@
#include "libavutil/x86/cpu.h"
#include "libavcodec/h264chroma.h"
-void ff_put_h264_chroma_mc8_rnd_mmx (uint8_t *dst, uint8_t *src,
+void ff_put_h264_chroma_mc8_rnd_mmx (uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_avg_h264_chroma_mc8_rnd_mmxext(uint8_t *dst, uint8_t *src,
+void ff_avg_h264_chroma_mc8_rnd_mmxext(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_put_h264_chroma_mc4_mmx (uint8_t *dst, uint8_t *src,
+void ff_put_h264_chroma_mc4_mmx (uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_avg_h264_chroma_mc4_mmxext (uint8_t *dst, uint8_t *src,
+void ff_avg_h264_chroma_mc4_mmxext (uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_put_h264_chroma_mc2_mmxext (uint8_t *dst, uint8_t *src,
+void ff_put_h264_chroma_mc2_mmxext (uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_avg_h264_chroma_mc2_mmxext (uint8_t *dst, uint8_t *src,
+void ff_avg_h264_chroma_mc2_mmxext (uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_put_h264_chroma_mc8_rnd_ssse3(uint8_t *dst, uint8_t *src,
+void ff_put_h264_chroma_mc8_rnd_ssse3(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_put_h264_chroma_mc4_ssse3 (uint8_t *dst, uint8_t *src,
+void ff_put_h264_chroma_mc4_ssse3 (uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_avg_h264_chroma_mc8_rnd_ssse3(uint8_t *dst, uint8_t *src,
+void ff_avg_h264_chroma_mc8_rnd_ssse3(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_avg_h264_chroma_mc4_ssse3 (uint8_t *dst, uint8_t *src,
+void ff_avg_h264_chroma_mc4_ssse3 (uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
#define CHROMA_MC(OP, NUM, DEPTH, OPT) \
void ff_ ## OP ## _h264_chroma_mc ## NUM ## _ ## DEPTH ## _ ## OPT \
- (uint8_t *dst, uint8_t *src, \
+ (uint8_t *dst, const uint8_t *src, \
ptrdiff_t stride, int h, int x, int y);
CHROMA_MC(put, 2, 10, mmxext)
diff --git a/libavcodec/x86/rv40dsp_init.c b/libavcodec/x86/rv40dsp_init.c
index a04c5a5449..ab9e644c60 100644
--- a/libavcodec/x86/rv40dsp_init.c
+++ b/libavcodec/x86/rv40dsp_init.c
@@ -40,14 +40,14 @@ static void op##_rv40_qpel##size##_mc33_##insn(uint8_t *dst, const uint8_t *src,
}
#if HAVE_X86ASM
-void ff_put_rv40_chroma_mc8_mmx (uint8_t *dst, uint8_t *src,
+void ff_put_rv40_chroma_mc8_mmx (uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_avg_rv40_chroma_mc8_mmxext(uint8_t *dst, uint8_t *src,
+void ff_avg_rv40_chroma_mc8_mmxext(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_put_rv40_chroma_mc4_mmx (uint8_t *dst, uint8_t *src,
+void ff_put_rv40_chroma_mc4_mmx (uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_avg_rv40_chroma_mc4_mmxext(uint8_t *dst, uint8_t *src,
+void ff_avg_rv40_chroma_mc4_mmxext(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
#define DECLARE_WEIGHT(opt) \
diff --git a/libavcodec/x86/vc1dsp_init.c b/libavcodec/x86/vc1dsp_init.c
index b1f68b098c..90b2f3624e 100644
--- a/libavcodec/x86/vc1dsp_init.c
+++ b/libavcodec/x86/vc1dsp_init.c
@@ -80,13 +80,13 @@ DECLARE_FUNCTION(avg_, 16, _sse2)
#endif /* HAVE_X86ASM */
-void ff_put_vc1_chroma_mc8_nornd_mmx (uint8_t *dst, uint8_t *src,
+void ff_put_vc1_chroma_mc8_nornd_mmx (uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_avg_vc1_chroma_mc8_nornd_mmxext(uint8_t *dst, uint8_t *src,
+void ff_avg_vc1_chroma_mc8_nornd_mmxext(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_put_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, uint8_t *src,
+void ff_put_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
-void ff_avg_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, uint8_t *src,
+void ff_avg_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
void ff_vc1_inv_trans_4x4_dc_mmxext(uint8_t *dest, ptrdiff_t linesize,
int16_t *block);
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH v5 1/4] avcodec/loongarch: Add wrapper for __lsx_vldx
2022-08-02 0:19 [FFmpeg-devel] [PATCH v5 1/4] avcodec/loongarch: Add wrapper for __lsx_vldx Andreas Rheinhardt
` (2 preceding siblings ...)
2022-08-02 0:23 ` [FFmpeg-devel] [PATCH v5 4/4] avcodec/h264chroma: Constify src in h264_chroma_mc_func Andreas Rheinhardt
@ 2022-08-04 1:26 ` Andreas Rheinhardt
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-08-04 1:26 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Shiyou Yin, Lu Wang, Hao Chen
Andreas Rheinhardt:
> __lsx_vldx does not accept a pointer to const (in fact,
> no function in lsxintrin.h does so), although it is not allowed
> to modify the pointed-to buffer. Therefore this commit adds a wrapper
> for it in order to constify the HEVC DSP functions in a later commit.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> ---
> I have now found a toolchain that supports LSX and LASX:
> https://gitee.com/wenux/cross-compiler-la-on-x86
> With this it was easy to find out why constifying adds new warnings:
> None of the intrinsic functions in lsxintrin.h and lasxintrin.h
> use const at all, including the functions used to read from src
> (__lsx_vldx for LSX and __lasx_xvldx for LASX).
>
> Therefore I am adding wrappers for these functions. They are added
> in commits separate from the constifications in order to be able
> to revert them in a simple manner when they are no longer needed,
> namely when lsxintrin.h and lasxintrin.h are fixed.
> I have resisted the temptation to just #define __lsx_vldx(ptr, stride)
> __lsx_vldx((void*)(ptr), (stride)), because I didn't want to mess
> with reserved identifiers.
>
> Fixing lsxintrin.h and lasxintrin.h would of course be preferable;
> in order to draw loongson's attention to this issue I have cc'ed
> several of the devs that contributed the lsx and lasx code
> in question.
>
I just received a notification that these mails could not be delivered
(for whatever reason). I have therefore given up all hope that this
could simply be fixed by loongson in their headers and will therefore
apply this patchset tonight with the wrapper macro moved to
loongson_intrinsics.h (unless there are objections, of course).
- Andreas
> (All of the above presumes that using __lsx_vldx and __lasx_xvldx
> with a pointer to const is safe; if it isn't, then we are in a lot
> of trouble.)
>
> libavcodec/loongarch/hevc_lpf_sao_lsx.c | 56 +++---
> libavcodec/loongarch/hevc_mc_bi_lsx.c | 144 +++++++--------
> libavcodec/loongarch/hevc_mc_uni_lsx.c | 80 +++++----
> libavcodec/loongarch/hevc_mc_uniw_lsx.c | 12 +-
> libavcodec/loongarch/hevcdsp_lsx.c | 222 ++++++++++++------------
> 5 files changed, 267 insertions(+), 247 deletions(-)
>
> diff --git a/libavcodec/loongarch/hevc_lpf_sao_lsx.c b/libavcodec/loongarch/hevc_lpf_sao_lsx.c
> index fc10e8eda8..d90eaa745e 100644
> --- a/libavcodec/loongarch/hevc_lpf_sao_lsx.c
> +++ b/libavcodec/loongarch/hevc_lpf_sao_lsx.c
> @@ -23,6 +23,10 @@
> #include "libavutil/loongarch/loongson_intrinsics.h"
> #include "hevcdsp_lsx.h"
>
> +/* __lsx_vldx() from lsxintrin.h does not accept a const void*;
> + * remove the following once it does. */
> +#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
> +
> void ff_hevc_loop_filter_luma_h_8_lsx(uint8_t *src, ptrdiff_t stride,
> int32_t beta, int32_t *tc,
> uint8_t *p_is_pcm, uint8_t *q_is_pcm)
> @@ -1201,17 +1205,17 @@ static void hevc_sao_edge_filter_0degree_16multiple_lsx(uint8_t *dst,
> for (; height; height -= 4) {
> src_minus1 = src - 1;
> src_minus10 = __lsx_vld(src_minus1, 0);
> - DUP2_ARG2(__lsx_vldx, src_minus1, src_stride, src_minus1,
> + DUP2_ARG2(LSX_VLDX, src_minus1, src_stride, src_minus1,
> src_stride_2x, src_minus11, src_minus12);
> - src_minus13 = __lsx_vldx(src_minus1, src_stride_3x);
> + src_minus13 = LSX_VLDX(src_minus1, src_stride_3x);
>
> for (v_cnt = 0; v_cnt < width; v_cnt += 16) {
> src_minus1 += 16;
> dst_ptr = dst + v_cnt;
> src10 = __lsx_vld(src_minus1, 0);
> - DUP2_ARG2(__lsx_vldx, src_minus1, src_stride, src_minus1,
> + DUP2_ARG2(LSX_VLDX, src_minus1, src_stride, src_minus1,
> src_stride_2x, src11, src12);
> - src13 = __lsx_vldx(src_minus1, src_stride_3x);
> + src13 = LSX_VLDX(src_minus1, src_stride_3x);
> DUP4_ARG3(__lsx_vshuf_b, src10, src_minus10, shuf1, src11,
> src_minus11, shuf1, src12, src_minus12, shuf1, src13,
> src_minus13, shuf1, src_zero0, src_zero1,
> @@ -1358,7 +1362,7 @@ static void hevc_sao_edge_filter_90degree_4width_lsx(uint8_t *dst,
> src_minus11 = src11;
>
> /* load in advance */
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
> src10, src11);
>
> __lsx_vstelm_w(dst0, dst, 0, 0);
> @@ -1417,7 +1421,7 @@ static void hevc_sao_edge_filter_90degree_8width_lsx(uint8_t *dst,
>
> /* load in advance */
> DUP2_ARG2(__lsx_vld, src - src_stride, 0, src, 0, src_minus10, src_minus11);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src10, src11);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src10, src11);
>
> for (height -= 2; height; height -= 2) {
> src += src_stride_2x;
> @@ -1451,7 +1455,7 @@ static void hevc_sao_edge_filter_90degree_8width_lsx(uint8_t *dst,
> src_minus11 = src11;
>
> /* load in advance */
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
> src10, src11);
>
> __lsx_vstelm_d(dst0, dst, 0, 0);
> @@ -1528,7 +1532,7 @@ static void hevc_sao_edge_filter_90degree_16multiple_lsx(uint8_t *dst,
> src_minus10, src_minus11);
>
> for (h_cnt = (height >> 2); h_cnt--;) {
> - DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
> + DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
> src, src_stride_3x, src, src_stride_4x,
> src10, src11, src12, src13);
> DUP4_ARG2(__lsx_vseq_b, src_minus11, src_minus10, src_minus11,
> @@ -1635,7 +1639,7 @@ static void hevc_sao_edge_filter_45degree_4width_lsx(uint8_t *dst,
> /* load in advance */
> DUP2_ARG2(__lsx_vld, src_orig - src_stride, 0, src_orig, 0,
> src_minus10, src_minus11);
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src10, src11);
>
> for (height -= 2; height; height -= 2) {
> @@ -1677,7 +1681,7 @@ static void hevc_sao_edge_filter_45degree_4width_lsx(uint8_t *dst,
> src_minus11 = src11;
>
> /* load in advance */
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src10, src11);
>
> __lsx_vstelm_w(dst0, dst, 0, 0);
> @@ -1748,7 +1752,7 @@ static void hevc_sao_edge_filter_45degree_8width_lsx(uint8_t *dst,
> /* load in advance */
> DUP2_ARG2(__lsx_vld, src_orig - src_stride, 0, src_orig, 0, src_minus10,
> src_minus11);
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src10, src11);
>
> for (height -= 2; height; height -= 2) {
> @@ -1790,7 +1794,7 @@ static void hevc_sao_edge_filter_45degree_8width_lsx(uint8_t *dst,
> src_minus11 = src11;
>
> /* load in advance */
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src10, src11)
> __lsx_vstelm_d(dst0, dst, 0, 0);
> __lsx_vstelm_d(dst0, dst + dst_stride, 0, 1);
> @@ -1833,7 +1837,7 @@ static void hevc_sao_edge_filter_45degree_8width_lsx(uint8_t *dst,
> src_minus11 = src11;
>
> /* load in advance */
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src10, src11);
>
> __lsx_vstelm_d(dst0, dst, 0, 0);
> @@ -1880,17 +1884,17 @@ static void hevc_sao_edge_filter_45degree_16multiple_lsx(uint8_t *dst,
> src_orig = src - 1;
> dst_orig = dst;
> src_minus11 = __lsx_vld(src_orig, 0);
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src_minus12, src_minus13);
> - src_minus14 = __lsx_vldx(src_orig, src_stride_3x);
> + src_minus14 = LSX_VLDX(src_orig, src_stride_3x);
>
> for (v_cnt = 0; v_cnt < width; v_cnt += 16) {
> src_minus10 = __lsx_vld(src_orig - src_stride, 0);
> src_orig += 16;
> src10 = __lsx_vld(src_orig, 0);
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig,
> src_stride_2x, src11, src12);
> - src13 = __lsx_vldx(src_orig, src_stride_3x);
> + src13 = LSX_VLDX(src_orig, src_stride_3x);
> src_plus13 = __lsx_vld(src + v_cnt + src_stride_4x, 1);
>
> DUP4_ARG3(__lsx_vshuf_b, src10, src_minus11, shuf1, src11,
> @@ -2016,7 +2020,7 @@ static void hevc_sao_edge_filter_135degree_4width_lsx(uint8_t *dst,
> /* load in advance */
> DUP2_ARG2(__lsx_vld, src_orig - src_stride, 0, src_orig, 0,
> src_minus10, src_minus11);
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src10, src11);
>
> for (height -= 2; height; height -= 2) {
> @@ -2058,7 +2062,7 @@ static void hevc_sao_edge_filter_135degree_4width_lsx(uint8_t *dst,
> src_minus11 = src11;
>
> /* load in advance */
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src10, src11);
>
> __lsx_vstelm_w(dst0, dst, 0, 0);
> @@ -2131,7 +2135,7 @@ static void hevc_sao_edge_filter_135degree_8width_lsx(uint8_t *dst,
> /* load in advance */
> DUP2_ARG2(__lsx_vld, src_orig - src_stride, 0, src_orig, 0,
> src_minus10, src_minus11);
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src10, src11);
>
> for (height -= 2; height; height -= 2) {
> @@ -2173,7 +2177,7 @@ static void hevc_sao_edge_filter_135degree_8width_lsx(uint8_t *dst,
> src_minus11 = src11;
>
> /* load in advance */
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src10, src11);
>
> __lsx_vstelm_d(dst0, dst, 0, 0);
> @@ -2255,18 +2259,18 @@ static void hevc_sao_edge_filter_135degree_16multiple_lsx(uint8_t *dst,
> dst_orig = dst;
>
> src_minus11 = __lsx_vld(src_orig, 0);
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src_plus10, src_plus11);
> - src_plus12 = __lsx_vldx(src_orig, src_stride_3x);
> + src_plus12 = LSX_VLDX(src_orig, src_stride_3x);
>
> for (v_cnt = 0; v_cnt < width; v_cnt += 16) {
> src_minus10 = __lsx_vld(src_orig - src_stride, 2);
> - src_plus13 = __lsx_vldx(src_orig, src_stride_4x);
> + src_plus13 = LSX_VLDX(src_orig, src_stride_4x);
> src_orig += 16;
> src10 = __lsx_vld(src_orig, 0);
> - DUP2_ARG2(__lsx_vldx, src_orig, src_stride, src_orig, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_orig, src_stride, src_orig, src_stride_2x,
> src11, src12);
> - src13 =__lsx_vldx(src_orig, src_stride_3x);
> + src13 =LSX_VLDX(src_orig, src_stride_3x);
>
> DUP4_ARG3(__lsx_vshuf_b, src10, src_minus11, shuf1, src11,
> src_plus10, shuf1, src12, src_plus11, shuf1, src13,
> diff --git a/libavcodec/loongarch/hevc_mc_bi_lsx.c b/libavcodec/loongarch/hevc_mc_bi_lsx.c
> index 9092fdccb2..7a789ed92c 100644
> --- a/libavcodec/loongarch/hevc_mc_bi_lsx.c
> +++ b/libavcodec/loongarch/hevc_mc_bi_lsx.c
> @@ -23,6 +23,10 @@
> #include "libavutil/loongarch/loongson_intrinsics.h"
> #include "hevcdsp_lsx.h"
>
> +/* __lsx_vldx() from lsxintrin.h does not accept a const void*;
> + * remove the following once it does. */
> +#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
> +
> static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
> /* 8 width cases */
> 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
> @@ -163,14 +167,14 @@ void hevc_bi_copy_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> DUP2_ARG2(__lsx_vilvl_d, reg1, reg0, reg3, reg2, src2, src3);
> src0_ptr += src_stride_4x;
> in0 = __lsx_vld(src1_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
> + DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
> src2_stride_2x, in1, in2);
> - in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
> + in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
> src1_ptr += src2_stride_2x;
> in4 = __lsx_vld(src1_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
> + DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
> src2_stride_2x, in5, in6);
> - in7 = __lsx_vldx(src1_ptr, src2_stride_3x);
> + in7 = LSX_VLDX(src1_ptr, src2_stride_3x);
> src1_ptr += src2_stride_2x;
> DUP4_ARG2(__lsx_vsllwil_hu_bu, src0, 6, src1, 6, src2, 6, src3, 6,
> dst0, dst2, dst4, dst6);
> @@ -207,7 +211,7 @@ void hevc_bi_copy_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> src0 = __lsx_vilvl_d(reg1, reg0);
> src0_ptr += src_stride_2x;
> in0 = __lsx_vld(src1_ptr, 0);
> - in1 = __lsx_vldx(src1_ptr, src2_stride_x);
> + in1 = LSX_VLDX(src1_ptr, src2_stride_x);
> src1_ptr += src2_stride_x;
> dst0 = __lsx_vsllwil_hu_bu(src0, 6);
> dst1 = __lsx_vilvh_b(zero, src0);
> @@ -265,14 +269,14 @@ void hevc_bi_copy_8w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> DUP4_ARG2(__lsx_vslli_h, dst1, 6, dst3, 6, dst5, 6, dst7, 6, dst1,
> dst3, dst5, dst7);
> in0 = __lsx_vld(src1_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
> + DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
> src2_stride_2x, in1, in2);
> - in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
> + in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
> src1_ptr += src2_stride_2x;
> in4 = __lsx_vld(src1_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
> + DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
> src2_stride_2x, in5, in6);
> - in7 = __lsx_vldx(src1_ptr, src2_stride_3x);
> + in7 = LSX_VLDX(src1_ptr, src2_stride_3x);
> src1_ptr += src2_stride_2x;
> out0 = hevc_bi_rnd_clip(in0, dst0, in1, dst1);
> out1 = hevc_bi_rnd_clip(in2, dst2, in3, dst3);
> @@ -294,7 +298,7 @@ void hevc_bi_copy_8w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> reg1 = __lsx_vldrepl_d(src0_ptr + src_stride, 0);
> src0 = __lsx_vilvl_d(reg1, reg0);
> in0 = __lsx_vld(src1_ptr, 0);
> - in1 = __lsx_vldx(src1_ptr, src2_stride_x);
> + in1 = LSX_VLDX(src1_ptr, src2_stride_x);
> dst0 = __lsx_vsllwil_hu_bu(src0, 6);
> dst1 = __lsx_vilvh_b(zero, src0);
> dst1 = __lsx_vslli_h(dst1, 6);
> @@ -330,19 +334,19 @@ void hevc_bi_copy_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
>
> for (loop_cnt = 4; loop_cnt--;) {
> src0 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src0_ptr, src_stride_3x);
> + src3 = LSX_VLDX(src0_ptr, src_stride_3x);
> src0_ptr += src_stride_4x;
> in0 = __lsx_vld(src1_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
> + DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
> src2_stride_2x, in1, in2);
> - in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
> + in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
> src1_ptr += src2_stride_2x;
> in4 = __lsx_vld(_src1, 0);
> - DUP2_ARG2(__lsx_vldx, _src1, src2_stride_x, _src1, src2_stride_2x,
> + DUP2_ARG2(LSX_VLDX, _src1, src2_stride_x, _src1, src2_stride_2x,
> in5, in6);
> - in7 = __lsx_vldx(_src1, src2_stride_3x);
> + in7 = LSX_VLDX(_src1, src2_stride_3x);
> _src1 += src2_stride_2x;
>
> DUP2_ARG2(__lsx_vilvl_d, in5, in4, in7, in6, in4, in5);
> @@ -389,19 +393,19 @@ void hevc_bi_copy_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src0 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src0_ptr, src_stride_3x);
> + src3 = LSX_VLDX(src0_ptr, src_stride_3x);
> src0_ptr += src_stride_4x;
> in0 = __lsx_vld(src1_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
> + DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
> src2_stride_2x, in1, in2);
> - in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
> + in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
> src1_ptr += src2_stride_2x;
> in4 = __lsx_vld(_src1, 0);
> - DUP2_ARG2(__lsx_vldx, _src1, src2_stride_x, _src1, src2_stride_2x,
> + DUP2_ARG2(LSX_VLDX, _src1, src2_stride_x, _src1, src2_stride_2x,
> in5, in6);
> - in7 = __lsx_vldx(_src1, src2_stride_3x);
> + in7 = LSX_VLDX(_src1, src2_stride_3x);
> _src1 += src2_stride_2x;
> DUP4_ARG2(__lsx_vsllwil_hu_bu, src0, 6, src1, 6, src2, 6, src3, 6,
> dst0_r, dst1_r, dst2_r, dst3_r)
> @@ -647,12 +651,12 @@ void hevc_vt_8t_8w_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr,
> filt0, filt1, filt2, filt3);
>
> src0 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src0_ptr, src_stride_3x);
> + src3 = LSX_VLDX(src0_ptr, src_stride_3x);
> src0_ptr += src_stride_4x;
> src4 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src5, src6);
> src0_ptr += src_stride_3x;
> DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
> @@ -661,14 +665,14 @@ void hevc_vt_8t_8w_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src7 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src8, src9);
> - src10 = __lsx_vldx(src0_ptr, src_stride_3x);
> + src10 = LSX_VLDX(src0_ptr, src_stride_3x);
> src0_ptr += src_stride_4x;
> in0 = __lsx_vld(src1_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr, src2_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr, src2_stride_2x,
> in1, in2);
> - in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
> + in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
> src1_ptr += src2_stride_2x;
> DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10, src9,
> src76_r, src87_r, src98_r, src109_r);
> @@ -741,12 +745,12 @@ void hevc_vt_8t_16multx2mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
> dst_tmp = dst;
>
> src0 = __lsx_vld(src0_ptr_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> + DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src0_ptr_tmp, src_stride_3x);
> + src3 = LSX_VLDX(src0_ptr_tmp, src_stride_3x);
> src0_ptr_tmp += src_stride_4x;
> src4 = __lsx_vld(src0_ptr_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> + DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> src_stride_2x, src5, src6);
> src0_ptr_tmp += src_stride_3x;
>
> @@ -759,7 +763,7 @@ void hevc_vt_8t_16multx2mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
>
> for (loop_cnt = (height >> 1); loop_cnt--;) {
> src7 = __lsx_vld(src0_ptr_tmp, 0);
> - src8 = __lsx_vldx(src0_ptr_tmp, src_stride);
> + src8 = LSX_VLDX(src0_ptr_tmp, src_stride);
> src0_ptr_tmp += src_stride_2x;
> DUP2_ARG2(__lsx_vld, src1_ptr_tmp, 0, src1_ptr_tmp, 16, in0, in2);
> src1_ptr_tmp += src2_stride;
> @@ -903,12 +907,12 @@ void hevc_hv_8t_8multx1mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
> src1_ptr_tmp = src1_ptr;
>
> src0 = __lsx_vld(src0_ptr_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> + DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src0_ptr_tmp, src_stride_3x);
> + src3 = LSX_VLDX(src0_ptr_tmp, src_stride_3x);
> src0_ptr_tmp += src_stride_4x;
> src4 = __lsx_vld(src0_ptr_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> + DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> src_stride_2x, src5, src6);
> src0_ptr_tmp += src_stride_3x;
>
> @@ -1134,9 +1138,9 @@ static void hevc_hz_4t_24w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> dst += dst_stride_4x;
>
> in0 = __lsx_vld(src1_ptr_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr_tmp, src2_stride_x, src1_ptr_tmp,
> + DUP2_ARG2(LSX_VLDX, src1_ptr_tmp, src2_stride_x, src1_ptr_tmp,
> src2_stride_2x, in1, in2);
> - in3 = __lsx_vldx(src1_ptr_tmp, src2_stride_3x);
> + in3 = LSX_VLDX(src1_ptr_tmp, src2_stride_3x);
> src1_ptr_tmp += src2_stride_2x;
>
> DUP4_ARG3(__lsx_vshuf_b, src1, src1, mask0, src3, src3, mask0, src5,
> @@ -1229,7 +1233,7 @@ static void hevc_vt_4t_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> DUP2_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filt0, filt1);
>
> src0 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src1, src2);
> src0_ptr += src_stride_3x;
> DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
> @@ -1238,19 +1242,19 @@ static void hevc_vt_4t_12w_lsx(uint8_t *src0_ptr, int32_t src_stride,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src3 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src4, src5);
> - src6 = __lsx_vldx(src0_ptr, src_stride_3x);
> + src6 = LSX_VLDX(src0_ptr, src_stride_3x);
> src0_ptr += src_stride_4x;
> in0 = __lsx_vld(src1_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
> + DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
> src2_stride_2x, in1, in2);
> - in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
> + in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
> src1_ptr += src2_stride_2x;
> in4 = __lsx_vld(_src1, 0);
> - DUP2_ARG2(__lsx_vldx, _src1, src2_stride_x, _src1, src2_stride_2x,
> + DUP2_ARG2(LSX_VLDX, _src1, src2_stride_x, _src1, src2_stride_2x,
> in5, in6);
> - in7 = __lsx_vldx(_src1, src2_stride_3x);
> + in7 = LSX_VLDX(_src1, src2_stride_3x);
> _src1 += src2_stride_2x;
> DUP2_ARG2(__lsx_vilvl_d, in5, in4, in7, in6, in4, in5);
>
> @@ -1310,7 +1314,7 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> DUP2_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filt0, filt1);
>
> src0 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src1, src2);
> src0_ptr += src_stride_3x;
> DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
> @@ -1318,7 +1322,7 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src3 = __lsx_vld(src0_ptr, 0);
> - src4 = __lsx_vldx(src0_ptr, src_stride);
> + src4 = LSX_VLDX(src0_ptr, src_stride);
> src0_ptr += src_stride_2x;
> DUP2_ARG2(__lsx_vld, src1_ptr, 0, src1_ptr, 16, in0, in2);
> src1_ptr += src2_stride;
> @@ -1340,7 +1344,7 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> dst += dst_stride_2x;
>
> src5 = __lsx_vld(src0_ptr, 0);
> - src2 = __lsx_vldx(src0_ptr, src_stride);
> + src2 = LSX_VLDX(src0_ptr, src_stride);
> src0_ptr += src_stride_2x;
> DUP2_ARG2(__lsx_vld, src1_ptr, 0, src1_ptr, 16, in0, in2);
> src1_ptr += src2_stride;
> @@ -1517,7 +1521,7 @@ static void hevc_hv_4t_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> mask1 = __lsx_vaddi_bu(mask0, 2);
>
> src0 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src1, src2);
> src0_ptr += src_stride_3x;
>
> @@ -1535,9 +1539,9 @@ static void hevc_hv_4t_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> DUP2_ARG2(__lsx_vilvh_h, dsth1, dsth0, dsth2, dsth1, tmp1, tmp3);
>
> src3 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src4, src5);
> - src6 = __lsx_vldx(src0_ptr, src_stride_3x);
> + src6 = LSX_VLDX(src0_ptr, src_stride_3x);
> src0_ptr += src_stride_4x;
> DUP2_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1, vec0, vec1);
> DUP2_ARG3(__lsx_vshuf_b, src4, src4, mask0, src4, src4, mask1, vec2, vec3);
> @@ -1550,9 +1554,9 @@ static void hevc_hv_4t_6w_lsx(uint8_t *src0_ptr, int32_t src_stride,
> vec5, filt1, dsth6, vec7, filt1, dsth3, dsth4, dsth5, dsth6);
>
> src3 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src4, src5);
> - src6 = __lsx_vldx(src0_ptr, src_stride_3x);
> + src6 = LSX_VLDX(src0_ptr, src_stride_3x);
>
> DUP2_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1, vec0, vec1);
> DUP2_ARG3(__lsx_vshuf_b, src4, src4, mask0, src4, src4, mask1, vec2, vec3);
> @@ -1700,7 +1704,7 @@ void hevc_hv_4t_8x2_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr
> mask1 = __lsx_vaddi_bu(mask0, 2);
>
> src0 = __lsx_vld(src0_ptr, 0);
> - DUP4_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP4_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src0_ptr, src_stride_3x, src0_ptr, src_stride_4x,
> src1, src2, src3, src4);
>
> @@ -1777,19 +1781,19 @@ void hevc_hv_4t_8multx4_lsx(uint8_t *src0_ptr, int32_t src_stride,
>
> for (cnt = width8mult; cnt--;) {
> src0 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src0_ptr, src_stride_3x);
> + src3 = LSX_VLDX(src0_ptr, src_stride_3x);
> src0_ptr += src_stride_4x;
> src4 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src5, src6);
> src0_ptr += (8 - src_stride_4x);
>
> in0 = __lsx_vld(src1_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr,
> + DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr,
> src2_stride_2x, in1, in2);
> - in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
> + in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
> src1_ptr += 8;
>
> DUP2_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1,
> @@ -1900,22 +1904,22 @@ void hevc_hv_4t_8x6_lsx(uint8_t *src0_ptr, int32_t src_stride, int16_t *src1_ptr
> mask1 = __lsx_vaddi_bu(mask0, 2);
>
> src0 = __lsx_vld(src0_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src0_ptr, src_stride_3x);
> + src3 = LSX_VLDX(src0_ptr, src_stride_3x);
> src0_ptr += src_stride_4x;
> src4 = __lsx_vld(src0_ptr, 0);
> - DUP4_ARG2(__lsx_vldx, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> + DUP4_ARG2(LSX_VLDX, src0_ptr, src_stride, src0_ptr, src_stride_2x,
> src0_ptr, src_stride_3x, src0_ptr, src_stride_4x,
> src5, src6, src7, src8);
>
> in0 = __lsx_vld(src1_ptr, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr, src2_stride_x, src1_ptr, src2_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src1_ptr, src2_stride_x, src1_ptr, src2_stride_2x,
> in1, in2);
> - in3 = __lsx_vldx(src1_ptr, src2_stride_3x);
> + in3 = LSX_VLDX(src1_ptr, src2_stride_3x);
> src1_ptr += src2_stride_2x;
> in4 = __lsx_vld(src1_ptr, 0);
> - in5 = __lsx_vldx(src1_ptr, src2_stride_x);
> + in5 = LSX_VLDX(src1_ptr, src2_stride_x);
>
> DUP2_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, vec0, vec1);
> DUP2_ARG3(__lsx_vshuf_b, src1, src1, mask0, src1, src1, mask1, vec2, vec3);
> @@ -2041,7 +2045,7 @@ void hevc_hv_4t_8multx4mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
> src1_ptr_tmp = src1_ptr;
>
> src0 = __lsx_vld(src0_ptr_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> + DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> src_stride_2x, src1, src2);
> src0_ptr_tmp += src_stride_3x;
>
> @@ -2063,14 +2067,14 @@ void hevc_hv_4t_8multx4mult_lsx(uint8_t *src0_ptr, int32_t src_stride,
>
> for (loop_cnt = height >> 2; loop_cnt--;) {
> src3 = __lsx_vld(src0_ptr_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> + DUP2_ARG2(LSX_VLDX, src0_ptr_tmp, src_stride, src0_ptr_tmp,
> src_stride_2x, src4, src5);
> - src6 = __lsx_vldx(src0_ptr_tmp, src_stride_3x);
> + src6 = LSX_VLDX(src0_ptr_tmp, src_stride_3x);
> src0_ptr_tmp += src_stride_4x;
> in0 = __lsx_vld(src1_ptr_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src1_ptr_tmp, src2_stride_x, src1_ptr_tmp,
> + DUP2_ARG2(LSX_VLDX, src1_ptr_tmp, src2_stride_x, src1_ptr_tmp,
> src2_stride_2x, in1, in2);
> - in3 = __lsx_vldx(src1_ptr_tmp, src2_stride_3x);
> + in3 = LSX_VLDX(src1_ptr_tmp, src2_stride_3x);
> src1_ptr_tmp += src2_stride_2x;
>
> DUP4_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1, src4,
> diff --git a/libavcodec/loongarch/hevc_mc_uni_lsx.c b/libavcodec/loongarch/hevc_mc_uni_lsx.c
> index a15c86268f..8997ba4868 100644
> --- a/libavcodec/loongarch/hevc_mc_uni_lsx.c
> +++ b/libavcodec/loongarch/hevc_mc_uni_lsx.c
> @@ -23,6 +23,10 @@
> #include "libavutil/loongarch/loongson_intrinsics.h"
> #include "hevcdsp_lsx.h"
>
> +/* __lsx_vldx() from lsxintrin.h does not accept a const void*;
> + * remove the following once it does. */
> +#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
> +
> static const uint8_t ff_hevc_mask_arr[16 * 3] __attribute__((aligned(0x40))) = {
> /* 8 width cases */
> 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
> @@ -148,11 +152,11 @@ void common_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
> filt0, filt1, filt2, filt3);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> src += src_stride_3x;
> DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
> src10_r, src32_r, src54_r, src21_r);
> @@ -160,8 +164,8 @@ void common_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src7 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
> - src10 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
> + src10 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
>
> DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10,
> @@ -228,12 +232,12 @@ void common_vt_8t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
> dst_tmp = dst;
>
> src0 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src_tmp, src_stride_3x);
> + src3 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
> src4 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src5, src6);
> src_tmp += src_stride_3x;
> DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
> @@ -245,9 +249,9 @@ void common_vt_8t_16w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src7 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src8, src9);
> - src10 = __lsx_vldx(src_tmp, src_stride_3x);
> + src10 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
> DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10,
> src9, src76_r, src87_r, src98_r, src109_r);
> @@ -380,12 +384,12 @@ void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
> dst_tmp = dst;
>
> src0 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src_tmp, src_stride_3x);
> + src3 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
> src4 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src5, src6);
> src_tmp += src_stride_3x;
>
> @@ -429,7 +433,7 @@ void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
>
> for (loop_cnt = height >> 1; loop_cnt--;) {
> src7 = __lsx_vld(src_tmp, 0);
> - src8 = __lsx_vldx(src_tmp, src_stride);
> + src8 = LSX_VLDX(src_tmp, src_stride);
> src_tmp += src_stride_2x;
>
> DUP4_ARG3(__lsx_vshuf_b, src7, src7, mask0, src7, src7, mask1, src7,
> @@ -567,13 +571,13 @@ void common_vt_4t_24w_lsx(uint8_t *src, int32_t src_stride,
>
> /* 16 width */
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
> DUP2_ARG2(__lsx_vilvh_b, src1, src0, src2, src1, src10_l, src21_l);
>
> /* 8 width */
> src6 = __lsx_vld(_src, 0);
> - DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x, src7, src8);
> + DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x, src7, src8);
> src += src_stride_3x;
> _src += src_stride_3x;
> DUP2_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src76_r, src87_r);
> @@ -581,7 +585,7 @@ void common_vt_4t_24w_lsx(uint8_t *src, int32_t src_stride,
> for (loop_cnt = 8; loop_cnt--;) {
> /* 16 width */
> DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src3, src9);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src4, src10);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src4, src10);
> DUP2_ARG2(__lsx_vilvl_b, src3, src2, src4, src3, src32_r, src43_r);
> DUP2_ARG2(__lsx_vilvh_b, src3, src2, src4, src3, src32_l, src43_l);
>
> @@ -615,7 +619,7 @@ void common_vt_4t_24w_lsx(uint8_t *src, int32_t src_stride,
>
> /* 16 width */
> DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src5, src11);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src2, src8);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src2, src8);
> DUP2_ARG2(__lsx_vilvl_b, src5, src4, src2, src5, src10_r, src21_r);
> DUP2_ARG2(__lsx_vilvh_b, src5, src4, src2, src5, src10_l, src21_l);
>
> @@ -676,14 +680,14 @@ void common_vt_4t_32w_lsx(uint8_t *src, int32_t src_stride,
>
> /* 16 width */
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
>
> DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
> DUP2_ARG2(__lsx_vilvh_b, src1, src0, src2, src1, src10_l, src21_l);
>
> /* next 16 width */
> src6 = __lsx_vld(_src, 0);
> - DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x, src7, src8);
> + DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x, src7, src8);
> src += src_stride_3x;
> _src += src_stride_3x;
>
> @@ -693,7 +697,7 @@ void common_vt_4t_32w_lsx(uint8_t *src, int32_t src_stride,
> for (loop_cnt = (height >> 1); loop_cnt--;) {
> /* 16 width */
> DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src3, src9);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src4, src10);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src4, src10);
> DUP2_ARG2(__lsx_vilvl_b, src3, src2, src4, src3, src32_r, src43_r);
> DUP2_ARG2(__lsx_vilvh_b, src3, src2, src4, src3, src32_l, src43_l);
>
> @@ -774,7 +778,7 @@ void hevc_hv_4t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
>
> mask1 = __lsx_vaddi_bu(mask0, 2);
> src0 = __lsx_vld(src, 0);
> - DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src,
> + DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src,
> src_stride_3x, src, src_stride_4x, src1, src2, src3, src4);
>
> DUP4_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, src1, src1,
> @@ -838,11 +842,11 @@ void hevc_hv_4t_8multx4_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
>
> for (cnt = width8mult; cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> src += (8 - src_stride_4x);
> DUP2_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1,
> vec0, vec1);
> @@ -939,10 +943,10 @@ void hevc_hv_4t_8x6_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
> mask1 = __lsx_vaddi_bu(mask0, 2);
>
> src0 = __lsx_vld(src, 0);
> - DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,src,
> + DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,src,
> src_stride_3x, src, src_stride_4x, src1, src2, src3, src4);
> src += src_stride_4x;
> - DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,src,
> + DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,src,
> src_stride_3x, src, src_stride_4x, src5, src6, src7, src8);
>
> DUP4_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, src1, src1,
> @@ -1051,7 +1055,7 @@ void hevc_hv_4t_8multx4mult_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
> dst_tmp = dst;
>
> src0 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src1, src2);
> src_tmp += src_stride_3x;
>
> @@ -1073,9 +1077,9 @@ void hevc_hv_4t_8multx4mult_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src3 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src4, src5);
> - src6 = __lsx_vldx(src_tmp, src_stride_3x);
> + src6 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
>
> DUP4_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1, src4,
> @@ -1185,7 +1189,7 @@ void hevc_hv_4t_12w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
> dst_tmp = dst;
>
> src0 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src1, src2);
> src_tmp += src_stride_3x;
>
> @@ -1204,9 +1208,9 @@ void hevc_hv_4t_12w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
>
> for (loop_cnt = 4; loop_cnt--;) {
> src3 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src4, src5);
> - src6 = __lsx_vldx(src_tmp, src_stride_3x);
> + src6 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
>
> DUP4_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1, src4,
> @@ -1260,7 +1264,7 @@ void hevc_hv_4t_12w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
> mask3 = __lsx_vaddi_bu(mask2, 2);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> src += src_stride_3x;
> DUP2_ARG3(__lsx_vshuf_b, src1, src0, mask2, src1, src0, mask3, vec0, vec1);
> DUP2_ARG3(__lsx_vshuf_b, src2, src1, mask2, src2, src1, mask3, vec2, vec3);
> @@ -1275,12 +1279,12 @@ void hevc_hv_4t_12w_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
>
> for (loop_cnt = 2; loop_cnt--;) {
> src3 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src4, src5);
> - src6 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src4, src5);
> + src6 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src7 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
> - src10 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
> + src10 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> DUP4_ARG3(__lsx_vshuf_b, src7, src3, mask2, src7, src3, mask3, src8,
> src4, mask2, src8, src4, mask3, vec0, vec1, vec2, vec3);
> diff --git a/libavcodec/loongarch/hevc_mc_uniw_lsx.c b/libavcodec/loongarch/hevc_mc_uniw_lsx.c
> index 118f5b820e..30ee341e54 100644
> --- a/libavcodec/loongarch/hevc_mc_uniw_lsx.c
> +++ b/libavcodec/loongarch/hevc_mc_uniw_lsx.c
> @@ -23,6 +23,10 @@
> #include "libavutil/loongarch/loongson_intrinsics.h"
> #include "hevcdsp_lsx.h"
>
> +/* __lsx_vldx() from lsxintrin.h does not accept a const void*;
> + * remove the following once it does. */
> +#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
> +
> static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
> /* 8 width cases */
> 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
> @@ -79,12 +83,12 @@ void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
> dst_tmp = dst;
>
> src0 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src_tmp, src_stride_3x);
> + src3 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
> src4 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src5, src6);
> src_tmp += src_stride_3x;
>
> @@ -127,7 +131,7 @@ void hevc_hv_8t_8x2_lsx(uint8_t *src, int32_t src_stride, uint8_t *dst,
>
> for (loop_cnt = height >> 1; loop_cnt--;) {
> src7 = __lsx_vld(src_tmp, 0);
> - src8 = __lsx_vldx(src_tmp, src_stride);
> + src8 = LSX_VLDX(src_tmp, src_stride);
> src_tmp += src_stride_2x;
> DUP4_ARG3(__lsx_vshuf_b, src7, src7, mask0, src7, src7, mask1, src7,
> src7, mask2, src7, src7, mask3, vec0, vec1, vec2, vec3);
> diff --git a/libavcodec/loongarch/hevcdsp_lsx.c b/libavcodec/loongarch/hevcdsp_lsx.c
> index a520f02bd1..c88d1087fc 100644
> --- a/libavcodec/loongarch/hevcdsp_lsx.c
> +++ b/libavcodec/loongarch/hevcdsp_lsx.c
> @@ -23,6 +23,10 @@
> #include "libavutil/loongarch/loongson_intrinsics.h"
> #include "hevcdsp_lsx.h"
>
> +/* __lsx_vldx() from lsxintrin.h does not accept a const void*;
> + * remove the following once it does. */
> +#define LSX_VLDX(cptr, stride) __lsx_vldx((void*)cptr, stride)
> +
> static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = {
> /* 8 width cases */
> 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
> @@ -48,14 +52,14 @@ static void hevc_copy_4w_lsx(uint8_t *src, int32_t src_stride,
> __m128i in0, in1, in2, in3;
> for (; loop_cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
> src5, src6);
> - src7 = __lsx_vldx(src, src_stride_3x);
> + src7 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
>
> DUP4_ARG2(__lsx_vilvl_w, src1, src0, src3, src2, src5, src4, src7, src6,
> @@ -98,12 +102,12 @@ static void hevc_copy_6w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 3); loop_cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> - src7 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> + src7 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
>
> DUP4_ARG2(__lsx_vsllwil_hu_bu, src0, 6, src1, 6, src2, 6, src3, 6,
> @@ -163,14 +167,14 @@ static void hevc_copy_8w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 3); loop_cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
> src5, src6);
> - src7 = __lsx_vldx(src, src_stride_3x);
> + src7 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
>
> DUP4_ARG2(__lsx_vsllwil_hu_bu, src0, 6, src1, 6, src2, 6, src3, 6,
> @@ -215,12 +219,12 @@ static void hevc_copy_12w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 3); loop_cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> - src7 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> + src7 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
>
> DUP4_ARG2(__lsx_vsllwil_hu_bu, src0, 6, src1, 6, src2, 6, src3, 6,
> @@ -288,14 +292,14 @@ static void hevc_copy_16w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 3); loop_cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
> src5, src6);
> - src7 = __lsx_vldx(src, src_stride_3x);
> + src7 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> DUP4_ARG2(__lsx_vilvh_b, zero, src0, zero, src1, zero, src2, zero, src3,
> in0_l, in1_l, in2_l, in3_l);
> @@ -333,8 +337,8 @@ static void hevc_copy_16w_lsx(uint8_t *src, int32_t src_stride,
> }
> if (res) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
>
> DUP4_ARG2(__lsx_vilvh_b, zero, src0, zero, src1, zero, src2, zero, src3,
> in0_l, in1_l, in2_l, in3_l);
> @@ -373,13 +377,13 @@ static void hevc_copy_24w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(_src, 0);
> - DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x,
> src5, src6);
> - src7 = __lsx_vldx(_src, src_stride_3x);
> + src7 = LSX_VLDX(_src, src_stride_3x);
> _src += src_stride_4x;
>
> DUP4_ARG2(__lsx_vilvh_b, zero, src0, zero, src1, zero, src2, zero,
> @@ -423,13 +427,13 @@ static void hevc_copy_32w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src2, src4);
> - src6 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src2, src4);
> + src6 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src1 = __lsx_vld(_src, 0);
> - DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x,
> src3, src5);
> - src7 = __lsx_vldx(_src, src_stride_3x);
> + src7 = LSX_VLDX(_src, src_stride_3x);
> _src += src_stride_4x;
>
> DUP4_ARG2(__lsx_vilvh_b, zero, src0, zero, src1, zero, src2, zero,
> @@ -623,12 +627,12 @@ static void hevc_hz_8t_4w_lsx(uint8_t *src, int32_t src_stride,
>
> for (;loop_cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> - src7 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> + src7 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> DUP4_ARG3(__lsx_vshuf_b, src1, src0, mask0, src1, src0, mask1, src1,
> src0, mask2, src1, src0, mask3, vec0, vec1, vec2, vec3);
> @@ -668,7 +672,7 @@ static void hevc_hz_8t_4w_lsx(uint8_t *src, int32_t src_stride,
> }
> for (;res--;) {
> src0 = __lsx_vld(src, 0);
> - src1 = __lsx_vldx(src, src_stride);
> + src1 = LSX_VLDX(src, src_stride);
> DUP4_ARG3(__lsx_vshuf_b, src1, src0, mask0, src1, src0, mask1, src1,
> src0, mask2, src1, src0, mask3, vec0, vec1, vec2, vec3);
> dst0 = __lsx_vdp2_h_bu_b(vec0, filt0);
> @@ -709,8 +713,8 @@ static void hevc_hz_8t_8w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
>
> DUP4_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, src0,
> @@ -774,12 +778,12 @@ static void hevc_hz_8t_12w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = 4; loop_cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src4 = __lsx_vld(_src, 0);
> - DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x,
> src5, src6);
> - src7 = __lsx_vldx(_src, src_stride_3x);
> + src7 = LSX_VLDX(_src, src_stride_3x);
> src += src_stride_4x;
> _src += src_stride_4x;
>
> @@ -1216,11 +1220,11 @@ static void hevc_vt_8t_4w_lsx(uint8_t *src, int32_t src_stride,
> filt0, filt1, filt2, filt3);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> src += src_stride_3x;
> DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
> src10_r, src32_r, src54_r, src21_r);
> @@ -1231,13 +1235,13 @@ static void hevc_vt_8t_4w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 3); loop_cnt--;) {
> src7 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
> - src10 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
> + src10 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src11 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x,
> src12, src13);
> - src14 = __lsx_vldx(src, src_stride_3x);
> + src14 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
>
> DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10, src9,
> @@ -1289,7 +1293,7 @@ static void hevc_vt_8t_4w_lsx(uint8_t *src, int32_t src_stride,
> }
> for (;res--;) {
> src7 = __lsx_vld(src, 0);
> - src8 = __lsx_vldx(src, src_stride);
> + src8 = LSX_VLDX(src, src_stride);
> DUP2_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src76_r, src87_r);
> src += src_stride_2x;
> src8776 = __lsx_vilvl_d(src87_r, src76_r);
> @@ -1334,11 +1338,11 @@ static void hevc_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
> filt0, filt1, filt2, filt3);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> src += src_stride_3x;
> DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
> src10_r, src32_r, src54_r, src21_r);
> @@ -1346,8 +1350,8 @@ static void hevc_vt_8t_8w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src7 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
> - src10 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
> + src10 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10,
> src9, src76_r, src87_r, src98_r, src109_r);
> @@ -1408,11 +1412,11 @@ static void hevc_vt_8t_12w_lsx(uint8_t *src, int32_t src_stride,
> DUP4_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filter, 4, filter, 6,
> filt0, filt1, filt2, filt3);
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> src += src_stride_3x;
> DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
> src10_r, src32_r, src54_r, src21_r);
> @@ -1426,8 +1430,8 @@ static void hevc_vt_8t_12w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src7 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
> - src10 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
> + src10 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8, src10,
> src9, src76_r, src87_r, src98_r, src109_r);
> @@ -1520,12 +1524,12 @@ static void hevc_vt_8t_16multx4mult_lsx(uint8_t *src,
> dst_tmp = dst;
>
> src0 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src_tmp, src_stride_3x);
> + src3 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
> src4 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src5, src6);
> src_tmp += src_stride_3x;
> DUP4_ARG2(__lsx_vilvl_b, src1, src0, src3, src2, src5, src4, src2, src1,
> @@ -1537,9 +1541,9 @@ static void hevc_vt_8t_16multx4mult_lsx(uint8_t *src,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src7 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src8, src9);
> - src10 = __lsx_vldx(src_tmp, src_stride_3x);
> + src10 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
> DUP4_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src9, src8,
> src10, src9, src76_r, src87_r, src98_r, src109_r);
> @@ -1689,11 +1693,11 @@ static void hevc_hv_8t_4w_lsx(uint8_t *src, int32_t src_stride,
> mask3 = __lsx_vaddi_bu(mask0, 6);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> src += src_stride_3x;
>
> DUP4_ARG3(__lsx_vshuf_b, src3, src0, mask0, src3, src0, mask1, src3, src0,
> @@ -1729,8 +1733,8 @@ static void hevc_hv_8t_4w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = height >> 2; loop_cnt--;) {
> src7 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
> - src10 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
> + src10 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
>
> DUP4_ARG3(__lsx_vshuf_b, src9, src7, mask0, src9, src7, mask1, src9, src7,
> @@ -1830,12 +1834,12 @@ static void hevc_hv_8t_8multx1mult_lsx(uint8_t *src,
> src_tmp = src;
> dst_tmp = dst;
> src0 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src_tmp, src_stride_3x);
> + src3 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
> src4 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src5, src6);
> src_tmp += src_stride_3x;
>
> @@ -1978,12 +1982,12 @@ static void hevc_hv_8t_12w_lsx(uint8_t *src, int32_t src_stride,
> dst_tmp = dst;
>
> src0 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src1, src2);
> - src3 = __lsx_vldx(src_tmp, src_stride_3x);
> + src3 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
> src4 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src5, src6);
> src_tmp += src_stride_3x;
>
> @@ -2077,11 +2081,11 @@ static void hevc_hv_8t_12w_lsx(uint8_t *src, int32_t src_stride,
> mask7 = __lsx_vaddi_bu(mask4, 6);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src4 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> src += src_stride_3x;
>
> DUP4_ARG3(__lsx_vshuf_b, src3, src0, mask4, src3, src0, mask5, src3, src0,
> @@ -2118,8 +2122,8 @@ static void hevc_hv_8t_12w_lsx(uint8_t *src, int32_t src_stride,
>
> for (loop_cnt = height >> 2; loop_cnt--;) {
> src7 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
> - src10 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
> + src10 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
>
> DUP4_ARG3(__lsx_vshuf_b, src9, src7, mask4, src9, src7, mask5, src9,
> @@ -2285,14 +2289,14 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src,
> DUP2_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filt0, filt1);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> src += src_stride_3x;
> DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
> DUP2_ARG2(__lsx_vilvh_b, src1, src0, src2, src1, src10_l, src21_l);
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> src3 = __lsx_vld(src, 0);
> - src4 = __lsx_vldx(src, src_stride);
> + src4 = LSX_VLDX(src, src_stride);
> src += src_stride_2x;
> DUP2_ARG2(__lsx_vilvl_b, src3, src2, src4, src3, src32_r, src43_r);
> DUP2_ARG2(__lsx_vilvh_b, src3, src2, src4, src3, src32_l, src43_l);
> @@ -2309,7 +2313,7 @@ static void hevc_vt_4t_16w_lsx(uint8_t *src,
> dst += dst_stride;
>
> src5 = __lsx_vld(src, 0);
> - src2 = __lsx_vldx(src, src_stride);
> + src2 = LSX_VLDX(src, src_stride);
> src += src_stride_2x;
> DUP2_ARG2(__lsx_vilvl_b, src5, src4, src2, src5, src10_r, src21_r);
> DUP2_ARG2(__lsx_vilvh_b, src5, src4, src2, src5, src10_l, src21_l);
> @@ -2353,19 +2357,19 @@ static void hevc_vt_4t_24w_lsx(uint8_t *src,
> DUP2_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filt0, filt1);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
> DUP2_ARG2(__lsx_vilvh_b, src1, src0, src2, src1, src10_l, src21_l);
>
> src6 = __lsx_vld(_src, 0);
> - DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x, src7, src8);
> + DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x, src7, src8);
> src += src_stride_3x;
> _src += src_stride_3x;
> DUP2_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src76_r, src87_r);
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src3, src9);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src4, src10);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src4, src10);
> src += src_stride_2x;
> _src += src_stride_2x;
> DUP2_ARG2(__lsx_vilvl_b, src3, src2, src4, src3, src32_r, src43_r);
> @@ -2392,7 +2396,7 @@ static void hevc_vt_4t_24w_lsx(uint8_t *src,
> dst += dst_stride;
>
> DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src5, src11);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src2, src8);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src2, src8);
> src += src_stride_2x;
> _src += src_stride_2x;
> DUP2_ARG2(__lsx_vilvl_b, src5, src4, src2, src5, src10_r, src21_r);
> @@ -2448,12 +2452,12 @@ static void hevc_vt_4t_32w_lsx(uint8_t *src,
> DUP2_ARG2(__lsx_vldrepl_h, filter, 0, filter, 2, filt0, filt1);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> DUP2_ARG2(__lsx_vilvl_b, src1, src0, src2, src1, src10_r, src21_r);
> DUP2_ARG2(__lsx_vilvh_b, src1, src0, src2, src1, src10_l, src21_l);
>
> src6 = __lsx_vld(_src, 0);
> - DUP2_ARG2(__lsx_vldx, _src, src_stride, _src, src_stride_2x, src7, src8);
> + DUP2_ARG2(LSX_VLDX, _src, src_stride, _src, src_stride_2x, src7, src8);
> src += src_stride_3x;
> _src += src_stride_3x;
> DUP2_ARG2(__lsx_vilvl_b, src7, src6, src8, src7, src76_r, src87_r);
> @@ -2461,7 +2465,7 @@ static void hevc_vt_4t_32w_lsx(uint8_t *src,
>
> for (loop_cnt = (height >> 2); loop_cnt--;) {
> DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src3, src9);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src4, src10);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src4, src10);
> src += src_stride_2x;
> _src += src_stride_2x;
> DUP2_ARG2(__lsx_vilvl_b, src3, src2, src4, src3, src32_r, src43_r);
> @@ -2493,7 +2497,7 @@ static void hevc_vt_4t_32w_lsx(uint8_t *src,
> dst += dst_stride;
>
> DUP2_ARG2(__lsx_vld, src, 0, _src, 0, src5, src11);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, _src, src_stride, src2, src8);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, _src, src_stride, src2, src8);
> src += src_stride_2x;
> _src += src_stride_2x;
> DUP2_ARG2(__lsx_vilvl_b, src5, src4, src2, src5, src10_r, src21_r);
> @@ -2560,9 +2564,9 @@ static void hevc_hv_4t_8x2_lsx(uint8_t *src,
> mask1 = __lsx_vaddi_bu(mask0, 2);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> - src3 = __lsx_vldx(src, src_stride_3x);
> - src4 = __lsx_vldx(src, src_stride_4x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> + src3 = LSX_VLDX(src, src_stride_3x);
> + src4 = LSX_VLDX(src, src_stride_4x);
>
> DUP2_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, vec0, vec1);
> DUP2_ARG3(__lsx_vshuf_b, src1, src1, mask0, src1, src1, mask1, vec2, vec3);
> @@ -2627,10 +2631,10 @@ static void hevc_hv_4t_8multx4_lsx(uint8_t *src, int32_t src_stride,
>
> for (cnt = width8mult; cnt--;) {
> src0 = __lsx_vld(src, 0);
> - DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src,
> + DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src,
> src_stride_3x, src, src_stride_4x, src1, src2, src3, src4);
> src += src_stride_4x;
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src5, src6);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src5, src6);
> src += (8 - src_stride_4x);
>
> DUP2_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1,
> @@ -2730,10 +2734,10 @@ static void hevc_hv_4t_8x6_lsx(uint8_t *src,
> mask1 = __lsx_vaddi_bu(mask0, 2);
>
> src0 = __lsx_vld(src, 0);
> - DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src,
> + DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src,
> src_stride_3x, src, src_stride_4x, src1, src2, src3, src4);
> src += src_stride_4x;
> - DUP4_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src,
> + DUP4_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src,
> src_stride_3x, src, src_stride_4x, src5, src6, src7, src8);
>
> DUP4_ARG3(__lsx_vshuf_b, src0, src0, mask0, src0, src0, mask1, src1, src1,
> @@ -2847,7 +2851,7 @@ static void hevc_hv_4t_8multx4mult_lsx(uint8_t *src,
> dst_tmp = dst;
>
> src0 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src1, src2);
> src_tmp += src_stride_3x;
>
> @@ -2869,9 +2873,9 @@ static void hevc_hv_4t_8multx4mult_lsx(uint8_t *src,
>
> for (loop_cnt = height >> 2; loop_cnt--;) {
> src3 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src4, src5);
> - src6 = __lsx_vldx(src_tmp, src_stride_3x);
> + src6 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
>
> DUP2_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1,
> @@ -2997,7 +3001,7 @@ static void hevc_hv_4t_12w_lsx(uint8_t *src,
> dst_tmp = dst;
>
> src0 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src1, src2);
> src_tmp += src_stride_3x;
>
> @@ -3016,9 +3020,9 @@ static void hevc_hv_4t_12w_lsx(uint8_t *src,
>
> for (loop_cnt = 4; loop_cnt--;) {
> src3 = __lsx_vld(src_tmp, 0);
> - DUP2_ARG2(__lsx_vldx, src_tmp, src_stride, src_tmp, src_stride_2x,
> + DUP2_ARG2(LSX_VLDX, src_tmp, src_stride, src_tmp, src_stride_2x,
> src4, src5);
> - src6 = __lsx_vldx(src_tmp, src_stride_3x);
> + src6 = LSX_VLDX(src_tmp, src_stride_3x);
> src_tmp += src_stride_4x;
>
> DUP2_ARG3(__lsx_vshuf_b, src3, src3, mask0, src3, src3, mask1,
> @@ -3077,7 +3081,7 @@ static void hevc_hv_4t_12w_lsx(uint8_t *src,
> mask3 = __lsx_vaddi_bu(mask2, 2);
>
> src0 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src1, src2);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src1, src2);
> src += src_stride_3x;
> DUP2_ARG3(__lsx_vshuf_b, src1, src0, mask2, src1, src0, mask3, vec0, vec1);
> DUP2_ARG3(__lsx_vshuf_b, src2, src1, mask2, src2, src1, mask3, vec2, vec3);
> @@ -3090,12 +3094,12 @@ static void hevc_hv_4t_12w_lsx(uint8_t *src,
>
> for (loop_cnt = 2; loop_cnt--;) {
> src3 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src4, src5);
> - src6 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src4, src5);
> + src6 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> src7 = __lsx_vld(src, 0);
> - DUP2_ARG2(__lsx_vldx, src, src_stride, src, src_stride_2x, src8, src9);
> - src10 = __lsx_vldx(src, src_stride_3x);
> + DUP2_ARG2(LSX_VLDX, src, src_stride, src, src_stride_2x, src8, src9);
> + src10 = LSX_VLDX(src, src_stride_3x);
> src += src_stride_4x;
> DUP2_ARG3(__lsx_vshuf_b, src7, src3, mask2, src7, src3, mask3,
> vec0, vec1);
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-08-04 1:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-02 0:19 [FFmpeg-devel] [PATCH v5 1/4] avcodec/loongarch: Add wrapper for __lsx_vldx Andreas Rheinhardt
2022-08-02 0:23 ` [FFmpeg-devel] [PATCH v5 2/4] avcodec/hevcdsp: Constify src pointers Andreas Rheinhardt
2022-08-02 0:23 ` [FFmpeg-devel] [PATCH v5 3/4] avcodec/loongarch/h264chroma, vc1dsp_lasx: Add wrapper for __lasx_xvldx Andreas Rheinhardt
2022-08-02 0:23 ` [FFmpeg-devel] [PATCH v5 4/4] avcodec/h264chroma: Constify src in h264_chroma_mc_func Andreas Rheinhardt
2022-08-04 1:26 ` [FFmpeg-devel] [PATCH v5 1/4] avcodec/loongarch: Add wrapper for __lsx_vldx Andreas Rheinhardt
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git