mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/hevcdsp: Constify src pointers
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
6c9a60ada4
commit
b3bbbb14d0
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -42,8 +42,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;
|
||||
@ -127,8 +127,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;
|
||||
@ -223,8 +223,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;
|
||||
@ -308,8 +308,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;
|
||||
@ -322,7 +322,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;
|
||||
@ -366,8 +366,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;
|
||||
@ -380,7 +380,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;
|
||||
@ -423,8 +423,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,
|
||||
@ -434,8 +434,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,
|
||||
@ -445,8 +445,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,
|
||||
@ -456,8 +456,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,
|
||||
@ -466,8 +466,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)
|
||||
{
|
||||
@ -531,8 +531,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)
|
||||
{
|
||||
@ -585,8 +585,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)
|
||||
{
|
||||
@ -596,8 +596,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)
|
||||
{
|
||||
@ -607,8 +607,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)
|
||||
{
|
||||
@ -619,7 +619,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)
|
||||
{
|
||||
@ -705,14 +705,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;
|
||||
@ -808,8 +808,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)
|
||||
{
|
||||
@ -817,8 +817,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)
|
||||
{
|
||||
@ -828,8 +828,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)
|
||||
{
|
||||
@ -837,8 +837,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)
|
||||
{
|
||||
@ -846,8 +846,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)
|
||||
{
|
||||
@ -856,16 +856,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);
|
||||
@ -994,8 +994,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)
|
||||
@ -1004,8 +1004,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)
|
||||
@ -1014,8 +1014,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)
|
||||
@ -1024,8 +1024,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)
|
||||
@ -1034,8 +1034,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)
|
||||
@ -1044,8 +1044,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)
|
||||
@ -1054,12 +1054,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);
|
||||
@ -1157,8 +1157,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)
|
||||
{
|
||||
@ -1201,8 +1201,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)
|
||||
{
|
||||
@ -1216,7 +1216,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;
|
||||
@ -1290,8 +1290,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)
|
||||
{
|
||||
@ -1362,8 +1362,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)
|
||||
{
|
||||
@ -1469,8 +1469,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)
|
||||
{
|
||||
@ -1480,8 +1480,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)
|
||||
@ -1668,7 +1668,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)
|
||||
{
|
||||
@ -1739,8 +1739,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)
|
||||
@ -1858,7 +1858,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)
|
||||
{
|
||||
@ -1990,15 +1990,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);
|
||||
@ -2130,8 +2130,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)
|
||||
@ -2151,8 +2151,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)
|
||||
@ -2166,8 +2166,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)
|
||||
@ -2176,8 +2176,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)
|
||||
@ -2189,9 +2189,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, \
|
||||
@ -2216,9 +2216,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, \
|
||||
@ -2257,9 +2257,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, \
|
||||
|
@ -33,7 +33,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)
|
||||
{
|
||||
@ -125,7 +125,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)
|
||||
{
|
||||
@ -197,11 +197,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);
|
||||
@ -304,7 +304,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)
|
||||
{
|
||||
@ -313,21 +313,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)
|
||||
{
|
||||
@ -335,12 +335,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);
|
||||
@ -496,7 +496,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)
|
||||
{
|
||||
@ -504,7 +504,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)
|
||||
{
|
||||
@ -512,7 +512,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)
|
||||
{
|
||||
@ -520,7 +520,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)
|
||||
{
|
||||
@ -528,7 +528,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)
|
||||
{
|
||||
@ -536,7 +536,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)
|
||||
{
|
||||
@ -545,14 +545,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;
|
||||
@ -651,7 +651,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)
|
||||
{
|
||||
@ -659,7 +659,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;
|
||||
@ -745,7 +745,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)
|
||||
{
|
||||
@ -806,7 +806,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)
|
||||
{
|
||||
@ -902,7 +902,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)
|
||||
{
|
||||
@ -1009,13 +1009,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);
|
||||
@ -1128,7 +1128,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)
|
||||
{
|
||||
@ -1146,12 +1146,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);
|
||||
@ -1333,7 +1334,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)
|
||||
{
|
||||
@ -1346,7 +1347,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)
|
||||
{
|
||||
@ -1354,7 +1355,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)
|
||||
{
|
||||
@ -1365,7 +1366,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, \
|
||||
@ -1393,7 +1394,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, \
|
||||
|
@ -31,13 +31,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);
|
||||
@ -207,7 +207,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)
|
||||
@ -217,7 +217,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)
|
||||
@ -227,7 +227,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)
|
||||
@ -237,7 +237,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)
|
||||
@ -247,7 +247,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)
|
||||
@ -257,7 +257,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)
|
||||
@ -270,7 +270,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, \
|
||||
|
@ -31,7 +31,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)
|
||||
{
|
||||
@ -83,7 +83,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)
|
||||
{
|
||||
@ -146,7 +146,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)
|
||||
{
|
||||
@ -197,7 +197,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)
|
||||
{
|
||||
@ -269,7 +269,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)
|
||||
{
|
||||
@ -354,7 +354,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)
|
||||
{
|
||||
@ -365,7 +365,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;
|
||||
@ -408,7 +408,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)
|
||||
{
|
||||
@ -416,7 +416,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;
|
||||
@ -468,7 +468,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)
|
||||
{
|
||||
@ -543,7 +543,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)
|
||||
{
|
||||
@ -595,7 +595,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)
|
||||
{
|
||||
@ -682,7 +682,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)
|
||||
{
|
||||
@ -746,7 +746,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)
|
||||
{
|
||||
@ -754,7 +754,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;
|
||||
@ -838,7 +838,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)
|
||||
{
|
||||
@ -898,7 +898,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)
|
||||
{
|
||||
@ -968,7 +968,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)
|
||||
{
|
||||
@ -1028,7 +1028,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)
|
||||
{
|
||||
@ -1097,7 +1097,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)
|
||||
{
|
||||
@ -1191,7 +1191,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)
|
||||
{
|
||||
@ -1311,7 +1311,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)
|
||||
{
|
||||
@ -1385,7 +1385,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)
|
||||
{
|
||||
@ -1487,7 +1487,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,
|
||||
@ -1495,7 +1495,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);
|
||||
@ -1611,7 +1611,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)
|
||||
{
|
||||
@ -1619,7 +1619,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)
|
||||
{
|
||||
@ -1629,7 +1629,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)
|
||||
{
|
||||
@ -1637,7 +1637,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)
|
||||
{
|
||||
@ -1645,7 +1645,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)
|
||||
{
|
||||
@ -1653,7 +1653,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)
|
||||
@ -1785,7 +1785,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,
|
||||
@ -1795,7 +1795,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);
|
||||
@ -1928,7 +1928,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)
|
||||
@ -1937,13 +1937,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);
|
||||
@ -2174,7 +2174,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)
|
||||
@ -2183,7 +2183,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)
|
||||
@ -2192,7 +2192,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)
|
||||
@ -2201,7 +2201,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)
|
||||
@ -2210,7 +2210,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)
|
||||
@ -2219,7 +2219,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,
|
||||
@ -2265,7 +2265,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,
|
||||
@ -2327,7 +2327,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,
|
||||
@ -2337,7 +2337,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;
|
||||
@ -2421,7 +2421,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,
|
||||
@ -2431,7 +2431,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;
|
||||
@ -2527,7 +2527,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,
|
||||
@ -2594,7 +2594,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)
|
||||
@ -2694,7 +2694,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,
|
||||
@ -2803,7 +2803,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,
|
||||
@ -2813,7 +2813,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);
|
||||
@ -2930,7 +2930,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,
|
||||
@ -2954,7 +2954,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,
|
||||
@ -2963,7 +2963,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);
|
||||
@ -3159,7 +3159,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,
|
||||
@ -3176,7 +3176,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,
|
||||
@ -3188,7 +3188,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,
|
||||
@ -3202,7 +3202,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, \
|
||||
@ -3226,7 +3226,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, \
|
||||
@ -3267,7 +3267,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, \
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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, \
|
||||
|
@ -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, \
|
||||
|
@ -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, \
|
||||
|
@ -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, \
|
||||
|
@ -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, \
|
||||
|
@ -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, \
|
||||
|
@ -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, \
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
@ -658,16 +651,16 @@ SAO_BAND_FILTER_FUNCS(12, avx2)
|
||||
} 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); \
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user