From 5f2720ac98432ea60408c04ab9b2f2fd6007e328 Mon Sep 17 00:00:00 2001 From: ansh1406 Date: Mon, 27 Apr 2026 22:54:00 +0530 Subject: [PATCH] libobs: initialize peak values using absolute value in get_true_peak and get_sample_peak --- libobs/obs-audio-controls.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libobs/obs-audio-controls.c b/libobs/obs-audio-controls.c index 9fb2ca090..1d09ff8de 100644 --- a/libobs/obs-audio-controls.c +++ b/libobs/obs-audio-controls.c @@ -328,7 +328,7 @@ static float get_true_peak(__m128 previous_samples, const float *samples, size_t const __m128 p3 = _mm_set_ps(-0.103943f, 0.233872f, 0.935489f, -0.155915f); __m128 work = previous_samples; - __m128 peak = previous_samples; + __m128 peak = abs_ps(previous_samples); for (size_t i = 0; (i + 3) < nr_samples; i += 4) { __m128 new_work = _mm_load_ps(&samples[i]); __m128 intrp_samples; @@ -365,7 +365,7 @@ static float get_true_peak(__m128 previous_samples, const float *samples, size_t */ static float get_sample_peak(__m128 previous_samples, const float *samples, size_t nr_samples) { - __m128 peak = previous_samples; + __m128 peak = abs_ps(previous_samples); for (size_t i = 0; (i + 3) < nr_samples; i += 4) { __m128 new_work = _mm_load_ps(&samples[i]); peak = _mm_max_ps(peak, abs_ps(new_work));