Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-08-12 00:00:21 +0400
committerMans Rullgard <mans@mansr.com>2012-08-13 04:03:25 +0400
commit138914dcd83132f6edc6f1799c5a17e0b6b559bb (patch)
treee5508701c5122bd5d5ccafecb21d8dc00febf770 /libavcodec/g723_1.c
parentcbcf1b411fac6aabf731e14e4f48bca3d956f868 (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.c5
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;
}