summaryrefslogtreecommitdiffstats
path: root/libavcodec/mips/hevcdsp_mips.h
diff options
context:
space:
mode:
authorShivraj Patil <shivraj.patil@imgtec.com>2015-06-04 13:31:47 +0530
committerMichael Niedermayer <michaelni@gmx.at>2015-06-04 18:39:53 +0200
commita34d902325895a1cecd322cbe94915225c91017a (patch)
tree393757fe569403685a422c702532c8d09d855aef /libavcodec/mips/hevcdsp_mips.h
parent7131aba916d1f562bdaf6a81319f1421ce175b1e (diff)
downloadffmpeg-streaming-a34d902325895a1cecd322cbe94915225c91017a.zip
ffmpeg-streaming-a34d902325895a1cecd322cbe94915225c91017a.tar.gz
avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC idct functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC idct functions in new file hevc_idct_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h 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.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/libavcodec/mips/hevcdsp_mips.h b/libavcodec/mips/hevcdsp_mips.h
index 6019e3b..b7c903e 100644
--- a/libavcodec/mips/hevcdsp_mips.h
+++ b/libavcodec/mips/hevcdsp_mips.h
@@ -18,6 +18,9 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#ifndef AVCODEC_MIPS_HEVCDSP_MIPS_H
+#define AVCODEC_MIPS_HEVCDSP_MIPS_H
+
#include "libavcodec/hevcdsp.h"
#define MC(PEL, DIR, WIDTH) \
@@ -427,3 +430,23 @@ BI_W_MC(epel, hv, 48);
BI_W_MC(epel, hv, 64);
#undef BI_W_MC
+
+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);
+void ff_hevc_idct_32x32_msa(int16_t *coeffs, int col_limit);
+void ff_hevc_idct_dc_4x4_msa(int16_t *coeffs);
+void ff_hevc_idct_dc_8x8_msa(int16_t *coeffs);
+void ff_hevc_idct_dc_16x16_msa(int16_t *coeffs);
+void ff_hevc_idct_dc_32x32_msa(int16_t *coeffs);
+void ff_hevc_addblk_4x4_msa(uint8_t *dst, int16_t *pi16Coeffs,
+ ptrdiff_t stride);
+void ff_hevc_addblk_8x8_msa(uint8_t *dst, int16_t *pi16Coeffs,
+ ptrdiff_t stride);
+void ff_hevc_addblk_16x16_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_luma_4x4_msa(int16_t *pi16Coeffs);
+
+#endif // #ifndef AVCODEC_MIPS_HEVCDSP_MIPS_H
OpenPOWER on IntegriCloud