@@ -71,6 +71,6 @@ static inline int decode_dc(GetBitContext *gb, int component) | |||
return diff; | |||
} | |||
extern int ff_mpeg1_decode_block_intra(MpegEncContext *s, int16_t *block, int n); | |||
int ff_mpeg1_decode_block_intra(MpegEncContext *s, int16_t *block, int n); | |||
#endif /* AVCODEC_MPEG12_H */ |
@@ -26,30 +26,30 @@ | |||
#include "libavcodec/ac3.h" | |||
#include "libavcodec/ac3dsp.h" | |||
extern void ff_ac3_exponent_min_mmx (uint8_t *exp, int num_reuse_blocks, int nb_coefs); | |||
extern void ff_ac3_exponent_min_mmxext(uint8_t *exp, int num_reuse_blocks, int nb_coefs); | |||
extern void ff_ac3_exponent_min_sse2 (uint8_t *exp, int num_reuse_blocks, int nb_coefs); | |||
void ff_ac3_exponent_min_mmx (uint8_t *exp, int num_reuse_blocks, int nb_coefs); | |||
void ff_ac3_exponent_min_mmxext(uint8_t *exp, int num_reuse_blocks, int nb_coefs); | |||
void ff_ac3_exponent_min_sse2 (uint8_t *exp, int num_reuse_blocks, int nb_coefs); | |||
extern int ff_ac3_max_msb_abs_int16_mmx (const int16_t *src, int len); | |||
extern int ff_ac3_max_msb_abs_int16_mmxext(const int16_t *src, int len); | |||
extern int ff_ac3_max_msb_abs_int16_sse2 (const int16_t *src, int len); | |||
extern int ff_ac3_max_msb_abs_int16_ssse3(const int16_t *src, int len); | |||
int ff_ac3_max_msb_abs_int16_mmx (const int16_t *src, int len); | |||
int ff_ac3_max_msb_abs_int16_mmxext(const int16_t *src, int len); | |||
int ff_ac3_max_msb_abs_int16_sse2 (const int16_t *src, int len); | |||
int ff_ac3_max_msb_abs_int16_ssse3(const int16_t *src, int len); | |||
extern void ff_ac3_lshift_int16_mmx (int16_t *src, unsigned int len, unsigned int shift); | |||
extern void ff_ac3_lshift_int16_sse2(int16_t *src, unsigned int len, unsigned int shift); | |||
void ff_ac3_lshift_int16_mmx (int16_t *src, unsigned int len, unsigned int shift); | |||
void ff_ac3_lshift_int16_sse2(int16_t *src, unsigned int len, unsigned int shift); | |||
extern void ff_ac3_rshift_int32_mmx (int32_t *src, unsigned int len, unsigned int shift); | |||
extern void ff_ac3_rshift_int32_sse2(int32_t *src, unsigned int len, unsigned int shift); | |||
void ff_ac3_rshift_int32_mmx (int32_t *src, unsigned int len, unsigned int shift); | |||
void ff_ac3_rshift_int32_sse2(int32_t *src, unsigned int len, unsigned int shift); | |||
extern void ff_float_to_fixed24_3dnow(int32_t *dst, const float *src, unsigned int len); | |||
extern void ff_float_to_fixed24_sse (int32_t *dst, const float *src, unsigned int len); | |||
extern void ff_float_to_fixed24_sse2 (int32_t *dst, const float *src, unsigned int len); | |||
void ff_float_to_fixed24_3dnow(int32_t *dst, const float *src, unsigned int len); | |||
void ff_float_to_fixed24_sse (int32_t *dst, const float *src, unsigned int len); | |||
void ff_float_to_fixed24_sse2 (int32_t *dst, const float *src, unsigned int len); | |||
extern int ff_ac3_compute_mantissa_size_sse2(uint16_t mant_cnt[6][16]); | |||
int ff_ac3_compute_mantissa_size_sse2(uint16_t mant_cnt[6][16]); | |||
extern void ff_ac3_extract_exponents_3dnow(uint8_t *exp, int32_t *coef, int nb_coefs); | |||
extern void ff_ac3_extract_exponents_sse2 (uint8_t *exp, int32_t *coef, int nb_coefs); | |||
extern void ff_ac3_extract_exponents_ssse3(uint8_t *exp, int32_t *coef, int nb_coefs); | |||
void ff_ac3_extract_exponents_3dnow(uint8_t *exp, int32_t *coef, int nb_coefs); | |||
void ff_ac3_extract_exponents_sse2 (uint8_t *exp, int32_t *coef, int nb_coefs); | |||
void ff_ac3_extract_exponents_ssse3(uint8_t *exp, int32_t *coef, int nb_coefs); | |||
#if HAVE_SSE_INLINE && HAVE_7REGS | |||
@@ -23,9 +23,9 @@ | |||
SECTION .text | |||
; extern void ff_emu_edge_core(uint8_t *buf, const uint8_t *src, x86_reg linesize, | |||
; x86_reg start_y, x86_reg end_y, x86_reg block_h, | |||
; x86_reg start_x, x86_reg end_x, x86_reg block_w); | |||
; void ff_emu_edge_core(uint8_t *buf, const uint8_t *src, x86_reg linesize, | |||
; x86_reg start_y, x86_reg end_y, x86_reg block_h, | |||
; x86_reg start_x, x86_reg end_x, x86_reg block_w); | |||
; | |||
; The actual function itself is below. It basically wraps a very simple | |||
; w = end_x - start_x | |||
@@ -30,93 +30,93 @@ | |||
/* | |||
* MC functions | |||
*/ | |||
extern void ff_put_vp8_epel4_h4_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel4_h6_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel4_v4_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel4_v6_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel8_h4_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel8_h6_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel8_v4_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel8_v6_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel4_h4_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel4_h6_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel4_v4_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel4_v6_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel8_h4_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel8_h6_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel8_v4_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_epel8_v6_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_bilinear4_h_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_bilinear8_h_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_bilinear4_h_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_bilinear8_h_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_bilinear4_v_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_bilinear8_v_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_bilinear4_v_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_bilinear8_v_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_pixels8_mmx (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_pixels16_mmx(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
extern void ff_put_vp8_pixels16_sse(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel4_h4_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel4_h6_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel4_v4_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel4_v6_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel8_h4_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel8_h6_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel8_v4_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel8_v6_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel4_h4_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel4_h6_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel4_v4_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel4_v6_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel8_h4_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel8_h6_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel8_v4_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_epel8_v6_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_bilinear4_h_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_bilinear8_h_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_bilinear4_h_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_bilinear8_h_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_bilinear4_v_mmxext(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_bilinear8_v_sse2 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_bilinear4_v_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_bilinear8_v_ssse3 (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_pixels8_mmx (uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_pixels16_mmx(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
void ff_put_vp8_pixels16_sse(uint8_t *dst, ptrdiff_t dststride, | |||
uint8_t *src, ptrdiff_t srcstride, | |||
int height, int mx, int my); | |||
#define TAP_W16(OPT, FILTERTYPE, TAPTYPE) \ | |||
static void ff_put_vp8_ ## FILTERTYPE ## 16_ ## TAPTYPE ## _ ## OPT( \ | |||
@@ -230,58 +230,56 @@ HVBILIN(ssse3, 8, 4, 8) | |||
HVBILIN(ssse3, 8, 8, 16) | |||
HVBILIN(ssse3, 8, 16, 16) | |||
extern void ff_vp8_idct_dc_add_mmx(uint8_t *dst, int16_t block[16], | |||
ptrdiff_t stride); | |||
extern void ff_vp8_idct_dc_add_sse4(uint8_t *dst, int16_t block[16], | |||
ptrdiff_t stride); | |||
extern void ff_vp8_idct_dc_add4y_mmx(uint8_t *dst, int16_t block[4][16], | |||
ptrdiff_t stride); | |||
extern void ff_vp8_idct_dc_add4y_sse2(uint8_t *dst, int16_t block[4][16], | |||
ptrdiff_t stride); | |||
extern void ff_vp8_idct_dc_add4uv_mmx(uint8_t *dst, int16_t block[2][16], | |||
ptrdiff_t stride); | |||
extern void ff_vp8_luma_dc_wht_mmx(int16_t block[4][4][16], int16_t dc[16]); | |||
extern void ff_vp8_luma_dc_wht_sse(int16_t block[4][4][16], int16_t dc[16]); | |||
extern void ff_vp8_idct_add_mmx(uint8_t *dst, int16_t block[16], | |||
ptrdiff_t stride); | |||
extern void ff_vp8_idct_add_sse(uint8_t *dst, int16_t block[16], | |||
ptrdiff_t stride); | |||
#define DECLARE_LOOP_FILTER(NAME)\ | |||
extern void ff_vp8_v_loop_filter_simple_ ## NAME(uint8_t *dst, \ | |||
ptrdiff_t stride, \ | |||
int flim);\ | |||
extern void ff_vp8_h_loop_filter_simple_ ## NAME(uint8_t *dst, \ | |||
ptrdiff_t stride, \ | |||
int flim);\ | |||
extern void ff_vp8_v_loop_filter16y_inner_ ## NAME (uint8_t *dst, \ | |||
ptrdiff_t stride,\ | |||
int e, int i, int hvt);\ | |||
extern void ff_vp8_h_loop_filter16y_inner_ ## NAME (uint8_t *dst, \ | |||
ptrdiff_t stride,\ | |||
int e, int i, int hvt);\ | |||
extern void ff_vp8_v_loop_filter8uv_inner_ ## NAME (uint8_t *dstU, \ | |||
uint8_t *dstV,\ | |||
ptrdiff_t s, \ | |||
int e, int i, int hvt);\ | |||
extern void ff_vp8_h_loop_filter8uv_inner_ ## NAME (uint8_t *dstU, \ | |||
uint8_t *dstV,\ | |||
ptrdiff_t s, \ | |||
int e, int i, int hvt);\ | |||
extern void ff_vp8_v_loop_filter16y_mbedge_ ## NAME(uint8_t *dst, \ | |||
ptrdiff_t stride,\ | |||
int e, int i, int hvt);\ | |||
extern void ff_vp8_h_loop_filter16y_mbedge_ ## NAME(uint8_t *dst, \ | |||
ptrdiff_t stride,\ | |||
int e, int i, int hvt);\ | |||
extern void ff_vp8_v_loop_filter8uv_mbedge_ ## NAME(uint8_t *dstU, \ | |||
uint8_t *dstV,\ | |||
ptrdiff_t s, \ | |||
int e, int i, int hvt);\ | |||
extern void ff_vp8_h_loop_filter8uv_mbedge_ ## NAME(uint8_t *dstU, \ | |||
uint8_t *dstV,\ | |||
ptrdiff_t s, \ | |||
int e, int i, int hvt); | |||
void ff_vp8_idct_dc_add_mmx(uint8_t *dst, int16_t block[16], | |||
ptrdiff_t stride); | |||
void ff_vp8_idct_dc_add_sse4(uint8_t *dst, int16_t block[16], | |||
ptrdiff_t stride); | |||
void ff_vp8_idct_dc_add4y_mmx(uint8_t *dst, int16_t block[4][16], | |||
ptrdiff_t stride); | |||
void ff_vp8_idct_dc_add4y_sse2(uint8_t *dst, int16_t block[4][16], | |||
ptrdiff_t stride); | |||
void ff_vp8_idct_dc_add4uv_mmx(uint8_t *dst, int16_t block[2][16], | |||
ptrdiff_t stride); | |||
void ff_vp8_luma_dc_wht_mmx(int16_t block[4][4][16], int16_t dc[16]); | |||
void ff_vp8_luma_dc_wht_sse(int16_t block[4][4][16], int16_t dc[16]); | |||
void ff_vp8_idct_add_mmx(uint8_t *dst, int16_t block[16], ptrdiff_t stride); | |||
void ff_vp8_idct_add_sse(uint8_t *dst, int16_t block[16], ptrdiff_t stride); | |||
#define DECLARE_LOOP_FILTER(NAME) \ | |||
void ff_vp8_v_loop_filter_simple_ ## NAME(uint8_t *dst, \ | |||
ptrdiff_t stride, \ | |||
int flim); \ | |||
void ff_vp8_h_loop_filter_simple_ ## NAME(uint8_t *dst, \ | |||
ptrdiff_t stride, \ | |||
int flim); \ | |||
void ff_vp8_v_loop_filter16y_inner_ ## NAME (uint8_t *dst, \ | |||
ptrdiff_t stride, \ | |||
int e, int i, int hvt); \ | |||
void ff_vp8_h_loop_filter16y_inner_ ## NAME (uint8_t *dst, \ | |||
ptrdiff_t stride, \ | |||
int e, int i, int hvt); \ | |||
void ff_vp8_v_loop_filter8uv_inner_ ## NAME (uint8_t *dstU, \ | |||
uint8_t *dstV, \ | |||
ptrdiff_t s, \ | |||
int e, int i, int hvt); \ | |||
void ff_vp8_h_loop_filter8uv_inner_ ## NAME (uint8_t *dstU, \ | |||
uint8_t *dstV, \ | |||
ptrdiff_t s, \ | |||
int e, int i, int hvt); \ | |||
void ff_vp8_v_loop_filter16y_mbedge_ ## NAME(uint8_t *dst, \ | |||
ptrdiff_t stride, \ | |||
int e, int i, int hvt); \ | |||
void ff_vp8_h_loop_filter16y_mbedge_ ## NAME(uint8_t *dst, \ | |||
ptrdiff_t stride, \ | |||
int e, int i, int hvt); \ | |||
void ff_vp8_v_loop_filter8uv_mbedge_ ## NAME(uint8_t *dstU, \ | |||
uint8_t *dstV, \ | |||
ptrdiff_t s, \ | |||
int e, int i, int hvt); \ | |||
void ff_vp8_h_loop_filter8uv_mbedge_ ## NAME(uint8_t *dstU, \ | |||
uint8_t *dstV, \ | |||
ptrdiff_t s, \ | |||
int e, int i, int hvt); | |||
DECLARE_LOOP_FILTER(mmx) | |||
DECLARE_LOOP_FILTER(mmxext) | |||
@@ -25,123 +25,123 @@ | |||
/* flat conversions */ | |||
extern void ff_conv_s16_to_s32_sse2(int16_t *dst, const int32_t *src, int len); | |||
void ff_conv_s16_to_s32_sse2(int16_t *dst, const int32_t *src, int len); | |||
extern void ff_conv_s16_to_flt_sse2(float *dst, const int16_t *src, int len); | |||
extern void ff_conv_s16_to_flt_sse4(float *dst, const int16_t *src, int len); | |||
void ff_conv_s16_to_flt_sse2(float *dst, const int16_t *src, int len); | |||
void ff_conv_s16_to_flt_sse4(float *dst, const int16_t *src, int len); | |||
extern void ff_conv_s32_to_s16_mmx (int16_t *dst, const int32_t *src, int len); | |||
extern void ff_conv_s32_to_s16_sse2(int16_t *dst, const int32_t *src, int len); | |||
void ff_conv_s32_to_s16_mmx (int16_t *dst, const int32_t *src, int len); | |||
void ff_conv_s32_to_s16_sse2(int16_t *dst, const int32_t *src, int len); | |||
extern void ff_conv_s32_to_flt_sse2(float *dst, const int32_t *src, int len); | |||
extern void ff_conv_s32_to_flt_avx (float *dst, const int32_t *src, int len); | |||
void ff_conv_s32_to_flt_sse2(float *dst, const int32_t *src, int len); | |||
void ff_conv_s32_to_flt_avx (float *dst, const int32_t *src, int len); | |||
extern void ff_conv_flt_to_s16_sse2(int16_t *dst, const float *src, int len); | |||
void ff_conv_flt_to_s16_sse2(int16_t *dst, const float *src, int len); | |||
extern void ff_conv_flt_to_s32_sse2(int32_t *dst, const float *src, int len); | |||
extern void ff_conv_flt_to_s32_avx (int32_t *dst, const float *src, int len); | |||
void ff_conv_flt_to_s32_sse2(int32_t *dst, const float *src, int len); | |||
void ff_conv_flt_to_s32_avx (int32_t *dst, const float *src, int len); | |||
/* interleave conversions */ | |||
extern void ff_conv_s16p_to_s16_2ch_sse2(int16_t *dst, int16_t *const *src, | |||
int len, int channels); | |||
extern void ff_conv_s16p_to_s16_2ch_avx (int16_t *dst, int16_t *const *src, | |||
int len, int channels); | |||
void ff_conv_s16p_to_s16_2ch_sse2(int16_t *dst, int16_t *const *src, | |||
int len, int channels); | |||
void ff_conv_s16p_to_s16_2ch_avx (int16_t *dst, int16_t *const *src, | |||
int len, int channels); | |||
extern void ff_conv_s16p_to_s16_6ch_sse2(int16_t *dst, int16_t *const *src, | |||
int len, int channels); | |||
extern void ff_conv_s16p_to_s16_6ch_sse2slow(int16_t *dst, int16_t *const *src, | |||
int len, int channels); | |||
extern void ff_conv_s16p_to_s16_6ch_avx (int16_t *dst, int16_t *const *src, | |||
int len, int channels); | |||
void ff_conv_s16p_to_s16_6ch_sse2(int16_t *dst, int16_t *const *src, | |||
int len, int channels); | |||
void ff_conv_s16p_to_s16_6ch_sse2slow(int16_t *dst, int16_t *const *src, | |||
int len, int channels); | |||
void ff_conv_s16p_to_s16_6ch_avx (int16_t *dst, int16_t *const *src, | |||
int len, int channels); | |||
extern void ff_conv_s16p_to_flt_2ch_sse2(float *dst, int16_t *const *src, | |||
int len, int channels); | |||
extern void ff_conv_s16p_to_flt_2ch_avx (float *dst, int16_t *const *src, | |||
int len, int channels); | |||
void ff_conv_s16p_to_flt_2ch_sse2(float *dst, int16_t *const *src, | |||
int len, int channels); | |||
void ff_conv_s16p_to_flt_2ch_avx (float *dst, int16_t *const *src, | |||
int len, int channels); | |||
extern void ff_conv_s16p_to_flt_6ch_sse2 (float *dst, int16_t *const *src, | |||
int len, int channels); | |||
extern void ff_conv_s16p_to_flt_6ch_ssse3(float *dst, int16_t *const *src, | |||
int len, int channels); | |||
extern void ff_conv_s16p_to_flt_6ch_avx (float *dst, int16_t *const *src, | |||
int len, int channels); | |||
void ff_conv_s16p_to_flt_6ch_sse2 (float *dst, int16_t *const *src, | |||
int len, int channels); | |||
void ff_conv_s16p_to_flt_6ch_ssse3(float *dst, int16_t *const *src, | |||
int len, int channels); | |||
void ff_conv_s16p_to_flt_6ch_avx (float *dst, int16_t *const *src, | |||
int len, int channels); | |||
extern void ff_conv_fltp_to_s16_2ch_sse2 (int16_t *dst, float *const *src, | |||
int len, int channels); | |||
extern void ff_conv_fltp_to_s16_2ch_ssse3(int16_t *dst, float *const *src, | |||
int len, int channels); | |||
void ff_conv_fltp_to_s16_2ch_sse2 (int16_t *dst, float *const *src, | |||
int len, int channels); | |||
void ff_conv_fltp_to_s16_2ch_ssse3(int16_t *dst, float *const *src, | |||
int len, int channels); | |||
extern void ff_conv_fltp_to_s16_6ch_sse (int16_t *dst, float *const *src, | |||
int len, int channels); | |||
extern void ff_conv_fltp_to_s16_6ch_sse2(int16_t *dst, float *const *src, | |||
int len, int channels); | |||
extern void ff_conv_fltp_to_s16_6ch_avx (int16_t *dst, float *const *src, | |||
int len, int channels); | |||
void ff_conv_fltp_to_s16_6ch_sse (int16_t *dst, float *const *src, | |||
int len, int channels); | |||
void ff_conv_fltp_to_s16_6ch_sse2(int16_t *dst, float *const *src, | |||
int len, int channels); | |||
void ff_conv_fltp_to_s16_6ch_avx (int16_t *dst, float *const *src, | |||
int len, int channels); | |||
extern void ff_conv_fltp_to_flt_2ch_sse(float *dst, float *const *src, int len, | |||
int channels); | |||
extern void ff_conv_fltp_to_flt_2ch_avx(float *dst, float *const *src, int len, | |||
int channels); | |||
void ff_conv_fltp_to_flt_2ch_sse(float *dst, float *const *src, int len, | |||
int channels); | |||
void ff_conv_fltp_to_flt_2ch_avx(float *dst, float *const *src, int len, | |||
int channels); | |||
extern void ff_conv_fltp_to_flt_6ch_mmx (float *dst, float *const *src, int len, | |||
int channels); | |||
extern void ff_conv_fltp_to_flt_6ch_sse4(float *dst, float *const *src, int len, | |||
int channels); | |||
extern void ff_conv_fltp_to_flt_6ch_avx (float *dst, float *const *src, int len, | |||
int channels); | |||
void ff_conv_fltp_to_flt_6ch_mmx (float *dst, float *const *src, int len, | |||
int channels); | |||
void ff_conv_fltp_to_flt_6ch_sse4(float *dst, float *const *src, int len, | |||
int channels); | |||
void ff_conv_fltp_to_flt_6ch_avx (float *dst, float *const *src, int len, | |||
int channels); | |||
/* deinterleave conversions */ | |||
extern void ff_conv_s16_to_s16p_2ch_sse2(int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_s16p_2ch_ssse3(int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_s16p_2ch_avx (int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_s16p_2ch_sse2(int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_s16p_2ch_ssse3(int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_s16p_2ch_avx (int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_s16p_6ch_sse2 (int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_s16p_6ch_ssse3(int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_s16p_6ch_avx (int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_s16p_6ch_sse2 (int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_s16p_6ch_ssse3(int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_s16p_6ch_avx (int16_t *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_fltp_2ch_sse2(float *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_fltp_2ch_avx (float *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_fltp_2ch_sse2(float *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_fltp_2ch_avx (float *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_fltp_6ch_sse2 (float *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_fltp_6ch_ssse3(float *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_fltp_6ch_sse4 (float *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_s16_to_fltp_6ch_avx (float *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_fltp_6ch_sse2 (float *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_fltp_6ch_ssse3(float *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_fltp_6ch_sse4 (float *const *dst, int16_t *src, | |||
int len, int channels); | |||
void ff_conv_s16_to_fltp_6ch_avx (float *const *dst, int16_t *src, | |||
int len, int channels); | |||
extern void ff_conv_flt_to_s16p_2ch_sse2(int16_t *const *dst, float *src, | |||
int len, int channels); | |||
extern void ff_conv_flt_to_s16p_2ch_avx (int16_t *const *dst, float *src, | |||
int len, int channels); | |||
void ff_conv_flt_to_s16p_2ch_sse2(int16_t *const *dst, float *src, | |||
int len, int channels); | |||
void ff_conv_flt_to_s16p_2ch_avx (int16_t *const *dst, float *src, | |||
int len, int channels); | |||
extern void ff_conv_flt_to_s16p_6ch_sse2 (int16_t *const *dst, float *src, | |||
int len, int channels); | |||
extern void ff_conv_flt_to_s16p_6ch_ssse3(int16_t *const *dst, float *src, | |||
int len, int channels); | |||
extern void ff_conv_flt_to_s16p_6ch_avx (int16_t *const *dst, float *src, | |||
int len, int channels); | |||
void ff_conv_flt_to_s16p_6ch_sse2 (int16_t *const *dst, float *src, | |||
int len, int channels); | |||
void ff_conv_flt_to_s16p_6ch_ssse3(int16_t *const *dst, float *src, | |||
int len, int channels); | |||
void ff_conv_flt_to_s16p_6ch_avx (int16_t *const *dst, float *src, | |||
int len, int channels); | |||
extern void ff_conv_flt_to_fltp_2ch_sse(float *const *dst, float *src, int len, | |||
int channels); | |||
extern void ff_conv_flt_to_fltp_2ch_avx(float *const *dst, float *src, int len, | |||
int channels); | |||
void ff_conv_flt_to_fltp_2ch_sse(float *const *dst, float *src, int len, | |||
int channels); | |||
void ff_conv_flt_to_fltp_2ch_avx(float *const *dst, float *src, int len, | |||
int channels); | |||
extern void ff_conv_flt_to_fltp_6ch_sse2(float *const *dst, float *src, int len, | |||
int channels); | |||
extern void ff_conv_flt_to_fltp_6ch_avx (float *const *dst, float *src, int len, | |||
int channels); | |||
void ff_conv_flt_to_fltp_6ch_sse2(float *const *dst, float *src, int len, | |||
int channels); | |||
void ff_conv_flt_to_fltp_6ch_avx (float *const *dst, float *src, int len, | |||
int channels); | |||
av_cold void ff_audio_convert_init_x86(AudioConvert *ac) | |||
{ | |||
@@ -23,80 +23,80 @@ | |||
#include "libavutil/x86/cpu.h" | |||
#include "libavresample/audio_mix.h" | |||
extern void ff_mix_2_to_1_fltp_flt_sse(float **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
extern void ff_mix_2_to_1_fltp_flt_avx(float **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
void ff_mix_2_to_1_fltp_flt_sse(float **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
void ff_mix_2_to_1_fltp_flt_avx(float **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
extern void ff_mix_2_to_1_s16p_flt_sse2(int16_t **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
extern void ff_mix_2_to_1_s16p_flt_sse4(int16_t **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
void ff_mix_2_to_1_s16p_flt_sse2(int16_t **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
void ff_mix_2_to_1_s16p_flt_sse4(int16_t **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
extern void ff_mix_2_to_1_s16p_q8_sse2(int16_t **src, int16_t **matrix, | |||
int len, int out_ch, int in_ch); | |||
void ff_mix_2_to_1_s16p_q8_sse2(int16_t **src, int16_t **matrix, | |||
int len, int out_ch, int in_ch); | |||
extern void ff_mix_1_to_2_fltp_flt_sse(float **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
extern void ff_mix_1_to_2_fltp_flt_avx(float **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
void ff_mix_1_to_2_fltp_flt_sse(float **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
void ff_mix_1_to_2_fltp_flt_avx(float **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
extern void ff_mix_1_to_2_s16p_flt_sse2(int16_t **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
extern void ff_mix_1_to_2_s16p_flt_sse4(int16_t **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
extern void ff_mix_1_to_2_s16p_flt_avx (int16_t **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
void ff_mix_1_to_2_s16p_flt_sse2(int16_t **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
void ff_mix_1_to_2_s16p_flt_sse4(int16_t **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
void ff_mix_1_to_2_s16p_flt_avx (int16_t **src, float **matrix, int len, | |||
int out_ch, int in_ch); | |||
#define DEFINE_MIX_3_8_TO_1_2(chan) \ | |||
extern void ff_mix_ ## chan ## _to_1_fltp_flt_sse(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
extern void ff_mix_ ## chan ## _to_2_fltp_flt_sse(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
extern void ff_mix_ ## chan ## _to_1_s16p_flt_sse2(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
extern void ff_mix_ ## chan ## _to_2_s16p_flt_sse2(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
extern void ff_mix_ ## chan ## _to_1_s16p_flt_sse4(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
extern void ff_mix_ ## chan ## _to_2_s16p_flt_sse4(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
extern void ff_mix_ ## chan ## _to_1_fltp_flt_avx(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
extern void ff_mix_ ## chan ## _to_2_fltp_flt_avx(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
extern void ff_mix_ ## chan ## _to_1_s16p_flt_avx(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
extern void ff_mix_ ## chan ## _to_2_s16p_flt_avx(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
extern void ff_mix_ ## chan ## _to_1_fltp_flt_fma4(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
extern void ff_mix_ ## chan ## _to_2_fltp_flt_fma4(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
extern void ff_mix_ ## chan ## _to_1_s16p_flt_fma4(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
extern void ff_mix_ ## chan ## _to_2_s16p_flt_fma4(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); | |||
#define DEFINE_MIX_3_8_TO_1_2(chan) \ | |||
void ff_mix_ ## chan ## _to_1_fltp_flt_sse(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
void ff_mix_ ## chan ## _to_2_fltp_flt_sse(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
void ff_mix_ ## chan ## _to_1_s16p_flt_sse2(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
void ff_mix_ ## chan ## _to_2_s16p_flt_sse2(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
void ff_mix_ ## chan ## _to_1_s16p_flt_sse4(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
void ff_mix_ ## chan ## _to_2_s16p_flt_sse4(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
void ff_mix_ ## chan ## _to_1_fltp_flt_avx(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
void ff_mix_ ## chan ## _to_2_fltp_flt_avx(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
void ff_mix_ ## chan ## _to_1_s16p_flt_avx(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
void ff_mix_ ## chan ## _to_2_s16p_flt_avx(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
void ff_mix_ ## chan ## _to_1_fltp_flt_fma4(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
void ff_mix_ ## chan ## _to_2_fltp_flt_fma4(float **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
\ | |||
void ff_mix_ ## chan ## _to_1_s16p_flt_fma4(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); \ | |||
void ff_mix_ ## chan ## _to_2_s16p_flt_fma4(int16_t **src, \ | |||
float **matrix, int len, \ | |||
int out_ch, int in_ch); | |||
DEFINE_MIX_3_8_TO_1_2(3) | |||
DEFINE_MIX_3_8_TO_1_2(4) | |||
@@ -23,14 +23,13 @@ | |||
#include "libavutil/x86/cpu.h" | |||
#include "libavresample/dither.h" | |||
extern void ff_quantize_sse2(int16_t *dst, const float *src, float *dither, | |||
int len); | |||
void ff_quantize_sse2(int16_t *dst, const float *src, float *dither, int len); | |||
extern void ff_dither_int_to_float_rectangular_sse2(float *dst, int *src, int len); | |||
extern void ff_dither_int_to_float_rectangular_avx(float *dst, int *src, int len); | |||
void ff_dither_int_to_float_rectangular_sse2(float *dst, int *src, int len); | |||
void ff_dither_int_to_float_rectangular_avx(float *dst, int *src, int len); | |||
extern void ff_dither_int_to_float_triangular_sse2(float *dst, int *src0, int len); | |||
extern void ff_dither_int_to_float_triangular_avx(float *dst, int *src0, int len); | |||
void ff_dither_int_to_float_triangular_sse2(float *dst, int *src0, int len); | |||
void ff_dither_int_to_float_triangular_avx(float *dst, int *src0, int len); | |||
av_cold void ff_dither_init_x86(DitherDSPContext *ddsp, | |||
enum AVResampleDitherMethod method) | |||
@@ -21,18 +21,18 @@ | |||
#ifndef AVUTIL_PPC_FLOAT_DSP_ALTIVEC_H | |||
#define AVUTIL_PPC_FLOAT_DSP_ALTIVEC_H | |||
extern void ff_vector_fmul_altivec(float *dst, const float *src0, | |||
const float *src1, int len); | |||
void ff_vector_fmul_altivec(float *dst, const float *src0, | |||
const float *src1, int len); | |||
extern void ff_vector_fmul_window_altivec(float *dst, const float *src0, | |||
const float *src1, const float *win, | |||
int len); | |||
void ff_vector_fmul_window_altivec(float *dst, const float *src0, | |||
const float *src1, const float *win, | |||
int len); | |||
extern void ff_vector_fmul_add_altivec(float *dst, const float *src0, | |||
const float *src1, const float *src2, | |||
int len); | |||
void ff_vector_fmul_add_altivec(float *dst, const float *src0, | |||
const float *src1, const float *src2, | |||
int len); | |||
extern void ff_vector_fmul_reverse_altivec(float *dst, const float *src0, | |||
const float *src1, int len); | |||
void ff_vector_fmul_reverse_altivec(float *dst, const float *src0, | |||
const float *src1, int len); | |||
#endif /* AVUTIL_PPC_FLOAT_DSP_ALTIVEC_H */ |
@@ -23,23 +23,23 @@ | |||
#include "cpu.h" | |||
#include "asm.h" | |||
extern void ff_vector_fmul_sse(float *dst, const float *src0, const float *src1, | |||
void ff_vector_fmul_sse(float *dst, const float *src0, const float *src1, | |||
int len); | |||
void ff_vector_fmul_avx(float *dst, const float *src0, const float *src1, | |||
int len); | |||
void ff_vector_fmac_scalar_sse(float *dst, const float *src, float mul, | |||
int len); | |||
extern void ff_vector_fmul_avx(float *dst, const float *src0, const float *src1, | |||
void ff_vector_fmac_scalar_avx(float *dst, const float *src, float mul, | |||
int len); | |||
extern void ff_vector_fmac_scalar_sse(float *dst, const float *src, float mul, | |||
int len); | |||
extern void ff_vector_fmac_scalar_avx(float *dst, const float *src, float mul, | |||
int len); | |||
extern void ff_vector_fmul_scalar_sse(float *dst, const float *src, float mul, | |||
int len); | |||
void ff_vector_fmul_scalar_sse(float *dst, const float *src, float mul, | |||
int len); | |||
extern void ff_vector_dmul_scalar_sse2(double *dst, const double *src, | |||
double mul, int len); | |||
extern void ff_vector_dmul_scalar_avx(double *dst, const double *src, | |||
double mul, int len); | |||
void ff_vector_dmul_scalar_sse2(double *dst, const double *src, | |||
double mul, int len); | |||
void ff_vector_dmul_scalar_avx(double *dst, const double *src, | |||
double mul, int len); | |||
void ff_vector_fmul_add_sse(float *dst, const float *src0, const float *src1, | |||
const float *src2, int len); | |||
@@ -206,7 +206,7 @@ void updateMMXDitherTables(SwsContext *c, int dstY, int lumBufIndex, int chrBufI | |||
#endif /* HAVE_INLINE_ASM */ | |||
#define SCALE_FUNC(filter_n, from_bpc, to_bpc, opt) \ | |||
extern void ff_hscale ## from_bpc ## to ## to_bpc ## _ ## filter_n ## _ ## opt( \ | |||
void ff_hscale ## from_bpc ## to ## to_bpc ## _ ## filter_n ## _ ## opt( \ | |||
SwsContext *c, int16_t *data, \ | |||
int dstW, const uint8_t *src, \ | |||
const int16_t *filter, \ | |||
@@ -241,9 +241,9 @@ SCALE_FUNCS_SSE(ssse3); | |||
SCALE_FUNCS_SSE(sse4); | |||
#define VSCALEX_FUNC(size, opt) \ | |||
extern void ff_yuv2planeX_ ## size ## _ ## opt(const int16_t *filter, int filterSize, \ | |||
const int16_t **src, uint8_t *dest, int dstW, \ | |||
const uint8_t *dither, int offset) | |||
void ff_yuv2planeX_ ## size ## _ ## opt(const int16_t *filter, int filterSize, \ | |||
const int16_t **src, uint8_t *dest, int dstW, \ | |||
const uint8_t *dither, int offset) | |||
#define VSCALEX_FUNCS(opt) \ | |||
VSCALEX_FUNC(8, opt); \ | |||
VSCALEX_FUNC(9, opt); \ | |||
@@ -258,8 +258,8 @@ VSCALEX_FUNC(16, sse4); | |||
VSCALEX_FUNCS(avx); | |||
#define VSCALE_FUNC(size, opt) \ | |||
extern void ff_yuv2plane1_ ## size ## _ ## opt(const int16_t *src, uint8_t *dst, int dstW, \ | |||
const uint8_t *dither, int offset) | |||
void ff_yuv2plane1_ ## size ## _ ## opt(const int16_t *src, uint8_t *dst, int dstW, \ | |||
const uint8_t *dither, int offset) | |||
#define VSCALE_FUNCS(opt1, opt2) \ | |||
VSCALE_FUNC(8, opt1); \ | |||
VSCALE_FUNC(9, opt2); \ | |||
@@ -274,12 +274,12 @@ VSCALE_FUNC(16, sse4); | |||
VSCALE_FUNCS(avx, avx); | |||
#define INPUT_Y_FUNC(fmt, opt) \ | |||
extern void ff_ ## fmt ## ToY_ ## opt(uint8_t *dst, const uint8_t *src, \ | |||
int w, uint32_t *unused) | |||
void ff_ ## fmt ## ToY_ ## opt(uint8_t *dst, const uint8_t *src, \ | |||
int w, uint32_t *unused) | |||
#define INPUT_UV_FUNC(fmt, opt) \ | |||
extern void ff_ ## fmt ## ToUV_ ## opt(uint8_t *dstU, uint8_t *dstV, \ | |||
const uint8_t *src, const uint8_t *unused1, \ | |||
int w, uint32_t *unused2) | |||
void ff_ ## fmt ## ToUV_ ## opt(uint8_t *dstU, uint8_t *dstV, \ | |||
const uint8_t *src, const uint8_t *unused1, \ | |||
int w, uint32_t *unused2) | |||
#define INPUT_FUNC(fmt, opt) \ | |||
INPUT_Y_FUNC(fmt, opt); \ | |||
INPUT_UV_FUNC(fmt, opt) | |||