From patchwork Sat Jan 29 01:08:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Jang X-Patchwork-Id: 33898 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp918999iov; Fri, 28 Jan 2022 17:09:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJyJqkYWjLmXsc+E2l8w9xtcKIK2rGz9CQYqD8kQ28VNmsAH9exy8O3KpM9LHvuVMvKqu8qJ X-Received: by 2002:a05:6402:741:: with SMTP id p1mr10724848edy.394.1643418540398; Fri, 28 Jan 2022 17:09:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643418540; cv=none; d=google.com; s=arc-20160816; b=eT2TxhsYQvD2q9sUUA1FCJ5W+jtdrm+hEn8h2Xer1iv08esgzbXz96rpElDuiOB1Le WcqSCy/UgXXW/hpa12PLNA5VPPJgzJuueNkwHFzbhbmm+o2XlRj1x7v0pBCwxkhFITUa 2SDr4h8/xHUOTmq8VJ3qUHmqMh4QrGpDSuh6f+jOSSFQk+IODm6AbGqQK1xANlyalhcc GKuZj5MDm64n+CTNcNpbq6tQ2gRL4FdChfduUdQUkNUoKZH8mWJBtcNy/MOIQXzPVjOG 5IhmCuwU/6JvZ39EOrY5gVku6EK85xsHVd9I7PyqjQsMjN7nFmil/SScHkApnEG8/wkJ k3VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=bZyj7xJZ1iBZTzqKWf+PF6k0ZTd0c/PYly2oBMdYdhE=; b=Ub1n/ovsrF4E/DGeQ+Nj1sDbu9SYbt1yZKrkKPFW08M7jLcEQnLM1rTNefyrsiLxXi DE/92vsNPTZjTf3Zr6yF4zLZFOoMOwbREpLXkKImfL5Bx6HazReRvyqiioipT8kABEkJ RWnjQ5uvECLk96K5xy+NWFyTAUpvYHgkLi9f89wSRV9uVg0mqEXrkHHhoee5GBazIKBW oQhWFXgz29ItjUhJlYo2lz5WOVSNQ1tIAoMaI42i/IOEKKeizCp0Eiww/rzlLjzjc93E gLcrlDDocZAqRGqf74qoq3dcq4QoNaUpYr6DApNa/8gGnVM9sF25Kk0BQeh/GGlEjHyu +vrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=gLo8tpXZ; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 26si3920642ejr.644.2022.01.28.17.08.59; Fri, 28 Jan 2022 17:09:00 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=gLo8tpXZ; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E32F668B15A; Sat, 29 Jan 2022 03:08:55 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3836668A948 for ; Sat, 29 Jan 2022 03:08:49 +0200 (EET) Received: by mail-pj1-f52.google.com with SMTP id h12so8087168pjq.3 for ; Fri, 28 Jan 2022 17:08:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=smhFGe8H+5tdEangudZuGU0xgQwft4VztE85t9GxTRo=; b=gLo8tpXZvNw5dYzxvoxoayh3qP8P0lGRjH0m2zM+Mausftq7bZ4G9weqi9EkSoCdc5 Albf0dqRjbvxhsK59BV2a7WYqM7EG5Pzu7yMPzQt5CIsF92UJtrOKUvbj1KbqAL4kSUE k2M2RCODSN81vz+LDWqRx8X2GJEGCQ5Qn0bNb1Cw8dRQggxZNlgdphdLQIzCzrL7zHya mmtXJdSl5d5tn5uPdkrmeV/M6p9zhI0QkJ5SyaJiHlq6qCtFMazWoZbSvIgCFHedTk/u Hwci1lX216HodZmkTa191qODaIQ4OCqjaWKOENdHdOcNXpTJbUREdwphQx68Uc3OT49H adog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=smhFGe8H+5tdEangudZuGU0xgQwft4VztE85t9GxTRo=; b=mR3o4LOzV9JpCkbIDb6eIs8oAP91PxnuktKDYwgZ7GUNmlaxyeON1fsnGkVzYrt0J8 NdpCKFgud8PM2KRqFTbpgCyR+G7m4P4pkn4yG5hBNqb2Qq31c9OjMjQ334KbVVWjUpAl NARbFE3Hm9k09na65h5yWo1mE6NSHWIUAcNMREyKYQz6DNxjn6UI0kxVdmWTVmOQeJ5l zunZxOR/78f2Tb8JyX1ZceB+jdepiQK+Z8ozLP+ADDMhQZnSdLCkzl3hlToC7flbv7FU saf4fCWCTAE5KMLXRAeRqCsEZpk8QVkpiigSJRkrGksYR7IGlivDx47AgyeB+6yAIMvJ jIwA== X-Gm-Message-State: AOAM53048bcfXEjPxDISjGDs0e+pM3x/3GkpzsFh24iA5C8zxHRoEYF6 V20F5UfTklFnRP+1K8Oys/RpdNF9lfN0fQ== X-Received: by 2002:a17:90b:4ad0:: with SMTP id mh16mr21673179pjb.89.1643418526879; Fri, 28 Jan 2022 17:08:46 -0800 (PST) Received: from ryzen-archlinux.localdomain (node-1w7jr9quwtshe9pluzzjlv6my.ipv6.telus.net. [2001:569:7da8:e800:e2d5:5eff:fe8e:845a]) by smtp.googlemail.com with ESMTPSA id j2sm8123097pfc.209.2022.01.28.17.08.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jan 2022 17:08:46 -0800 (PST) From: Jason Jang To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Jan 2022 17:08:27 -0800 Message-Id: <20220129010827.307903-1-jcj83429@gmail.com> X-Mailer: git-send-email 2.35.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] avfilter/af_apsyclip: fix FFT bin indexing X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Jason Jang Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: IDkpW2vtFaPE With a complex FFT instead of real FFT, the negative frequencies are not dropped from the spectrum output, so they need to be scaled when the positive frequencies are scaled. The location of the top bin is also different. Signed-off-by: Jason Jang --- libavfilter/af_apsyclip.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/libavfilter/af_apsyclip.c b/libavfilter/af_apsyclip.c index dc3a8e9..0bc469c 100644 --- a/libavfilter/af_apsyclip.c +++ b/libavfilter/af_apsyclip.c @@ -292,10 +292,9 @@ static void calculate_mask_curve(AudioPsyClipContext *s, if (i == 0) { magnitude = FFABS(spectrum[0]); } else if (i == s->fft_size / 2) { - magnitude = FFABS(spectrum[1]); + magnitude = FFABS(spectrum[s->fft_size]); } else { - // although the negative frequencies are omitted because they are redundant, - // the magnitude of the positive frequencies are not doubled. + // Because the input signal is real, the + and - frequencies are redundant. // Multiply the magnitude by 2 to simulate adding up the + and - frequencies. magnitude = hypotf(spectrum[2 * i], spectrum[2 * i + 1]) * 2; } @@ -315,10 +314,9 @@ static void calculate_mask_curve(AudioPsyClipContext *s, for (int i = s->num_psy_bins; i < s->fft_size / 2 + 1; i++) { float magnitude; if (i == s->fft_size / 2) { - magnitude = FFABS(spectrum[1]); + magnitude = FFABS(spectrum[s->fft_size]); } else { - // although the negative frequencies are omitted because they are redundant, - // the magnitude of the positive frequencies are not doubled. + // Because the input signal is real, the + and - frequencies are redundant. // Multiply the magnitude by 2 to simulate adding up the + and - frequencies. magnitude = hypotf(spectrum[2 * i], spectrum[2 * i + 1]) * 2; } @@ -360,19 +358,20 @@ static void limit_clip_spectrum(AudioPsyClipContext *s, for (int i = 1; i < s->fft_size / 2; i++) { float real = clip_spectrum[i * 2]; float imag = clip_spectrum[i * 2 + 1]; - // although the negative frequencies are omitted because they are redundant, - // the magnitude of the positive frequencies are not doubled. + // Because the input signal is real, the + and - frequencies are redundant. // Multiply the magnitude by 2 to simulate adding up the + and - frequencies. relative_distortion_level = hypotf(real, imag) * 2 / mask_curve[i]; if (relative_distortion_level > 1.0) { clip_spectrum[i * 2] /= relative_distortion_level; clip_spectrum[i * 2 + 1] /= relative_distortion_level; + clip_spectrum[s->fft_size * 2 - i * 2] /= relative_distortion_level; + clip_spectrum[s->fft_size * 2 - i * 2 + 1] /= relative_distortion_level; } } // bin N/2 - relative_distortion_level = FFABS(clip_spectrum[1]) / mask_curve[s->fft_size / 2]; + relative_distortion_level = FFABS(clip_spectrum[s->fft_size]) / mask_curve[s->fft_size / 2]; if (relative_distortion_level > 1.f) - clip_spectrum[1] /= relative_distortion_level; + clip_spectrum[s->fft_size] /= relative_distortion_level; } static void r2c(float *buffer, int size) From patchwork Sat Jan 29 01:12:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Jang X-Patchwork-Id: 33899 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp921319iov; Fri, 28 Jan 2022 17:13:10 -0800 (PST) X-Google-Smtp-Source: ABdhPJz2e6jFrZ3DTLClHc9JQUZxPBP4L4PWfTNJrU+lCvmHynWSy+dyHxz4kmWgNm1Q/dAi1Uu2 X-Received: by 2002:a17:907:6e86:: with SMTP id sh6mr9182533ejc.398.1643418790418; Fri, 28 Jan 2022 17:13:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643418790; cv=none; d=google.com; s=arc-20160816; b=AMzI9c2o21oQ2uU4C3rpM24wQkpITqH6crZALhwk5sFQ50VVHAa1VLLyaLwLslas9z 0WJAW7UObFMQV0pZl5dg7DRqW61tvtIjda6r4SH5Olj2bcvKKCdbV2UJYg5aSjDJQJWB x8T5QWpyk/Z8/Iks6voPKfXIDDkBgeN7aLcLdSBZ90YBqtAInnxAY1Tq+Mr2buTDqxdC fA/ez0NAGZU5DmpWkGe6hF9GVTCOWVZbW+6YMPfoDrPiU/69dNGr/qGHgj6eKaBzyl7V d7XwMWMeQwfMmrh4jUZewJrOVchRkQwxGh0fQQpLCuOafUWUS0+e58IRyG4HicEu5uFy I3uA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=YrDfoveDB6C1lFve2m8RJO7a7+yLFBe+hx0f5M0Mdiw=; b=oI2kakQj1q9GZ9bBS13oeQfwMd/MgGEGCOGKT7Q5GUefxOzYP2G8fzMr3A6VQ1Rhvd zgA4Iw4QQKz5CTgBEYcx5kuT15Fo3Qg8DDCUIeLrEjxybcd5fUnyVe86jwe1KpB3K2bR OE6WEB3CNlo+5j7EnoD6VpxeZbQkmqYrYVQMI2FCiZknfQeF1NdwymmS3x5pjhcbW84H cAwblLH4nIZDbsbPrtH1AK2nNj633Xjyc95bKuusJlx0VIIR7nlIpvCM00nRbyYHCV6F Dp2uXheqbrNnvWQt/8K3C1m831K/xWV5pYTUblqBuZzHANN+MnLJxWAtUEA03XXv6epc aHIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=RUFjRORk; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id he17si4134185ejc.161.2022.01.28.17.13.10; Fri, 28 Jan 2022 17:13:10 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=RUFjRORk; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8470E68B1C4; Sat, 29 Jan 2022 03:13:07 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E21ED68AA89 for ; Sat, 29 Jan 2022 03:13:00 +0200 (EET) Received: by mail-pj1-f49.google.com with SMTP id g11-20020a17090a7d0b00b001b2c12c7273so8270233pjl.0 for ; Fri, 28 Jan 2022 17:13:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=jyibVgbRYSUlwLaSfB3Co7EZJ4fvwzxJFeYCcpdMk38=; b=RUFjRORkbqlQi9bBJsifcYmC3EmqjKMSIaT/+JywMuMo3JRFjGaILDrv/9OU13BlQO hs2Flp7NYzTjuCvw4bDIJe5GERtPX/d/GWtgtsP7pSxe0mgi813aTfc6jne/27sCUy8S BRsPyddVpFBRgyMEUrTJVSDmtqhg7xD4Rv+pL99rJjx8We3+CaAetAihCOh4Fuo6OIXV cp551sTumBDNpy9ZtqB3VpX5wqIPZKq2JSArt8ac/XW7kp1xwm1XcvYBt3BxY30JQCfP f/xvQoY8w5wdq1MRj2e7FPgP3AfMrgKTQnwHQPiDuTeO7iXCf8mUxYqc6PsRmkxyN9uX 4rTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=jyibVgbRYSUlwLaSfB3Co7EZJ4fvwzxJFeYCcpdMk38=; b=V1VNMc6xT4IjAadBwIn/+YgBkg4gamoEQTiG3LdXSrjzmIZ2WKTY1wkSQ6mK4d34vl ZpFTlrw8Tycfip4bDxIKL2i0N37lQx5goiWi+tCTXQ3UXvzB94Y9WSQGm6nNjSjWnYJ4 2btaqcaZwH+//1rRQeWX1Ibz1qIcS92yu2aH5ISVEXHUrFI5Jr99C7W61EgqiP9bbvIL 7XW/Yc/UeJuXIx4Hft2ZlldWAPksoHIt97I8dU1Z9VbwmwMRPnSuvl8dkZF247RA+ynt TmTM+NfDCxVyWq8Ju4zMWG7+08AuK8fu16fCYDTn2FEsUh1WBWr3eiuwTuvN9RNzYPSK xEBw== X-Gm-Message-State: AOAM531t/NjChPLSB4hGrmuZMb9YsNSELFe2e8RvmAwgrNQwma9aLYEm XcIQQsZpSW6uNAVKnxftRQ+kvORfPzhbHQ== X-Received: by 2002:a17:90a:15c9:: with SMTP id w9mr12632607pjd.225.1643418779103; Fri, 28 Jan 2022 17:12:59 -0800 (PST) Received: from ryzen-archlinux.localdomain (node-1w7jr9quwtshe9pluzzjlv6my.ipv6.telus.net. [2001:569:7da8:e800:e2d5:5eff:fe8e:845a]) by smtp.googlemail.com with ESMTPSA id f16sm10098012pfd.118.2022.01.28.17.12.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jan 2022 17:12:58 -0800 (PST) From: Jason Jang To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Jan 2022 17:12:41 -0800 Message-Id: <20220129011241.308079-1-jcj83429@gmail.com> X-Mailer: git-send-email 2.35.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] avfilter/af_apsyclip: fix peak overestimation X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Jason Jang Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: QosGkSDn3Sm8 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 --- 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 0bc469c..2a79ed3 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; } } From patchwork Sat Jan 29 01:15:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Jang X-Patchwork-Id: 33900 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp923055iov; Fri, 28 Jan 2022 17:16:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJxCNu0AEXkrbyJqPq/eXSJcq/m02Vr+b/r1f4um4nuob0LR9IBSARqjNnel2Knl42pmiMZ1 X-Received: by 2002:a05:6402:3492:: with SMTP id v18mr10772528edc.345.1643418982577; Fri, 28 Jan 2022 17:16:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643418982; cv=none; d=google.com; s=arc-20160816; b=tMWy6tuPgIcHv7cZMZUZLap27//PRTJ6mAYTMIw85BogI9FGXZGPxeClimvMkPs8aZ 7SmxdYr3bUyZHRztC7qd301LNqDW/gz4Ww4kI3z1BuikMnZH/GxLVSTYmVQDAvGh5/iv MeAFvUqDE1i7m1d3/a2FaKz5pYcOFgEL5bzIGJ5bZVetRsE+Q/VqB5wfjQqZsox8iaC1 /oBHZceYA8gsmPClYrKIEExu0y5nBiMmKjY+vWy5sz88qILTG/e/A1olHbSjC6kT1nn2 EOIrxR8HHY7U7Ii7XrarkXuvMBhN6hg6jIeEywj3jjN5gmWIOx6zK9m3j955M8F5McvQ xYQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=airev7y3Z+6LhAqMj6euLCELfOreBlXbvv1pBG5L1ss=; b=EtKojOvkTojvZr5JmLnmW8XCipjHJRWzCWGQr9y9CEAlG5S/7oc/PxS3FV+ZH5gvn9 9iFPgWtgOQ5ali74/2AhMAsJoDP5TXD2kWYGeJIK/HxHh8ZRa3AUIE2bZcL6ikxWVhxh bw3eEXsx2ddPVUGjMGdfi9MXP6T1LCDrNSifSprScNveTmZ/rLOjS5sAPg/2LKU9noKl g1WNaq3PmdwF/9gQzYQl2p2/enhJBnjPTi5mJXQUtHqp/VBz7ZEM1HgeQUA3XX7D3Njr gnAhrQRDCWUAfEWussZQfn82LNmwOim/0IAcFLAbvE3nzBu7R0HHNsDfjdt7PRrg7KgV ByDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Od9gHFcb; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 7si4257917ejy.204.2022.01.28.17.16.22; Fri, 28 Jan 2022 17:16:22 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Od9gHFcb; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A8AE768B1ED; Sat, 29 Jan 2022 03:16:19 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A8CB968AFB4 for ; Sat, 29 Jan 2022 03:16:12 +0200 (EET) Received: by mail-pj1-f54.google.com with SMTP id l24-20020a17090aec1800b001b55738f633so8252737pjy.1 for ; Fri, 28 Jan 2022 17:16:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=EWMUdWI+toH/8HW7SX2uhbIXVXTakh8mGtIKfBFT7Tk=; b=Od9gHFcboCwAEsWB1HaK4E+SfoZ67pnxJgEbN2n+cspA6bBpNb+6kmeuLYYXulaQz0 1Heo8cV+HzjMSyO+yysOpzAraJrT2TBotOb/sQEdPRPkyRBQM6IuYfmfFIt/Z7Uj3+vW RrTWlAtJz+a/wwuYoez3++6fabsUPp6P3anYIvKFhjephiim6BXXPKGZOitPY6ybJz30 is4GF7SsLwU0Nfz9Mq7xpmjLQQ8HprLtSXWFJGLhTYI65K8GMzEb7eVNvQo8tm2aJDRp A4/EaDA23ODFQOIIz1pBnnEEMvSdjxS4IbEf9zYw4L71oKOIwJQaABpw3W7yjEzeG/6E R4Cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=EWMUdWI+toH/8HW7SX2uhbIXVXTakh8mGtIKfBFT7Tk=; b=SMzlishafLBax1AS9DIjF0UhC0mD/HEqRo6v/xQad55QuALwL+zQVQS9t+FnNlpzhh 26z9nIL9HGZwvAykvcCj9fP2E+X/B+nusYf0Wr5j7wgf0o/jGKEWRZEdYk1qffAV5zro HjoflZf3LWWEhnq3ADnijPc4NMH1dtbDvohDIrzm2R/PGMJ71Ajkaro+PhwKNZq6La3L t5yYlijvZAOs/nchrHLvqfHyAP5r25Eal2L5KGntUpNE1QtSpG91WrWN0xqg6RaOMy4d z7pRliVpn5h2alAQGw/S6mnZB5QOXnjTQzAf9VaEkdSrGMP7fQ8te7MjxCVMb9dKyiCb r9yw== X-Gm-Message-State: AOAM533cfnKZ9OF6dyILxaCE2Cw3fv8qO4XMgtx8kTmbPE4+YnX0LGSv 9HXYoTGxrnNAkq/NbcfPAqY4KH8BxJ814A== X-Received: by 2002:a17:90b:1952:: with SMTP id nk18mr22455562pjb.101.1643418970716; Fri, 28 Jan 2022 17:16:10 -0800 (PST) Received: from ryzen-archlinux.localdomain (node-1w7jr9quwtshe9pluzzjlv6my.ipv6.telus.net. [2001:569:7da8:e800:e2d5:5eff:fe8e:845a]) by smtp.googlemail.com with ESMTPSA id nk11sm3446458pjb.55.2022.01.28.17.16.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jan 2022 17:16:10 -0800 (PST) From: Jason Jang To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Jan 2022 17:15:54 -0800 Message-Id: <20220129011554.308345-1-jcj83429@gmail.com> X-Mailer: git-send-email 2.35.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] avfilter/af_apsyclip: increase protection for high frequencies X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Jason Jang Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: /gxhrDXxVJIe This reduces sibilance distortion when sibilance and bass are present at the same time. Bringing the protection of high frequencies up to about the same level as for low frequencies should also make the quality less dependent on the frequency balance of the playback system. Signed-off-by: Jason Jang --- 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 2a79ed3..1f41148 100644 --- a/libavfilter/af_apsyclip.c +++ b/libavfilter/af_apsyclip.c @@ -186,7 +186,7 @@ static int config_input(AVFilterLink *inlink) { AVFilterContext *ctx = inlink->dst; AudioPsyClipContext *s = ctx->priv; - static const int points[][2] = { {0,14}, {125,14}, {250,16}, {500,18}, {1000,20}, {2000,20}, {4000,20}, {8000,15}, {16000,5}, {20000,-10} }; + static const int points[][2] = { {0,14}, {125,14}, {250,16}, {500,18}, {1000,20}, {2000,20}, {4000,20}, {8000,17}, {16000,14}, {20000,-10} }; static const int num_points = 10; float scale; int ret;