FFmpeg
Loading...
Searching...
No Matches
vp9_mc_lsx.c File Reference

Go to the source code of this file.

Macros

#define HORIZ_8TAP_4WID_4VECS_FILT(_src0, _src1, _src2, _src3, _mask0, _mask1, _mask2, _mask3, _filter0, _filter1, _filter2, _filter3, _out0, _out1)
 
#define HORIZ_8TAP_8WID_4VECS_FILT(_src0, _src1, _src2, _src3, _mask0, _mask1, _mask2, _mask3, _filter0, _filter1, _filter2, _filter3, _out0, _out1, _out2, _out3)
 
#define FILT_8TAP_DPADD_S_H(_reg0, _reg1, _reg2, _reg3, _filter0, _filter1, _filter2, _filter3)
 
#define HORIZ_8TAP_FILT(_src0, _src1, _mask0, _mask1, _mask2, _mask3, _filt_h0, _filt_h1, _filt_h2, _filt_h3)
 
#define LSX_LD_4(_src, _stride, _src0, _src1, _src2, _src3)
 
#define VP9_8TAP_LOONGARCH_LSX_FUNC(SIZE, type, type_idx)
 
#define VP9_COPY_LOONGARCH_LSX_FUNC(SIZE)
 

Functions

static void common_hz_8t_4x4_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter)
 
static void common_hz_8t_4x8_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter)
 
static void common_hz_8t_4w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_hz_8t_8x4_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter)
 
static void common_hz_8t_8x8mult_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_hz_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)
 
static void common_hz_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)
 
static void common_hz_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)
 
static 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)
 
static void common_vt_8t_4w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static 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)
 
static 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)
 
static void common_vt_8t_16w_mult_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)
 
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)
 
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)
 
static void common_hv_8ht_8vt_4w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_horiz, const int8_t *filter_vert, int32_t height)
 
static void common_hv_8ht_8vt_8w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_horiz, const int8_t *filter_vert, int32_t height)
 
static void common_hv_8ht_8vt_16w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_horiz, const int8_t *filter_vert, int32_t height)
 
static void common_hv_8ht_8vt_32w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_horiz, const int8_t *filter_vert, int32_t height)
 
static void common_hv_8ht_8vt_64w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_horiz, const int8_t *filter_vert, int32_t height)
 
static void copy_width8_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void copy_width16_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void copy_width32_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void copy_width64_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void common_hz_8t_and_aver_dst_4x4_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter)
 
static void common_hz_8t_and_aver_dst_4x8_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter)
 
static void common_hz_8t_and_aver_dst_4w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_hz_8t_and_aver_dst_8w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_hz_8t_and_aver_dst_16w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_hz_8t_and_aver_dst_32w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_hz_8t_and_aver_dst_64w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_vt_8t_and_aver_dst_4w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_vt_8t_and_aver_dst_8w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_vt_8t_and_aver_dst_16w_mult_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)
 
static void common_vt_8t_and_aver_dst_16w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_vt_8t_and_aver_dst_32w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_vt_8t_and_aver_dst_64w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void common_hv_8ht_8vt_and_aver_dst_4w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_horiz, const int8_t *filter_vert, int32_t height)
 
static void common_hv_8ht_8vt_and_aver_dst_8w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_horiz, const int8_t *filter_vert, int32_t height)
 
static void common_hv_8ht_8vt_and_aver_dst_16w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_horiz, const int8_t *filter_vert, int32_t height)
 
static void common_hv_8ht_8vt_and_aver_dst_32w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_horiz, const int8_t *filter_vert, int32_t height)
 
static void common_hv_8ht_8vt_and_aver_dst_64w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_horiz, const int8_t *filter_vert, int32_t height)
 
static void avg_width8_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void avg_width16_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void avg_width32_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void avg_width64_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (64, regular, FILTER_8TAP_REGULAR)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (32, regular, FILTER_8TAP_REGULAR)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (16, regular, FILTER_8TAP_REGULAR)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (8, regular, FILTER_8TAP_REGULAR)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (4, regular, FILTER_8TAP_REGULAR)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (64, sharp, FILTER_8TAP_SHARP)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (32, sharp, FILTER_8TAP_SHARP)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (16, sharp, FILTER_8TAP_SHARP)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (8, sharp, FILTER_8TAP_SHARP)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (4, sharp, FILTER_8TAP_SHARP)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (64, smooth, FILTER_8TAP_SMOOTH)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (32, smooth, FILTER_8TAP_SMOOTH)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (16, smooth, FILTER_8TAP_SMOOTH)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (8, smooth, FILTER_8TAP_SMOOTH)
 
 VP9_8TAP_LOONGARCH_LSX_FUNC (4, smooth, FILTER_8TAP_SMOOTH)
 
 VP9_COPY_LOONGARCH_LSX_FUNC (64)
 
 VP9_COPY_LOONGARCH_LSX_FUNC (32)
 
 VP9_COPY_LOONGARCH_LSX_FUNC (16)
 
 VP9_COPY_LOONGARCH_LSX_FUNC (8)
 

