[FFmpeg-devel] [PATCH] avfilter/f_ebur128: properly propagate true peak
Niklas Haas
ffmpeg at haasn.xyz
Mon Jun 23 21:51:07 EEST 2025
From: Niklas Haas <git at haasn.dev>
After 3b26b782ee, `ebur128->true_peak` was only set to the maximum of the
current "true peak per frame" values, when it should report the true peak for
the entire stream.
Fixes: 3b26b782eeded9b9ab7fac013cd1a83a30d68206
---
libavfilter/f_ebur128.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c
index 80cbe20330..63669b71de 100644
--- a/libavfilter/f_ebur128.c
+++ b/libavfilter/f_ebur128.c
@@ -692,11 +692,13 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples)
double peak = dsp->find_peak(ebur128->true_peaks_per_frame, nb_channels,
swr_samples, ret);
- ebur128->true_peak = DBFS(peak);
for (int ch = 0; ch < nb_channels; ch++) {
+ peak = FFMAX(peak, ebur128->true_peaks[ch]);
ebur128->true_peaks[ch] = FFMAX(ebur128->true_peaks[ch],
ebur128->true_peaks_per_frame[ch]);
}
+
+ ebur128->true_peak = DBFS(peak);
}
#endif
--
2.49.0
More information about the ffmpeg-devel
mailing list