Go to the documentation of this file.
23 #ifndef AVCODEC_LOONGARCH_HEVCDSP_LSX_H
24 #define AVCODEC_LOONGARCH_HEVCDSP_LSX_H
28 #define MC(PEL, DIR, WIDTH) \
29 void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_lsx(int16_t *dst, \
31 ptrdiff_t src_stride, \
88 #define BI_MC(PEL, DIR, WIDTH) \
89 void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
90 ptrdiff_t dst_stride, \
92 ptrdiff_t src_stride, \
93 const int16_t *src_16bit, \
99 BI_MC(pel, pixels, 4);
100 BI_MC(pel, pixels, 6);
101 BI_MC(pel, pixels, 8);
102 BI_MC(pel, pixels, 12);
103 BI_MC(pel, pixels, 16);
104 BI_MC(pel, pixels, 24);
105 BI_MC(pel, pixels, 32);
106 BI_MC(pel, pixels, 48);
107 BI_MC(pel, pixels, 64);
152 #define UNI_MC(PEL, DIR, WIDTH) \
153 void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
154 ptrdiff_t dst_stride, \
155 const uint8_t *src, \
156 ptrdiff_t src_stride, \
194 #define UNI_W_MC(PEL, DIR, WIDTH) \
195 void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
198 const uint8_t *src, \
220 const uint8_t *p_is_pcm,
const uint8_t *q_is_pcm);
224 const uint8_t *p_is_pcm,
const uint8_t *q_is_pcm);
227 const int32_t *
tc,
const uint8_t *p_is_pcm,
228 const uint8_t *q_is_pcm);
231 const int32_t *
tc,
const uint8_t *p_is_pcm,
232 const uint8_t *q_is_pcm);
235 ptrdiff_t stride_dst,
236 const int16_t *sao_offset_val,
249 #define PEL_UNI_W(PEL, DIR, WIDTH) \
250 void ff_hevc_put_hevc_##PEL##_uni_w_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
253 const uint8_t *src, \
326 #endif // #ifndef AVCODEC_LOONGARCH_HEVCDSP_LSX_H
void ff_hevc_loop_filter_chroma_v_8_lsx(uint8_t *src, ptrdiff_t stride, const int32_t *tc, const uint8_t *p_is_pcm, const uint8_t *q_is_pcm)
void ff_hevc_idct_8x8_lsx(int16_t *coeffs, int col_limit)
void ff_hevc_sao_edge_filter_8_lsx(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_idct_16x16_lsx(int16_t *coeffs, int col_limit)
#define MC(PEL, DIR, WIDTH)
void ff_hevc_add_residual8x8_8_lsx(uint8_t *dst, const int16_t *res, ptrdiff_t stride)
void ff_hevc_add_residual32x32_8_lsx(uint8_t *dst, const int16_t *res, ptrdiff_t stride)
void ff_hevc_add_residual16x16_8_lsx(uint8_t *dst, const int16_t *res, ptrdiff_t stride)
#define PEL_UNI_W(PEL, DIR, WIDTH)
#define BI_MC(PEL, DIR, WIDTH)
void ff_hevc_loop_filter_chroma_h_8_lsx(uint8_t *src, ptrdiff_t stride, const int32_t *tc, const uint8_t *p_is_pcm, const uint8_t *q_is_pcm)
void ff_hevc_loop_filter_luma_h_8_lsx(uint8_t *src, ptrdiff_t stride, int32_t beta, const int32_t *tc, const uint8_t *p_is_pcm, const uint8_t *q_is_pcm)
void ff_hevc_idct_32x32_lsx(int16_t *coeffs, int col_limit)
void ff_hevc_idct_4x4_lsx(int16_t *coeffs, int col_limit)
void ff_hevc_loop_filter_luma_v_8_lsx(uint8_t *src, ptrdiff_t stride, int32_t beta, const int32_t *tc, const uint8_t *p_is_pcm, const uint8_t *q_is_pcm)
#define UNI_MC(PEL, DIR, WIDTH)
#define UNI_W_MC(PEL, DIR, WIDTH)
void ff_hevc_add_residual4x4_8_lsx(uint8_t *dst, const int16_t *res, ptrdiff_t stride)