Variables

static const uint8_t mc_filt_mask_arr [16 *3]
 
static const int8_t vp9_subpel_filters_lsx [3][15][8]
 

Macro Definition Documentation

◆ HORIZ_8TAP_4WID_4VECS_FILT

#define HORIZ_8TAP_4WID_4VECS_FILT ( _src0,
_src1,
_src2,
_src3,
_mask0,
_mask1,
_mask2,
_mask3,
_filter0,
_filter1,
_filter2,
_filter3,
_out0,
_out1 )
Value:
{ \
__m128i _tmp0, _tmp1, _tmp2, _tmp3, _tmp4, _tmp5, _tmp6, _tmp7; \
__m128i _reg0, _reg1, _reg2, _reg3; \
\
DUP2_ARG3(__lsx_vshuf_b, _src1, _src0, _mask0, _src3, _src2, _mask0, \
_tmp0, _tmp1); \
DUP2_ARG2(__lsx_vdp2_h_b, _tmp0, _filter0, _tmp1, _filter0, _reg0, _reg1); \
DUP2_ARG3(__lsx_vshuf_b, _src1, _src0, _mask1, _src3, _src2, _mask1, \
_tmp2, _tmp3); \
DUP2_ARG3(__lsx_vdp2add_h_b, _reg0, _tmp2, _filter1, _reg1, _tmp3, \
_filter1, _reg0, _reg1); \
DUP2_ARG3(__lsx_vshuf_b, _src1, _src0, _mask2, _src3, _src2, _mask2, \
_tmp4, _tmp5); \
DUP2_ARG2(__lsx_vdp2_h_b, _tmp4, _filter2, _tmp5, _filter2, _reg2, _reg3); \
DUP2_ARG3(__lsx_vshuf_b, _src1, _src0, _mask3, _src3, _src2, _mask3, \
_tmp6, _tmp7); \
DUP2_ARG3(__lsx_vdp2add_h_b, _reg2, _tmp6, _filter3, _reg3, _tmp7, \
_filter3, _reg2, _reg3); \
DUP2_ARG2(__lsx_vsadd_h, _reg0, _reg2, _reg1, _reg3, _out0, _out1); \
}

Definition at line 36 of file vp9_mc_lsx.c.

Referenced by common_hz_8t_4x4_lsx(), common_hz_8t_4x8_lsx(), common_hz_8t_and_aver_dst_4x4_lsx(), and common_hz_8t_and_aver_dst_4x8_lsx().

◆ HORIZ_8TAP_8WID_4VECS_FILT

