summaryrefslogtreecommitdiff
path: root/libavcodec/binkaudio.c
diff options
context:
space:
mode:
authorPeter Ross <pross@xvid.org>2010-03-11 10:52:34 +0000
committerPeter Ross <pross@xvid.org>2010-03-11 10:52:34 +0000
commitb41ec742eaea6fc22afca11ec55e302edbadc193 (patch)
tree77f5de028dc8eea7dc061c0fdf29c185259a0b98 /libavcodec/binkaudio.c
parent5c7fd910107c117d6cefeb2ab99787aeb17fb7c8 (diff)
Make binkaudio work with ff_float_to_int16_interleave_c (martin at martin dot st)
Originally committed as revision 22466 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/binkaudio.c')
-rw-r--r--libavcodec/binkaudio.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/binkaudio.c b/libavcodec/binkaudio.c
index b9d3df89c8..5fbc2de6d6 100644
--- a/libavcodec/binkaudio.c
+++ b/libavcodec/binkaudio.c
@@ -222,6 +222,11 @@ static void decode_block(BinkAudioContext *s, short *out, int use_dct)
ff_rdft_calc(&s->trans.rdft, coeffs);
}
+ if (s->dsp.float_to_int16_interleave == ff_float_to_int16_interleave_c) {
+ for (i = 0; i < s->channels; i++)
+ for (j = 0; j < s->frame_len; j++)
+ s->coeffs_ptr[i][j] = 385.0 + s->coeffs_ptr[i][j]*(1.0/32767.0);
+ }
s->dsp.float_to_int16_interleave(out, (const float **)s->coeffs_ptr, s->frame_len, s->channels);
if (!s->first) {