From f7813a5324be39d13ab536c245d15dfc602a7849 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Sun, 29 Dec 2013 12:19:38 +0000 Subject: basic type mechanism working --- ffmpeg/libavcodec/fmtconvert.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'ffmpeg/libavcodec/fmtconvert.c') diff --git a/ffmpeg/libavcodec/fmtconvert.c b/ffmpeg/libavcodec/fmtconvert.c index 79e9645..fb4302c 100644 --- a/ffmpeg/libavcodec/fmtconvert.c +++ b/ffmpeg/libavcodec/fmtconvert.c @@ -24,12 +24,23 @@ #include "fmtconvert.h" #include "libavutil/common.h" -static void int32_to_float_fmul_scalar_c(float *dst, const int *src, float mul, int len){ +static void int32_to_float_fmul_scalar_c(float *dst, const int32_t *src, + float mul, int len) +{ int i; for(i=0; iint32_to_float_fmul_scalar(&dst[i], &src[i], *mul++, 8); +} + static av_always_inline int float_to_int16_one(const float *src){ return av_clip_int16(lrintf(*src)); } @@ -79,12 +90,13 @@ void ff_float_interleave_c(float *dst, const float **src, unsigned int len, av_cold void ff_fmt_convert_init(FmtConvertContext *c, AVCodecContext *avctx) { c->int32_to_float_fmul_scalar = int32_to_float_fmul_scalar_c; + c->int32_to_float_fmul_array8 = int32_to_float_fmul_array8_c; c->float_to_int16 = float_to_int16_c; c->float_to_int16_interleave = float_to_int16_interleave_c; c->float_interleave = ff_float_interleave_c; if (ARCH_ARM) ff_fmt_convert_init_arm(c, avctx); - if (HAVE_ALTIVEC) ff_fmt_convert_init_altivec(c, avctx); + if (ARCH_PPC) ff_fmt_convert_init_ppc(c, avctx); if (ARCH_X86) ff_fmt_convert_init_x86(c, avctx); if (HAVE_MIPSFPU) ff_fmt_convert_init_mips(c); } -- cgit v1.2.3