Mercurial > libavcodec.hg
comparison ac3dec.c @ 7564:7cf793954871 libavcodec
simd int->float
20% faster ac3 if downmixing, 15% if not
author | lorenm |
---|---|
date | Wed, 13 Aug 2008 23:35:40 +0000 |
parents | 8390efaa0c03 |
children | cd6217c9ce92 |
comparison
equal
deleted
inserted
replaced
7563:8390efaa0c03 | 7564:7cf793954871 |
---|---|
992 if(s->channel_mode == AC3_CHMODE_DUALMONO) { | 992 if(s->channel_mode == AC3_CHMODE_DUALMONO) { |
993 gain *= s->dynamic_range[ch-1]; | 993 gain *= s->dynamic_range[ch-1]; |
994 } else { | 994 } else { |
995 gain *= s->dynamic_range[0]; | 995 gain *= s->dynamic_range[0]; |
996 } | 996 } |
997 for(i=0; i<256; i++) { | 997 s->dsp.int32_to_float_fmul_scalar(s->transform_coeffs[ch], s->fixed_coeffs[ch], gain, 256); |
998 s->transform_coeffs[ch][i] = s->fixed_coeffs[ch][i] * gain; | |
999 } | |
1000 } | 998 } |
1001 | 999 |
1002 /* downmix and MDCT. order depends on whether block switching is used for | 1000 /* downmix and MDCT. order depends on whether block switching is used for |
1003 any channel in this block. this is because coefficients for the long | 1001 any channel in this block. this is because coefficients for the long |
1004 and short transforms cannot be mixed. */ | 1002 and short transforms cannot be mixed. */ |