summaryrefslogtreecommitdiff
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
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>
-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;
}
}