From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 7F11846A21 for ; Fri, 28 Jun 2024 20:15:56 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E790D68D69D; Fri, 28 Jun 2024 23:15:37 +0300 (EEST) Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4529B68D67B for ; Fri, 28 Jun 2024 23:15:30 +0300 (EEST) Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-367339bd00aso824354f8f.3 for ; Fri, 28 Jun 2024 13:15:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719605729; x=1720210529; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tJjCousbAeyr4cDqpLI1CWvvgJ3kHVcHk8R66SIcyHc=; b=k2YRT9euaRn9nHGjW/oJTLfz4NyfR9+Qxu9CKSXXvUhTw959xK6OUH+FI8uBU+uqH8 rRwxnjGyKxDAqWiFuVtPdh51XrONl/GgOJgILr+iQXzYh8xYEzi3CpU56GUQmhxansO3 72QT+diRvD2ATszLLZ/Ub+OPNZFqKRMsiQ7TGpPLQpBO/jfal5pCgW1TNodvEKtAuGLf 1Mx6P1JITSMQaBbJ2S5D61/XCx5TlvpPxKIBNTGiuk3bqmFkvqKjF9pikIsLsOJn6eQK d+yZEP7TQ8kGLfdX2+CPaC/VNL61JDdd1haT1FE/WFc8kX8eNWVvyT3ZCilyRqANT7NV O4Sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719605729; x=1720210529; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tJjCousbAeyr4cDqpLI1CWvvgJ3kHVcHk8R66SIcyHc=; b=OG8fMdzi4DxNgIUAwrIkrdwahA57ZVdQvwn7UgRhDuTylEloYayhPvMtVdQkEexA8d Oev/cC3Jl2ZgbQAqFzfc2UzrFvtlLaSHgcMB/CHh9ldh6yXjzDJEsPNYeHxNX/hN5tEv n64XXK5X29kUc5Owhn2NqbkvEmeD6Htuts+SNaEHifBN7rJMNBL/sygrgm6hqb21LtdD ro5gBxBilb0mYppQQdhhNatG+QueSbmzP0CYqyXeYJ7XXkfF/Sl8Bf68AL1lwbNfKm3O OgsGk5lBu4RuHN8sfZNjF8HqE+qMWSJ673595jv1YxuKxItwID+p0v//CKeSdbUv+/KA 3r/Q== X-Gm-Message-State: AOJu0YxbBTwDcNT0V/NM5qiqyqTNhbyUDx6OEl+y2LsUt3hjTw0ypWAf vIXYTVbRJUQx0RnKCh6Guxegl14Ad6cyjrH9obNCQ3JVDWpS8kIapxOAXA== X-Google-Smtp-Source: AGHT+IE6TerkTwZJ5AEoCKRJm4BKh8IQJfflh7KRtFd1gDJbFDccJM0y3h9b4y4blZcUsZi6oVGgSQ== X-Received: by 2002:a5d:6dac:0:b0:363:7788:b975 with SMTP id ffacd0b85a97d-366e95e7154mr14821304f8f.52.1719605729399; Fri, 28 Jun 2024 13:15:29 -0700 (PDT) Received: from localhost.localdomain ([2a02:e0:8bea:ef00:1561:d557:9aa3:53f4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3675a0cd4a1sm3249164f8f.23.2024.06.28.13.15.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 28 Jun 2024 13:15:29 -0700 (PDT) From: Yigithan Yigit To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Jun 2024 23:15:21 +0300 Message-ID: <20240628201523.23612-3-yigithanyigitdevel@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240628201523.23612-1-yigithanyigitdevel@gmail.com> References: <20240628201523.23612-1-yigithanyigitdevel@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 2/4] avfilter/af_volumedetect.c: Added functions for int/float and planar/packed 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: thilo.borgmann@mail.de, yigithanyigitdevel@gmail.com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --- libavfilter/af_volumedetect.c | 58 +++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/libavfilter/af_volumedetect.c b/libavfilter/af_volumedetect.c index 327801a7f9..61c00e0248 100644 --- a/libavfilter/af_volumedetect.c +++ b/libavfilter/af_volumedetect.c @@ -43,6 +43,64 @@ static inline double logdb(uint64_t v) return -log10(d) * 10; } +static void process_float_planar_samples(VolDetectContext *vd, AVFrame *samples) +{ + int plane, i; + int nb_channels = samples->ch_layout.nb_channels; + int nb_samples = samples->nb_samples; + float *audio_data; + for (plane = 0; plane < nb_channels; plane++) { + audio_data = (float *)samples->extended_data[plane]; + for (i = 0; i < nb_samples; i++) { + update_float_stats(vd, &audio_data[i]); + } + } +} + +static void process_float_packed_samples(VolDetectContext *vd, AVFrame *samples) +{ + int i, j; + int nb_channels = samples->ch_layout.nb_channels; + int nb_samples = samples->nb_samples; + float *audio_data; + for (i = 0; i < nb_samples; i++) { + audio_data = (float *)samples->extended_data[0]; + for (j = 0; j < nb_channels; j++) { + update_float_stats(vd, &audio_data[i * nb_channels + j]); + } + } +} + +static void process_int_planar_samples(VolDetectContext *vd, AVFrame *samples) +{ + int plane, i; + int nb_channels = samples->ch_layout.nb_channels; + int nb_samples = samples->nb_samples; + int16_t *pcm; + for (plane = 0; plane < nb_channels; plane++) { + pcm = (int16_t *)samples->extended_data[plane]; + for (i = 0; i < nb_samples; i++) { + vd->histogram[pcm[i] + 0x8000]++; + vd->nb_samples++; + } + } +} + +static void process_int_packed_samples(VolDetectContext *vd, AVFrame *samples) +{ + int i, j; + int nb_channels = samples->ch_layout.nb_channels; + int nb_samples = samples->nb_samples; + int16_t *pcm; + for (i = 0; i < nb_samples; i++) { + pcm = (int16_t *)samples->extended_data[0]; + for (j = 0; j < nb_channels; j++) { + vd->histogram[pcm[i * nb_channels + j] + 0x8000]++; + vd->nb_samples++; + } + } +} + static int filter_frame(AVFilterLink *inlink, AVFrame *samples) { AVFilterContext *ctx = inlink->dst; -- 2.45.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".