#define HORIZ_8TAP_8WID_4VECS_FILT ( _src0,
_src1,
_src2,
_src3,
_mask0,
_mask1,
_mask2,
_mask3,
_filter0,
_filter1,
_filter2,
_filter3,
_out0,
_out1,
_out2,
_out3 )
Value:
{ \
__m128i _tmp0, _tmp1, _tmp2, _tmp3, _tmp4, _tmp5, _tmp6, _tmp7; \
__m128i _reg0, _reg1, _reg2, _reg3, _reg4, _reg5, _reg6, _reg7; \
\
DUP4_ARG3(__lsx_vshuf_b, _src0, _src0, _mask0, _src1, _src1, _mask0, _src2,\
_src2, _mask0, _src3, _src3, _mask0, _tmp0, _tmp1, _tmp2, _tmp3);\
DUP4_ARG2(__lsx_vdp2_h_b, _tmp0, _filter0, _tmp1, _filter0, _tmp2, \
_filter0, _tmp3, _filter0, _reg0, _reg1, _reg2, _reg3); \
DUP4_ARG3(__lsx_vshuf_b, _src0, _src0, _mask2, _src1, _src1, _mask2, _src2,\
_src2, _mask2, _src3, _src3, _mask2, _tmp0, _tmp1, _tmp2, _tmp3);\
DUP4_ARG2(__lsx_vdp2_h_b, _tmp0, _filter2, _tmp1, _filter2, _tmp2, \
_filter2, _tmp3, _filter2, _reg4, _reg5, _reg6, _reg7); \
DUP4_ARG3(__lsx_vshuf_b, _src0, _src0, _mask1, _src1, _src1, _mask1, _src2,\
_src2, _mask1, _src3, _src3, _mask1, _tmp4, _tmp5, _tmp6, _tmp7);\
DUP4_ARG3(__lsx_vdp2add_h_b, _reg0, _tmp4, _filter1, _reg1, _tmp5, \
_filter1, _reg2, _tmp6, _filter1, _reg3, _tmp7, _filter1, _reg0, \
_reg1, _reg2, _reg3); \
DUP4_ARG3(__lsx_vshuf_b, _src0, _src0, _mask3, _src1, _src1, _mask3, _src2,\
_src2, _mask3, _src3, _src3, _mask3, _tmp4, _tmp5, _tmp6, _tmp7);\
DUP4_ARG3(__lsx_vdp2add_h_b, _reg4, _tmp4, _filter3, _reg5, _tmp5, \
_filter3, _reg6, _tmp6, _filter3, _reg7, _tmp7, _filter3, _reg4, \
_reg5, _reg6, _reg7); \
DUP4_ARG2(__lsx_vsadd_h, _reg0, _reg4, _reg1, _reg5, _reg2, _reg6, _reg3, \
_reg7, _out0, _out1, _out2, _out3); \
}

Definition at line 61 of file vp9_mc_lsx.c.

Referenced by common_hz_8t_16w_lsx(), common_hz_8t_32w_lsx(), common_hz_8t_64w_lsx(), common_hz_8t_8x4_lsx(), common_hz_8t_8x8mult_lsx(), common_hz_8t_and_aver_dst_64w_lsx(), and common_hz_8t_and_aver_dst_8w_lsx().

◆ FILT_8TAP_DPADD_S_H

#define FILT_8TAP_DPADD_S_H ( _reg0,
_reg1,
_reg2,
_reg3,
_filter0,
_filter1,
_filter2,
_filter3 )
Value:
( { \
__m128i _vec0, _vec1; \
\
_vec0 = __lsx_vdp2_h_b(_reg0, _filter0); \
_vec0 = __lsx_vdp2add_h_b(_vec0, _reg1, _filter1); \
_vec1 = __lsx_vdp2_h_b(_reg2, _filter2); \
_vec1 = __lsx_vdp2add_h_b(_vec1, _reg3, _filter3); \
_vec0 = __lsx_vsadd_h(_vec0, _vec1); \
\
_vec0; \
} )

Definition at line 91 of file vp9_mc_lsx.c.

Referenced by common_hv_8ht_8vt_4w_lsx(), common_hv_8ht_8vt_8w_lsx(), common_hv_8ht_8vt_and_aver_dst_4w_lsx(), common_hv_8ht_8vt_and_aver_dst_8w_lsx(), common_vt_8t_16w_lsx(), common_vt_8t_16w_mult_lsx(), common_vt_8t_4w_lsx(), common_vt_8t_8w_lsx(), common_vt_8t_and_aver_dst_16w_mult_lsx(), common_vt_8t_and_aver_dst_4w_lsx(), and common_vt_8t_and_aver_dst_8w_lsx().

◆ HORIZ_8TAP_FILT

#define HORIZ_8TAP_FILT ( _src0,
_src1,
_mask0,
_mask1,
_mask2,
_mask3,
_filt_h0,
_filt_h1,
_filt_h2,
_filt_h3 )
Value:
( { \
__m128i _tmp0, _tmp1, _tmp2, _tmp3; \
__m128i _out; \
\
DUP4_ARG3(__lsx_vshuf_b, _src1, _src0, _mask0, _src1, _src0, _mask1, _src1,\
_src0, _mask2, _src1, _src0, _mask3, _tmp0, _tmp1, _tmp2, _tmp3);\
_out = FILT_8TAP_DPADD_S_H(_tmp0, _tmp1, _tmp2, _tmp3, _filt_h0, _filt_h1, \
_filt_h2, _filt_h3); \
_out = __lsx_vsrari_h(_out, 7); \
_out = __lsx_vsat_h(_out, 7); \
\
_out; \
} )
#define FILT_8TAP_DPADD_S_H(_reg0, _reg1, _reg2, _reg3, _filter0, _filter1, _filter2, _filter3)
Definition vp9_mc_lsx.c:91

