summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2022-02-25 11:48:19 +0100
committerPaul B Mahol <onemda@gmail.com>2022-02-25 18:15:26 +0100
commite3f07185ed615e6e3fa1fe76db10ba367fb932ba (patch)
treec439b2e2125a7644aaac18f0d189be84606305bb /libavfilter
parente845c41c944ebc42411c9cc52f8d13faed1b78a3 (diff)
avfilter/f_ebur128: also set max peak for all channels in frame metadata
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/f_ebur128.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c
index f63cf77983..f71f32a9d4 100644
--- a/libavfilter/f_ebur128.c
+++ b/libavfilter/f_ebur128.c
@@ -866,12 +866,17 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples)
#define SET_META_PEAK(name, ptype) do { \
if (ebur128->peak_mode & PEAK_MODE_ ## ptype ## _PEAKS) { \
+ double max_peak = 0.0; \
char key[64]; \
for (ch = 0; ch < nb_channels; ch++) { \
snprintf(key, sizeof(key), \
META_PREFIX AV_STRINGIFY(name) "_peaks_ch%d", ch); \
+ max_peak = fmax(max_peak, ebur128->name##_peaks[ch]); \
SET_META(key, ebur128->name##_peaks[ch]); \
} \
+ snprintf(key, sizeof(key), \
+ META_PREFIX AV_STRINGIFY(name) "_peak"); \
+ SET_META(key, max_peak); \
} \
} while (0)