diff options
author | Christophe Gisquet <christophe.gisquet@gmail.com> | 2014-02-06 00:41:54 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-02-08 02:04:12 +0100 |
commit | 45854df9a5220bdde400a447f63f61618b89dde2 (patch) | |
tree | 453b65fc1702cb7f4b554f892dc812228d08160a /libavcodec/dcadec.c | |
parent | 82ae8a44e631b25ba3b2c1b7333a4fe5cf18dc07 (diff) | |
download | ffmpeg-45854df9a5220bdde400a447f63f61618b89dde2.tar.gz |
dcadsp: split lfe_dir cases
The x86 runs short on registers because numerous elements are not static.
In addition, splitting them allows more optimized code, at least for x86.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/dcadec.c')
-rw-r--r-- | libavcodec/dcadec.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c index 4b7f5d00bb..1deddf57f8 100644 --- a/libavcodec/dcadec.c +++ b/libavcodec/dcadec.c @@ -1118,23 +1118,23 @@ static void lfe_interpolation_fir(DCAContext *s, int decimation_select, * samples_out: An array holding interpolated samples */ - int decifactor; + int idx; const float *prCoeff; int deciindex; /* Select decimation filter */ if (decimation_select == 1) { - decifactor = 64; + idx = 1; prCoeff = lfe_fir_128; } else { - decifactor = 32; + idx = 0; prCoeff = lfe_fir_64; } /* Interpolation */ for (deciindex = 0; deciindex < num_deci_sample; deciindex++) { - s->dcadsp.lfe_fir(samples_out, samples_in, prCoeff, decifactor, scale); + s->dcadsp.lfe_fir[idx](samples_out, samples_in, prCoeff, scale); samples_in++; - samples_out += 2 * decifactor; + samples_out += 2 * 32 * (1 + idx); } } |