Browse Source

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>
tags/n3.1
Reimar Döffinger 10 years ago
parent
commit
b60dfae7af
1 changed files with 3 additions and 2 deletions
  1. +3
    -2
      libavcodec/aacenc_utils.h

+ 3
- 2
libavcodec/aacenc_utils.h View File

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



Loading…
Cancel
Save