Definition at line 105 of file vp9_mc_lsx.c.

Referenced by common_hv_8ht_8vt_4w_lsx(), common_hv_8ht_8vt_8w_lsx(), common_hv_8ht_8vt_and_aver_dst_4w_lsx(), and common_hv_8ht_8vt_and_aver_dst_8w_lsx().

◆ LSX_LD_4

#define LSX_LD_4 ( _src,
_stride,
_src0,
_src1,
_src2,
_src3 )
Value:
{ \
_src0 = __lsx_vld(_src, 0); \
_src += _stride; \
_src1 = __lsx_vld(_src, 0); \
_src += _stride; \
_src2 = __lsx_vld(_src, 0); \
_src += _stride; \
_src3 = __lsx_vld(_src, 0); \
}
uint8_t ptrdiff_t const uint8_t * _src
Definition dsp.h:56
ptrdiff_t _stride

Definition at line 121 of file vp9_mc_lsx.c.

Referenced by common_hz_8t_4x4_lsx(), common_hz_8t_8x4_lsx(), common_hz_8t_and_aver_dst_4x4_lsx(), and common_hz_8t_and_aver_dst_4x8_lsx().

◆ VP9_8TAP_LOONGARCH_LSX_FUNC

#define VP9_8TAP_LOONGARCH_LSX_FUNC ( SIZE,
type,
type_idx )

Definition at line 2372 of file vp9_mc_lsx.c.

◆ VP9_COPY_LOONGARCH_LSX_FUNC

#define VP9_COPY_LOONGARCH_LSX_FUNC ( SIZE)
Value:
void ff_copy##SIZE##_lsx(uint8_t *dst, ptrdiff_t dststride, \
const uint8_t *src, ptrdiff_t srcstride, \
int h, int mx, int my) \
{ \
\
copy_width##SIZE##_lsx(src, srcstride, dst, dststride, h); \
} \
void ff_avg##SIZE##_lsx(uint8_t *dst, ptrdiff_t dststride, \
const uint8_t *src, ptrdiff_t srcstride, \
int h, int mx, int my) \
{ \
\
avg_width##SIZE##_lsx(src, srcstride, dst, dststride, h); \
}
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t const uint8_t ptrdiff_t srcstride
Definition dsp.h:88
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t my
Definition dsp.h:57
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t mx
Definition dsp.h:57
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87
#define SIZE
#define src
Definition vp8dsp.c:248

Definition at line 2440 of file vp9_mc_lsx.c.

Function Documentation

◆ common_hz_8t_4x4_lsx()

static void common_hz_8t_4x4_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter )
static

Definition at line 132 of file vp9_mc_lsx.c.

Referenced by common_hz_8t_4w_lsx().

◆ common_hz_8t_4x8_lsx()

static void common_hz_8t_4x8_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter )
static

Definition at line 164 of file vp9_mc_lsx.c.

Referenced by common_hz_8t_4w_lsx().

◆ common_hz_8t_4w_lsx()

static void common_hz_8t_4w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 217 of file vp9_mc_lsx.c.

◆ common_hz_8t_8x4_lsx()

static void common_hz_8t_8x4_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter )
static

Definition at line 228 of file vp9_mc_lsx.c.

Referenced by common_hz_8t_8w_lsx().

◆ common_hz_8t_8x8mult_lsx()

static void common_hz_8t_8x8mult_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 260 of file vp9_mc_lsx.c.

Referenced by common_hz_8t_8w_lsx().

◆ common_hz_8t_8w_lsx()

static void common_hz_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 )
static

Definition at line 302 of file vp9_mc_lsx.c.

◆ common_hz_8t_16w_lsx()

static void common_hz_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 )
static

Definition at line 314 of file vp9_mc_lsx.c.

◆ common_hz_8t_32w_lsx()

static void common_hz_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 )
static

Definition at line 350 of file vp9_mc_lsx.c.

◆ common_hz_8t_64w_lsx()

static 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 )
static

Definition at line 400 of file vp9_mc_lsx.c.

◆ common_vt_8t_4w_lsx()

static void common_vt_8t_4w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 447 of file vp9_mc_lsx.c.

◆ common_vt_8t_8w_lsx()

static 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 )
static

Definition at line 510 of file vp9_mc_lsx.c.

◆ common_vt_8t_16w_lsx()

static 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 )
static

Definition at line 582 of file vp9_mc_lsx.c.

