ffmpeg | branch: master | Paul B Mahol <[email protected]> | Mon Aug 14 01:36:34 
2023 +0200| [24c013369dee69b87b517d6a7d71644d094a4e46] | committer: Paul B Mahol

avfilter/af_asdr: remove wrong scaling from sdr, and fix sisdr formula

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

 libavfilter/af_asdr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavfilter/af_asdr.c b/libavfilter/af_asdr.c
index dbbb7e3419..3942f48053 100644
--- a/libavfilter/af_asdr.c
+++ b/libavfilter/af_asdr.c
@@ -225,11 +225,11 @@ static av_cold void uninit(AVFilterContext *ctx)
 
     if (!strcmp(ctx->filter->name, "asdr")) {
         for (int ch = 0; ch < s->channels; ch++)
-            av_log(ctx, AV_LOG_INFO, "SDR ch%d: %g dB\n", ch, 20. * 
log10(s->chs[ch].u / s->chs[ch].uv));
+            av_log(ctx, AV_LOG_INFO, "SDR ch%d: %g dB\n", ch, 10. * 
log10(s->chs[ch].u / s->chs[ch].uv));
     } else if (!strcmp(ctx->filter->name, "asisdr")) {
         for (int ch = 0; ch < s->channels; ch++) {
             double scale = s->chs[ch].uv / s->chs[ch].v;
-            double sisdr = s->chs[ch].u / fmax(0., s->chs[ch].u + 
scale*scale*s->chs[ch].v - 2.0*scale*s->chs[ch].uv);
+            double sisdr = scale * scale * s->chs[ch].v / fmax(0., 
s->chs[ch].u + scale*scale*s->chs[ch].v - 2.0*scale*s->chs[ch].uv);
 
             av_log(ctx, AV_LOG_INFO, "SI-SDR ch%d: %g dB\n", ch, 10. * 
log10(sisdr));
         }

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to