From b60dfae7af65c4c7d255ef599352f2c54964303d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Sun, 6 Mar 2016 21:25:11 +0100 Subject: [PATCH] aacenc_utils: Use temporary variable. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This ensures gcc does not create unnecessary loads or stores and possibly even does not vectorize the negation. Speeds up mp3 to aac transcoding with default settings by 10% when using "gcc (Debian 5.3.1-10) 5.3.1 20160224". Signed-off-by: Reimar Döffinger --- libavcodec/aacenc_utils.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/aacenc_utils.h b/libavcodec/aacenc_utils.h index b9bd6bf449..41a62961e1 100644 --- a/libavcodec/aacenc_utils.h +++ b/libavcodec/aacenc_utils.h @@ -68,10 +68,11 @@ static inline void quantize_bands(int *out, const float *in, const float *scaled int i; for (i = 0; i < size; i++) { float qc = scaled[i] * Q34; - out[i] = (int)FFMIN(qc + rounding, (float)maxval); + int tmp = (int)FFMIN(qc + rounding, (float)maxval); if (is_signed && in[i] < 0.0f) { - out[i] = -out[i]; + tmp = -tmp; } + out[i] = tmp; } }