[FFmpeg-cvslog] aptx: factorize FFABS calculation
Aurelien Jacobs
git at videolan.org
Fri Feb 9 23:19:05 EET 2018
ffmpeg | branch: master | Aurelien Jacobs <aurel at gnuage.org> | Sat Jan 6 01:22:31 2018 +0100| [fea8e119a2bc103b64faba6b5e1f3defe0c344c2] | committer: Aurelien Jacobs
aptx: factorize FFABS calculation
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fea8e119a2bc103b64faba6b5e1f3defe0c344c2
---
libavcodec/aptx.c | 8 +++++---
1 file 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;
More information about the ffmpeg-cvslog
mailing list