summaryrefslogtreecommitdiffstats
path: root/libavcodec/mips/hevcdsp_mips.h
diff options
context:
space:
mode:
authorShivraj Patil <shivraj.patil@imgtec.com>2015-06-09 20:50:26 +0530
committerMichael Niedermayer <michaelni@gmx.at>2015-06-10 13:14:50 +0200
commit271195f85bbce284ac80ed31c62fba9b7e74e99d (patch)
tree0bcfc0bf5450d473a99867f1199b54d26589e990 /libavcodec/mips/hevcdsp_mips.h
parent05c57ba2f42324da2fdc93d83d65bb68dd637613 (diff)
downloadffmpeg-streaming-271195f85bbce284ac80ed31c62fba9b7e74e99d.zip
ffmpeg-streaming-271195f85bbce284ac80ed31c62fba9b7e74e99d.tar.gz
avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC loop filter and sao functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC loop filter and sao functions in new file hevc_lpf_sao_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h In this patch, in comparision with previous patch, duplicated c functions are removed. Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mips/hevcdsp_mips.h')
-rw-r--r--libavcodec/mips/hevcdsp_mips.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/libavcodec/mips/hevcdsp_mips.h b/libavcodec/mips/hevcdsp_mips.h
index b7c903e..f26d7d9 100644
--- a/libavcodec/mips/hevcdsp_mips.h
+++ b/libavcodec/mips/hevcdsp_mips.h
@@ -431,6 +431,36 @@ BI_W_MC(epel, hv, 64);
#undef BI_W_MC
+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);
+
+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_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_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_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);
+
+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_4x4_msa(int16_t *coeffs, int col_limit);
void ff_hevc_idct_8x8_msa(int16_t *coeffs, int col_limit);
void ff_hevc_idct_16x16_msa(int16_t *coeffs, int col_limit);
OpenPOWER on IntegriCloud