FFmpeg
|
#include "libavcodec/vp9dsp.h"
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "vp9dsp_loongarch.h"
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] |
#define HORIZ_8TAP_4WID_4VECS_FILT | ( | _src0, | |
_src1, | |||
_src2, | |||
_src3, | |||
_mask0, | |||
_mask1, | |||
_mask2, | |||
_mask3, | |||
_filter0, | |||
_filter1, | |||
_filter2, | |||
_filter3, | |||
_out0, | |||
_out1 | |||
) |
Definition at line 36 of file vp9_mc_lsx.c.
#define HORIZ_8TAP_8WID_4VECS_FILT | ( | _src0, | |
_src1, | |||
_src2, | |||
_src3, | |||
_mask0, | |||
_mask1, | |||
_mask2, | |||
_mask3, | |||
_filter0, | |||
_filter1, | |||
_filter2, | |||
_filter3, | |||
_out0, | |||
_out1, | |||
_out2, | |||
_out3 | |||
) |
Definition at line 61 of file vp9_mc_lsx.c.
#define FILT_8TAP_DPADD_S_H | ( | _reg0, | |
_reg1, | |||
_reg2, | |||
_reg3, | |||
_filter0, | |||
_filter1, | |||
_filter2, | |||
_filter3 | |||
) |
Definition at line 91 of file vp9_mc_lsx.c.
#define HORIZ_8TAP_FILT | ( | _src0, | |
_src1, | |||
_mask0, | |||
_mask1, | |||
_mask2, | |||
_mask3, | |||
_filt_h0, | |||
_filt_h1, | |||
_filt_h2, | |||
_filt_h3 | |||
) |
Definition at line 105 of file vp9_mc_lsx.c.
#define LSX_LD_4 | ( | _src, | |
_stride, | |||
_src0, | |||
_src1, | |||
_src2, | |||
_src3 | |||
) |
Definition at line 121 of file vp9_mc_lsx.c.
Definition at line 2372 of file vp9_mc_lsx.c.
#define VP9_COPY_LOONGARCH_LSX_FUNC | ( | SIZE | ) |
|
static |
Definition at line 132 of file vp9_mc_lsx.c.
Referenced by common_hz_8t_4w_lsx().
|
static |
Definition at line 164 of file vp9_mc_lsx.c.
Referenced by common_hz_8t_4w_lsx().
|
static |
Definition at line 217 of file vp9_mc_lsx.c.
|
static |
Definition at line 228 of file vp9_mc_lsx.c.
Referenced by common_hz_8t_8w_lsx().
|
static |
Definition at line 260 of file vp9_mc_lsx.c.
Referenced by common_hz_8t_8w_lsx().
|
static |
Definition at line 302 of file vp9_mc_lsx.c.
|
static |
Definition at line 314 of file vp9_mc_lsx.c.
|
static |
Definition at line 350 of file vp9_mc_lsx.c.
|
static |
Definition at line 400 of file vp9_mc_lsx.c.
|
static |
Definition at line 447 of file vp9_mc_lsx.c.
|
static |
Definition at line 510 of file vp9_mc_lsx.c.
|
static |
Definition at line 582 of file vp9_mc_lsx.c.
|
static |
Definition at line 673 of file vp9_mc_lsx.c.
Referenced by common_vt_8t_32w_lsx(), and common_vt_8t_64w_lsx().
|
static |
Definition at line 782 of file vp9_mc_lsx.c.
|
static |
Definition at line 789 of file vp9_mc_lsx.c.
|
static |
Definition at line 797 of file vp9_mc_lsx.c.
|
static |
Definition at line 885 of file vp9_mc_lsx.c.
Referenced by common_hv_8ht_8vt_16w_lsx(), common_hv_8ht_8vt_32w_lsx(), and common_hv_8ht_8vt_64w_lsx().
|
static |
Definition at line 991 of file vp9_mc_lsx.c.
|
static |
Definition at line 1007 of file vp9_mc_lsx.c.
|
static |
Definition at line 1023 of file vp9_mc_lsx.c.
|
static |
Definition at line 1039 of file vp9_mc_lsx.c.
|
static |
Definition at line 1066 of file vp9_mc_lsx.c.
|
static |
Definition at line 1093 of file vp9_mc_lsx.c.
|
static |
Definition at line 1136 of file vp9_mc_lsx.c.
|
static |
Definition at line 1180 of file vp9_mc_lsx.c.
Referenced by common_hz_8t_and_aver_dst_4w_lsx().
|
static |
Definition at line 1225 of file vp9_mc_lsx.c.
Referenced by common_hz_8t_and_aver_dst_4w_lsx().
|
static |
Definition at line 1297 of file vp9_mc_lsx.c.
|
static |
Definition at line 1310 of file vp9_mc_lsx.c.
|
static |
Definition at line 1365 of file vp9_mc_lsx.c.
|
static |
Definition at line 1423 of file vp9_mc_lsx.c.
|
static |
Definition at line 1480 of file vp9_mc_lsx.c.
|
static |
Definition at line 1533 of file vp9_mc_lsx.c.
|
static |
Definition at line 1609 of file vp9_mc_lsx.c.
|
static |
Definition at line 1693 of file vp9_mc_lsx.c.
Referenced by common_vt_8t_and_aver_dst_16w_lsx(), common_vt_8t_and_aver_dst_32w_lsx(), and common_vt_8t_and_aver_dst_64w_lsx().
|
static |
Definition at line 1808 of file vp9_mc_lsx.c.
|
static |
Definition at line 1818 of file vp9_mc_lsx.c.
|
static |
Definition at line 1828 of file vp9_mc_lsx.c.
|
static |
Definition at line 1838 of file vp9_mc_lsx.c.
|
static |
Definition at line 1941 of file vp9_mc_lsx.c.
Referenced by common_hv_8ht_8vt_and_aver_dst_16w_lsx(), common_hv_8ht_8vt_and_aver_dst_32w_lsx(), and common_hv_8ht_8vt_and_aver_dst_64w_lsx().
|
static |
Definition at line 2060 of file vp9_mc_lsx.c.
|
static |
Definition at line 2080 of file vp9_mc_lsx.c.
|
static |
Definition at line 2100 of file vp9_mc_lsx.c.
|
static |
Definition at line 2120 of file vp9_mc_lsx.c.
|
static |
Definition at line 2160 of file vp9_mc_lsx.c.
|
static |
Definition at line 2195 of file vp9_mc_lsx.c.
|
static |
Definition at line 2253 of file vp9_mc_lsx.c.
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 | ) |
|
static |
Definition at line 26 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_hz_8t_16w_lsx(), common_hz_8t_32w_lsx(), common_hz_8t_4x4_lsx(), common_hz_8t_4x8_lsx(), common_hz_8t_64w_lsx(), common_hz_8t_8x4_lsx(), common_hz_8t_8x8mult_lsx(), common_hz_8t_and_aver_dst_16w_lsx(), common_hz_8t_and_aver_dst_32w_lsx(), common_hz_8t_and_aver_dst_4x4_lsx(), common_hz_8t_and_aver_dst_4x8_lsx(), common_hz_8t_and_aver_dst_64w_lsx(), and common_hz_8t_and_aver_dst_8w_lsx().
|
static |
Definition at line 2320 of file vp9_mc_lsx.c.