◆ common_vt_8t_16w_mult_lsx()

static void common_vt_8t_16w_mult_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 )
static

Definition at line 673 of file vp9_mc_lsx.c.

Referenced by common_vt_8t_32w_lsx(), and common_vt_8t_64w_lsx().

◆ common_vt_8t_32w_lsx()

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 )
static

Definition at line 782 of file vp9_mc_lsx.c.

◆ common_vt_8t_64w_lsx()

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 )
static

Definition at line 789 of file vp9_mc_lsx.c.

◆ common_hv_8ht_8vt_4w_lsx()

static void common_hv_8ht_8vt_4w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_horiz,
const int8_t * filter_vert,
int32_t height )
static

Definition at line 797 of file vp9_mc_lsx.c.

◆ common_hv_8ht_8vt_8w_lsx()

static void common_hv_8ht_8vt_8w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_horiz,
const int8_t * filter_vert,
int32_t height )
static

◆ common_hv_8ht_8vt_16w_lsx()

static void common_hv_8ht_8vt_16w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_horiz,
const int8_t * filter_vert,
int32_t height )
static

Definition at line 991 of file vp9_mc_lsx.c.

◆ common_hv_8ht_8vt_32w_lsx()

static void common_hv_8ht_8vt_32w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_horiz,
const int8_t * filter_vert,
int32_t height )
static

Definition at line 1007 of file vp9_mc_lsx.c.

◆ common_hv_8ht_8vt_64w_lsx()

static void common_hv_8ht_8vt_64w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_horiz,
const int8_t * filter_vert,
int32_t height )
static

Definition at line 1023 of file vp9_mc_lsx.c.

◆ copy_width8_lsx()

static void copy_width8_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 1039 of file vp9_mc_lsx.c.

◆ copy_width16_lsx()

static void copy_width16_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 1066 of file vp9_mc_lsx.c.

◆ copy_width32_lsx()

static void copy_width32_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 1093 of file vp9_mc_lsx.c.

◆ copy_width64_lsx()

static void copy_width64_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 1136 of file vp9_mc_lsx.c.

◆ common_hz_8t_and_aver_dst_4x4_lsx()

static void common_hz_8t_and_aver_dst_4x4_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter )
static

Definition at line 1180 of file vp9_mc_lsx.c.

Referenced by common_hz_8t_and_aver_dst_4w_lsx().

◆ common_hz_8t_and_aver_dst_4x8_lsx()

static void common_hz_8t_and_aver_dst_4x8_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter )
static

Definition at line 1225 of file vp9_mc_lsx.c.

Referenced by common_hz_8t_and_aver_dst_4w_lsx().

◆ common_hz_8t_and_aver_dst_4w_lsx()

static void common_hz_8t_and_aver_dst_4w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1297 of file vp9_mc_lsx.c.

◆ common_hz_8t_and_aver_dst_8w_lsx()

static void common_hz_8t_and_aver_dst_8w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1310 of file vp9_mc_lsx.c.

◆ common_hz_8t_and_aver_dst_16w_lsx()

static void common_hz_8t_and_aver_dst_16w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1365 of file vp9_mc_lsx.c.

◆ common_hz_8t_and_aver_dst_32w_lsx()

static void common_hz_8t_and_aver_dst_32w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1423 of file vp9_mc_lsx.c.

◆ common_hz_8t_and_aver_dst_64w_lsx()

static void common_hz_8t_and_aver_dst_64w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1480 of file vp9_mc_lsx.c.

◆ common_vt_8t_and_aver_dst_4w_lsx()

static void common_vt_8t_and_aver_dst_4w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1533 of file vp9_mc_lsx.c.

◆ common_vt_8t_and_aver_dst_8w_lsx()

static void common_vt_8t_and_aver_dst_8w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1609 of file vp9_mc_lsx.c.

◆ common_vt_8t_and_aver_dst_16w_mult_lsx()

static void common_vt_8t_and_aver_dst_16w_mult_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 )
static

◆ common_vt_8t_and_aver_dst_16w_lsx()

static void common_vt_8t_and_aver_dst_16w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1808 of file vp9_mc_lsx.c.

◆ common_vt_8t_and_aver_dst_32w_lsx()

static void common_vt_8t_and_aver_dst_32w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1818 of file vp9_mc_lsx.c.

◆ common_vt_8t_and_aver_dst_64w_lsx()

static void common_vt_8t_and_aver_dst_64w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1828 of file vp9_mc_lsx.c.

