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);
145 #define UNI_MC(PEL, DIR, WIDTH) \
146 void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
147 ptrdiff_t dst_stride, \
148 const uint8_t *src, \
149 ptrdiff_t src_stride, \
180 #define UNI_W_MC(PEL, DIR, WIDTH) \
181 void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
184 const uint8_t *src, \
206 const uint8_t *p_is_pcm,
const uint8_t *q_is_pcm);
210 const uint8_t *p_is_pcm,
const uint8_t *q_is_pcm);
213 const int32_t *
tc,
const uint8_t *p_is_pcm,
214 const uint8_t *q_is_pcm);
217 const int32_t *
tc,
const uint8_t *p_is_pcm,
218 const uint8_t *q_is_pcm);
221 ptrdiff_t stride_dst,
222 const int16_t *sao_offset_val,
230 #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)
#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)