[FFmpeg-cvslog] avfilter/af_dynaudnorm: use better check for infinite loop
Paul B Mahol
git at videolan.org
Mon Aug 8 00:56:14 EEST 2016
ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sun Aug 7 23:47:04 2016 +0200| [22d13e4290c8fdba57485e1b501f6a92283a10db] | committer: Paul B Mahol
avfilter/af_dynaudnorm: use better check for infinite loop
Apparently due to rounding this happens.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=22d13e4290c8fdba57485e1b501f6a92283a10db
---
libavfilter/af_dynaudnorm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavfilter/af_dynaudnorm.c b/libavfilter/af_dynaudnorm.c
index 6801209..91ec45a 100644
--- a/libavfilter/af_dynaudnorm.c
+++ b/libavfilter/af_dynaudnorm.c
@@ -519,7 +519,8 @@ static double setup_compress_thresh(double threshold)
double step_size = 1.0;
while (step_size > DBL_EPSILON) {
- while ((current_threshold + step_size > current_threshold) &&
+ while ((llrint((current_threshold + step_size) * (UINT64_C(1) << 63)) >
+ llrint(current_threshold * (UINT64_C(1) << 63))) &&
(bound(current_threshold + step_size, 1.0) <= threshold)) {
current_threshold += step_size;
}
More information about the ffmpeg-cvslog
mailing list