◆ common_hv_8ht_8vt_and_aver_dst_4w_lsx()

static void common_hv_8ht_8vt_and_aver_dst_4w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_horiz,
const int8_t * filter_vert,
int32_t height )
static

Definition at line 1838 of file vp9_mc_lsx.c.

◆ common_hv_8ht_8vt_and_aver_dst_8w_lsx()

static void common_hv_8ht_8vt_and_aver_dst_8w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_horiz,
const int8_t * filter_vert,
int32_t height )
static

◆ common_hv_8ht_8vt_and_aver_dst_16w_lsx()

static void common_hv_8ht_8vt_and_aver_dst_16w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_horiz,
const int8_t * filter_vert,
int32_t height )
static

Definition at line 2060 of file vp9_mc_lsx.c.

◆ common_hv_8ht_8vt_and_aver_dst_32w_lsx()

static void common_hv_8ht_8vt_and_aver_dst_32w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_horiz,
const int8_t * filter_vert,
int32_t height )
static

Definition at line 2080 of file vp9_mc_lsx.c.

◆ common_hv_8ht_8vt_and_aver_dst_64w_lsx()

static void common_hv_8ht_8vt_and_aver_dst_64w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_horiz,
const int8_t * filter_vert,
int32_t height )
static

Definition at line 2100 of file vp9_mc_lsx.c.

◆ avg_width8_lsx()

static void avg_width8_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 2120 of file vp9_mc_lsx.c.

◆ avg_width16_lsx()

static void avg_width16_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 2160 of file vp9_mc_lsx.c.

◆ avg_width32_lsx()

static void avg_width32_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 2195 of file vp9_mc_lsx.c.

◆ avg_width64_lsx()

static void avg_width64_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 2253 of file vp9_mc_lsx.c.

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [1/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 64 ,
regular ,
FILTER_8TAP_REGULAR  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [2/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 32 ,
regular ,
FILTER_8TAP_REGULAR  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [3/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 16 ,
regular ,
FILTER_8TAP_REGULAR  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [4/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 8 ,
regular ,
FILTER_8TAP_REGULAR  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [5/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 4 ,
regular ,
FILTER_8TAP_REGULAR  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [6/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 64 ,
sharp ,
FILTER_8TAP_SHARP  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [7/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 32 ,
sharp ,
FILTER_8TAP_SHARP  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [8/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 16 ,
sharp ,
FILTER_8TAP_SHARP  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [9/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 8 ,
sharp ,
FILTER_8TAP_SHARP  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [10/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 4 ,
sharp ,
FILTER_8TAP_SHARP  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [11/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 64 ,
smooth ,
FILTER_8TAP_SMOOTH  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [12/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 32 ,
smooth ,
FILTER_8TAP_SMOOTH  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [13/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 16 ,
smooth ,
FILTER_8TAP_SMOOTH  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [14/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 8 ,
smooth ,
FILTER_8TAP_SMOOTH  )

◆ VP9_8TAP_LOONGARCH_LSX_FUNC() [15/15]

VP9_8TAP_LOONGARCH_LSX_FUNC ( 4 ,
smooth ,
FILTER_8TAP_SMOOTH  )

◆ VP9_COPY_LOONGARCH_LSX_FUNC() [1/4]

VP9_COPY_LOONGARCH_LSX_FUNC ( 64 )

◆ VP9_COPY_LOONGARCH_LSX_FUNC() [2/4]

VP9_COPY_LOONGARCH_LSX_FUNC ( 32 )

◆ VP9_COPY_LOONGARCH_LSX_FUNC() [3/4]

VP9_COPY_LOONGARCH_LSX_FUNC ( 16 )

◆ VP9_COPY_LOONGARCH_LSX_FUNC() [4/4]

VP9_COPY_LOONGARCH_LSX_FUNC ( 8 )

Variable Documentation

◆ mc_filt_mask_arr

const uint8_t mc_filt_mask_arr[16 *3]
static
Initial value:
= {
0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
0, 1, 1, 2, 2, 3, 3, 4, 16, 17, 17, 18, 18, 19, 19, 20,
8, 9, 9, 10, 10, 11, 11, 12, 24, 25, 25, 26, 26, 27, 27, 28
}

Definition at line 26 of file vp9_mc_lsx.c.

◆ vp9_subpel_filters_lsx

const int8_t vp9_subpel_filters_lsx[3][15][8]
static

Definition at line 2320 of file vp9_mc_lsx.c.