[FFmpeg-cvslog] avfilter/af_apsyclip: fix peak overestimation

Jason Jang git at videolan.org
Sat Feb 5 15:58:49 EET 2022


ffmpeg | branch: master | Jason Jang <jcj83429 at gmail.com> | Fri Jan 28 17:12:41 2022 -0800| [18fceb99260a74ec80d661b28f0ab32783130516] | committer: Paul B Mahol

avfilter/af_apsyclip: fix peak overestimation

Ignore more samples that are near the edge of the block. The reason
is that the filtering tends to cause these samples to go above the
window more than the samples near the middle. If these samples are
included in the unwindowed peak estimation, the peak can be
overestimated. Because the block is windowed again before
overlapping, overshoots near the edge of the block are not very
important.

0.1 is the value from the version originally contributed to calf.

Signed-off-by: Jason Jang <jcj83429 at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=18fceb99260a74ec80d661b28f0ab32783130516
---

 libavfilter/af_apsyclip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavfilter/af_apsyclip.c b/libavfilter/af_apsyclip.c
index 0bc469c1a1..2a79ed3a8a 100644
--- a/libavfilter/af_apsyclip.c
+++ b/libavfilter/af_apsyclip.c
@@ -87,7 +87,7 @@ static void generate_hann_window(float *window, float *inv_window, int size)
 
         window[i] = value;
         // 1/window to calculate unwindowed peak.
-        inv_window[i] = value > 0.01f ? 1.f / value : 0.f;
+        inv_window[i] = value > 0.1f ? 1.f / value : 0.f;
     }
 }
 



More information about the ffmpeg-cvslog mailing list