Go to the documentation of this file.
21 #ifndef AVCODEC_MIPS_HEVCDSP_MIPS_H
22 #define AVCODEC_MIPS_HEVCDSP_MIPS_H
26 #define MC(PEL, DIR, WIDTH) \
27 void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_msa(int16_t *dst, \
29 ptrdiff_t src_stride, \
104 #define UNI_MC(PEL, DIR, WIDTH) \
105 void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
106 ptrdiff_t dst_stride, \
108 ptrdiff_t src_stride, \
183 #define UNI_W_MC(PEL, DIR, WIDTH) \
184 void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
267 #define BI_MC(PEL, DIR, WIDTH) \
268 void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
269 ptrdiff_t dst_stride, \
271 ptrdiff_t src_stride, \
272 int16_t *src_16bit, \
278 BI_MC(pel, pixels, 4);
279 BI_MC(pel, pixels, 6);
280 BI_MC(pel, pixels, 8);
281 BI_MC(pel, pixels, 12);
282 BI_MC(pel, pixels, 16);
283 BI_MC(pel, pixels, 24);
284 BI_MC(pel, pixels, 32);
285 BI_MC(pel, pixels, 48);
286 BI_MC(pel, pixels, 64);
347 #define BI_W_MC(PEL, DIR, WIDTH) \
348 void ff_hevc_put_hevc_bi_w_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \
354 int16_t *src_16bit, \
435 ptrdiff_t src_stride,
437 uint8_t *no_p, uint8_t *no_q);
440 ptrdiff_t src_stride,
442 uint8_t *no_p, uint8_t *no_q);
445 ptrdiff_t src_stride,
450 ptrdiff_t src_stride,
455 ptrdiff_t stride_dst, ptrdiff_t stride_src,
456 int16_t *sao_offset_val,
int sao_left_class,
460 ptrdiff_t stride_dst,
461 int16_t *sao_offset_val,
483 #define L_MC(PEL, DIR, WIDTH, TYPE) \
484 void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_##TYPE(int16_t *dst, \
486 ptrdiff_t src_stride, \
491 L_MC(qpel,
h, 4, mmi);
492 L_MC(qpel,
h, 8, mmi);
493 L_MC(qpel,
h, 12, mmi);
494 L_MC(qpel,
h, 16, mmi);
495 L_MC(qpel,
h, 24, mmi);
496 L_MC(qpel,
h, 32, mmi);
497 L_MC(qpel,
h, 48, mmi);
498 L_MC(qpel,
h, 64, mmi);
500 L_MC(qpel, hv, 4, mmi);
501 L_MC(qpel, hv, 8, mmi);
502 L_MC(qpel, hv, 12, mmi);
503 L_MC(qpel, hv, 16, mmi);
504 L_MC(qpel, hv, 24, mmi);
505 L_MC(qpel, hv, 32, mmi);
506 L_MC(qpel, hv, 48, mmi);
507 L_MC(qpel, hv, 64, mmi);
509 #define L_BI_MC(PEL, DIR, WIDTH, TYPE) \
510 void ff_hevc_put_hevc_##PEL##_bi_##DIR##WIDTH##_8_##TYPE(uint8_t *dst, \
511 ptrdiff_t dst_stride, \
513 ptrdiff_t src_stride, \
553 #define L_UNI_MC(PEL, DIR, WIDTH, TYPE) \
554 void ff_hevc_put_hevc_##PEL##_uni_##DIR##WIDTH##_8_##TYPE(uint8_t *dst, \
555 ptrdiff_t dst_stride, \
557 ptrdiff_t src_stride, \
573 #endif // #ifndef AVCODEC_MIPS_HEVCDSP_MIPS_H
void ff_hevc_addblk_4x4_msa(uint8_t *dst, int16_t *pi16Coeffs, ptrdiff_t stride)
void ff_hevc_loop_filter_chroma_v_8_msa(uint8_t *src, ptrdiff_t src_stride, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
void ff_hevc_loop_filter_chroma_h_8_msa(uint8_t *src, ptrdiff_t src_stride, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
void ff_hevc_addblk_8x8_msa(uint8_t *dst, int16_t *pi16Coeffs, ptrdiff_t stride)
void ff_hevc_addblk_32x32_msa(uint8_t *dst, int16_t *pi16Coeffs, ptrdiff_t stride)
void ff_hevc_idct_dc_16x16_msa(int16_t *coeffs)
void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int16_t *sao_offset_val, int sao_left_class, int width, int height)
#define BI_MC(PEL, DIR, WIDTH)
void ff_hevc_loop_filter_luma_h_8_msa(uint8_t *src, ptrdiff_t src_stride, int32_t beta, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
#define MC(PEL, DIR, WIDTH)
void ff_hevc_idct_32x32_msa(int16_t *coeffs, int col_limit)
void ff_hevc_idct_4x4_msa(int16_t *coeffs, int col_limit)
#define BI_W_MC(PEL, DIR, WIDTH)
void ff_hevc_addblk_16x16_msa(uint8_t *dst, int16_t *pi16Coeffs, ptrdiff_t stride)
#define L_MC(PEL, DIR, WIDTH, TYPE)
void ff_hevc_loop_filter_luma_v_8_msa(uint8_t *src, ptrdiff_t src_stride, int32_t beta, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
void ff_hevc_idct_8x8_msa(int16_t *coeffs, int col_limit)
void ff_hevc_idct_dc_32x32_msa(int16_t *coeffs)
void ff_hevc_sao_edge_filter_8_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, int16_t *sao_offset_val, int eo, int width, int height)
void ff_hevc_idct_16x16_msa(int16_t *coeffs, int col_limit)
#define L_UNI_MC(PEL, DIR, WIDTH, TYPE)
#define L_BI_MC(PEL, DIR, WIDTH, TYPE)
void ff_hevc_idct_luma_4x4_msa(int16_t *pi16Coeffs)
#define UNI_W_MC(PEL, DIR, WIDTH)
#define UNI_MC(PEL, DIR, WIDTH)
void ff_hevc_idct_dc_4x4_msa(int16_t *coeffs)
void ff_hevc_idct_dc_8x8_msa(int16_t *coeffs)