FFmpeg
|
#include "libavcodec/vp9dsp.h"
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "libavutil/common.h"
#include "vp9dsp_loongarch.h"
Go to the source code of this file.
Macros | |
#define | LSX_LD_8(_src, _stride, _stride2, _stride3, _stride4, _in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7) |
#define | LSX_ST_8(_dst0, _dst1, _dst2, _dst3, _dst4, _dst5, _dst6, _dst7, _dst, _stride, _stride2, _stride3, _stride4) |
#define | VP9_LPF_FILTER4_4W(p1_src, p0_src, q0_src, q1_src, mask_src, hev_src, p1_dst, p0_dst, q0_dst, q1_dst) |
#define | VP9_FLAT4(p3_src, p2_src, p0_src, q0_src, q2_src, q3_src, flat_dst) |
#define | VP9_FLAT5(p7_src, p6_src, p5_src, p4_src, p0_src, q0_src, q4_src, q5_src, q6_src, q7_src, flat_src, flat2_dst) |
#define | VP9_FILTER8(p3_src, p2_src, p1_src, p0_src, q0_src, q1_src, q2_src, q3_src, p2_filt8_dst, p1_filt8_dst, p0_filt8_dst, q0_filt8_dst, q1_filt8_dst, q2_filt8_dst) |
#define | LPF_MASK_HEV(p3_src, p2_src, p1_src, p0_src, q0_src, q1_src, q2_src, q3_src, limit_src, b_limit_src, thresh_src, hev_dst, mask_dst, flat_dst) |
Functions | |
void | ff_loop_filter_v_4_8_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_v_44_16_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_v_8_8_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_v_88_16_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_v_84_16_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_v_48_16_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
static int32_t | vp9_hz_lpf_t4_and_t8_16w (uint8_t *dst, ptrdiff_t stride, uint8_t *filter48, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
static void | vp9_hz_lpf_t16_16w (uint8_t *dst, ptrdiff_t stride, uint8_t *filter48) |
void | ff_loop_filter_v_16_16_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_v_16_8_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_h_4_8_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_h_44_16_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_h_8_8_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_h_88_16_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_h_84_16_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
void | ff_loop_filter_h_48_16_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
static void | vp9_transpose_16x8_to_8x16 (uint8_t *input, ptrdiff_t in_pitch, uint8_t *output) |
static void | vp9_transpose_8x16_to_16x8 (uint8_t *input, uint8_t *output, ptrdiff_t out_pitch) |
static void | vp9_transpose_16x16 (uint8_t *input, int32_t in_stride, uint8_t *output, int32_t out_stride) |
static int32_t | vp9_vt_lpf_t4_and_t8_8w (uint8_t *src, uint8_t *filter48, uint8_t *src_org, int32_t pitch_org, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
static int32_t | vp9_vt_lpf_t16_8w (uint8_t *dst, uint8_t *dst_org, ptrdiff_t stride, uint8_t *filter48) |
void | ff_loop_filter_h_16_8_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
static int32_t | vp9_vt_lpf_t4_and_t8_16w (uint8_t *dst, uint8_t *filter48, uint8_t *dst_org, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
static int32_t | vp9_vt_lpf_t16_16w (uint8_t *dst, uint8_t *dst_org, ptrdiff_t stride, uint8_t *filter48) |
void | ff_loop_filter_h_16_16_lsx (uint8_t *dst, ptrdiff_t stride, int32_t b_limit_ptr, int32_t limit_ptr, int32_t thresh_ptr) |
#define LSX_LD_8 | ( | _src, | |
_stride, | |||
_stride2, | |||
_stride3, | |||
_stride4, | |||
_in0, | |||
_in1, | |||
_in2, | |||
_in3, | |||
_in4, | |||
_in5, | |||
_in6, | |||
_in7 | |||
) |
Definition at line 27 of file vp9_lpf_lsx.c.
#define LSX_ST_8 | ( | _dst0, | |
_dst1, | |||
_dst2, | |||
_dst3, | |||
_dst4, | |||
_dst5, | |||
_dst6, | |||
_dst7, | |||
_dst, | |||
_stride, | |||
_stride2, | |||
_stride3, | |||
_stride4 | |||
) |
Definition at line 41 of file vp9_lpf_lsx.c.
#define VP9_LPF_FILTER4_4W | ( | p1_src, | |
p0_src, | |||
q0_src, | |||
q1_src, | |||
mask_src, | |||
hev_src, | |||
p1_dst, | |||
p0_dst, | |||
q0_dst, | |||
q1_dst | |||
) |
Definition at line 55 of file vp9_lpf_lsx.c.
#define VP9_FLAT4 | ( | p3_src, | |
p2_src, | |||
p0_src, | |||
q0_src, | |||
q2_src, | |||
q3_src, | |||
flat_dst | |||
) |
Definition at line 98 of file vp9_lpf_lsx.c.
#define VP9_FLAT5 | ( | p7_src, | |
p6_src, | |||
p5_src, | |||
p4_src, | |||
p0_src, | |||
q0_src, | |||
q4_src, | |||
q5_src, | |||
q6_src, | |||
q7_src, | |||
flat_src, | |||
flat2_dst | |||
) |
Definition at line 118 of file vp9_lpf_lsx.c.
#define VP9_FILTER8 | ( | p3_src, | |
p2_src, | |||
p1_src, | |||
p0_src, | |||
q0_src, | |||
q1_src, | |||
q2_src, | |||
q3_src, | |||
p2_filt8_dst, | |||
p1_filt8_dst, | |||
p0_filt8_dst, | |||
q0_filt8_dst, | |||
q1_filt8_dst, | |||
q2_filt8_dst | |||
) |
Definition at line 147 of file vp9_lpf_lsx.c.
#define LPF_MASK_HEV | ( | p3_src, | |
p2_src, | |||
p1_src, | |||
p0_src, | |||
q0_src, | |||
q1_src, | |||
q2_src, | |||
q3_src, | |||
limit_src, | |||
b_limit_src, | |||
thresh_src, | |||
hev_dst, | |||
mask_dst, | |||
flat_dst | |||
) |
Definition at line 192 of file vp9_lpf_lsx.c.
void ff_loop_filter_v_4_8_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 229 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_v_44_16_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 262 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_v_8_8_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 302 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_v_88_16_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 374 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_v_84_16_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 465 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_v_48_16_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 547 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
|
static |
Definition at line 629 of file vp9_lpf_lsx.c.
Referenced by ff_loop_filter_v_16_16_lsx().
|
static |
Definition at line 716 of file vp9_lpf_lsx.c.
Referenced by ff_loop_filter_v_16_16_lsx().
void ff_loop_filter_v_16_16_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 1080 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_v_16_8_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 1096 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_h_4_8_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 1350 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_h_44_16_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 1396 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_h_8_8_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 1476 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_h_88_16_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 1594 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_h_84_16_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 1779 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
void ff_loop_filter_h_48_16_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 1954 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
|
static |
Definition at line 2130 of file vp9_lpf_lsx.c.
Referenced by ff_loop_filter_h_16_8_lsx().
|
static |
Definition at line 2172 of file vp9_lpf_lsx.c.
Referenced by ff_loop_filter_h_16_8_lsx().
|
static |
Definition at line 2195 of file vp9_lpf_lsx.c.
Referenced by ff_loop_filter_h_16_16_lsx().
|
static |
Definition at line 2262 of file vp9_lpf_lsx.c.
Referenced by ff_loop_filter_h_16_8_lsx().
|
static |
Definition at line 2356 of file vp9_lpf_lsx.c.
Referenced by ff_loop_filter_h_16_8_lsx().
void ff_loop_filter_h_16_8_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 2612 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().
|
static |
Definition at line 2637 of file vp9_lpf_lsx.c.
Referenced by ff_loop_filter_h_16_16_lsx().
|
static |
Definition at line 2749 of file vp9_lpf_lsx.c.
Referenced by ff_loop_filter_h_16_16_lsx().
void ff_loop_filter_h_16_16_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int32_t | b_limit_ptr, | ||
int32_t | limit_ptr, | ||
int32_t | thresh_ptr | ||
) |
Definition at line 3118 of file vp9_lpf_lsx.c.
Referenced by ff_vp9dsp_init_loongarch().