diff options
author | Mans Rullgard | 2012-08-11 21:00:21 +0100 |
---|---|---|
committer | Mans Rullgard | 2012-08-13 01:03:25 +0100 |
commit | 138914dcd83132f6edc6f1799c5a17e0b6b559bb (patch) | |
tree | e5508701c5122bd5d5ccafecb21d8dc00febf770 /libavcodec/g723_1.c | |
parent | cbcf1b411fac6aabf731e14e4f48bca3d956f868 (diff) |
g723.1: do not bounce intermediate values via memory
Although a reasonable compiler will probably optimise out the
actual store and load, this operation still implies a truncation
to 16 bits which the compiler will probably not realise is not
necessary here.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec/g723_1.c')
-rw-r--r-- | libavcodec/g723_1.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c index 657c144895..4c1c4dad66 100644 --- a/libavcodec/g723_1.c +++ b/libavcodec/g723_1.c @@ -1064,9 +1064,8 @@ static int g723_1_decode_frame(AVCodecContext *avctx, void *data, p->cur_rate); /* Get the total excitation */ for (j = 0; j < SUBFRAME_LEN; j++) { - vector_ptr[j] = av_clip_int16(vector_ptr[j] << 1); - vector_ptr[j] = av_clip_int16(vector_ptr[j] + - acb_vector[j]); + int v = av_clip_int16(vector_ptr[j] << 1); + vector_ptr[j] = av_clip_int16(v + acb_vector[j]); } vector_ptr += SUBFRAME_LEN; } |