diff options
author | Aurelien Jacobs <aurel@gnuage.org> | 2018-01-06 01:22:31 +0100 |
---|---|---|
committer | Aurelien Jacobs <aurel@gnuage.org> | 2018-02-09 22:10:55 +0100 |
commit | fea8e119a2bc103b64faba6b5e1f3defe0c344c2 (patch) | |
tree | fe819053914fd5eacb5805364e7eb9df1ebb51f2 | |
parent | b7915f8a149aaa3cdd72a5f126a30bf2e0bf1738 (diff) | |
download | ffmpeg-fea8e119a2bc103b64faba6b5e1f3defe0c344c2.tar.gz |
aptx: factorize FFABS calculation
-rw-r--r-- | libavcodec/aptx.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libavcodec/aptx.c b/libavcodec/aptx.c index 7b9556ce42..64a63a7d5b 100644 --- a/libavcodec/aptx.c +++ b/libavcodec/aptx.c @@ -462,10 +462,12 @@ static void aptx_quantize_difference(Quantize *quantize, { const int32_t *intervals = tables->quantize_intervals; int32_t quantized_sample, dithered_sample, parity_change; - int32_t d, mean, interval, inv; + int32_t d, mean, interval, inv, sample_difference_abs; int64_t error; - quantized_sample = aptx_bin_search(FFABS(sample_difference) >> 4, + sample_difference_abs = FFABS(sample_difference); + + quantized_sample = aptx_bin_search(sample_difference_abs >> 4, quantization_factor, intervals, tables->tables_size); @@ -477,7 +479,7 @@ static void aptx_quantize_difference(Quantize *quantize, interval = (intervals[1] - intervals[0]) * (-(sample_difference < 0) | 1); dithered_sample = rshift64_clip24(MUL64(dither, interval) + ((int64_t)(mean + d) << 32), 32); - error = ((int64_t)FFABS(sample_difference) << 20) - MUL64(dithered_sample, quantization_factor); + error = ((int64_t)sample_difference_abs << 20) - MUL64(dithered_sample, quantization_factor); quantize->error = FFABS(rshift64(error, 23)); parity_change = quantized_sample; |