diff options
Diffstat (limited to 'libavcodec/loongarch/hevc_lpf_sao_lsx.c')
-rw-r--r-- | libavcodec/loongarch/hevc_lpf_sao_lsx.c | 86 |
1 files changed, 44 insertions, 42 deletions
diff --git a/libavcodec/loongarch/hevc_lpf_sao_lsx.c b/libavcodec/loongarch/hevc_lpf_sao_lsx.c index ae70f0c693..1944336876 100644 --- a/libavcodec/loongarch/hevc_lpf_sao_lsx.c +++ b/libavcodec/loongarch/hevc_lpf_sao_lsx.c @@ -24,8 +24,8 @@ #include "hevcdsp_lsx.h" 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); @@ -436,8 +436,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); @@ -861,8 +861,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; @@ -915,8 +915,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); @@ -987,9 +987,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); @@ -1072,9 +1072,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); @@ -1165,13 +1165,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); @@ -1303,9 +1304,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); @@ -1398,9 +1399,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); @@ -1491,14 +1492,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); @@ -1610,12 +1611,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}; @@ -1723,12 +1724,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}; @@ -1842,14 +1843,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); @@ -1990,12 +1991,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); @@ -2105,12 +2106,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); @@ -2219,13 +2220,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); @@ -2362,9 +2364,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); |