summaryrefslogtreecommitdiff
path: root/libavcodec/aacenc_utils.h
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2016-03-06 21:25:11 +0100
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2016-03-08 23:56:51 +0100
commitb60dfae7af65c4c7d255ef599352f2c54964303d (patch)
tree65047440cefae52dad5c1e7796112928cde69d76 /libavcodec/aacenc_utils.h
parentb91e3763905ad95602f2b4e91d37415692573248 (diff)
aacenc_utils: Use temporary variable.
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 <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libavcodec/aacenc_utils.h')
-rw-r--r--libavcodec/aacenc_utils.h5
1 files 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;
}
}