From patchwork Thu Apr 9 11:07:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 18792 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 0350944AD15 for ; Thu, 9 Apr 2020 14:07:38 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DC6A968B7EE; Thu, 9 Apr 2020 14:07:37 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7EAF568B603 for ; Thu, 9 Apr 2020 14:07:29 +0300 (EEST) Received: by mail-pf1-f194.google.com with SMTP id v23so4617006pfm.1 for ; Thu, 09 Apr 2020 04:07:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Sd7Ljlj9HvyRadGb4cfUIui5pkZH/9oFHmoCkv94kkU=; b=VjH7o1o45jZ/hBqfab3zC7s0AdNSbWSCzrl5tRorTLBjQVykH1DE9wAj0/Sdb046kF hS619xivnAOaD6qoCXnJj1cXok4rSk/rlk4WuyagD4aZb6hgvaGJ6rfmGFzsZQxNLMtE LDf0X9BvTREn6LTahzaw9STYCRMSRk3cMktJTtSrl8MdBjM2PdyYwjVJZ9GtEOozDmEj 3je2IE0clmzwyDvPnR7k+5eu7em0ZY+gkdNmpSZZL64/ThbkS3ILn/mnRY/9MFo3C9cI MDXIt4POiesbmHsUFA4wXRMDUFq24D+zmVEJIPO8fRLhpqZlTE7Cz10fAgjSd0y5+iJH Qz0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Sd7Ljlj9HvyRadGb4cfUIui5pkZH/9oFHmoCkv94kkU=; b=LcqSUdiIkVWHODgt8btOYG5F/YziSMwN4+GpO8r6ak29IHnVB8jUqDzi6eiOvp/nEV uyywuQ3Ze4a8du5gchfmAXDSZcw+OoA04bAxB/sHeZGUuCC3y3aS5hZWLhbY13En+h2x Q5gq82dBM29xy8x4jDlXdr6i3DWUY4FHkul3fOw+fQ6XCEZkaO8Pw2+nZ8q8ZXHX/rPd C5Dj3+RJ4ZXogLMHOo/eGhPLLF8En0xsIb+8vVGBr9XYWMaRp5RpnTlkJEllAQjieywe 7Onu0xbUykDa1z51+fGTToHtFYHrIWhIkID0Euj+nNgkiY66PqYV4q0EAoxTGbvvFSHJ 1YZQ== X-Gm-Message-State: AGi0Pub32JHvHXm2M6P8OghAfsg0lpndF4t36YffyvCi4E+x6FzTXA6N EMaxJ2hBfq38PV0KTWmcbbi6WgcU X-Google-Smtp-Source: APiQypKihkv3E1IElxEdO0go75AwrA4wwGCw6+bQa5DSmRVd6oDQ8ZUMuRzsy5pczCQeWBJEvECtLw== X-Received: by 2002:a63:68a:: with SMTP id 132mr611782pgg.377.1586430447511; Thu, 09 Apr 2020 04:07:27 -0700 (PDT) Received: from vpn.localdomain ([47.90.99.151]) by smtp.gmail.com with ESMTPSA id k17sm18977042pfp.194.2020.04.09.04.07.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Apr 2020 04:07:27 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Thu, 9 Apr 2020 19:07:18 +0800 Message-Id: <20200409110720.6965-2-lance.lmwang@gmail.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20200409110720.6965-1-lance.lmwang@gmail.com> References: <20200409110720.6965-1-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v1 2/4] avfilter/af_loudnorm: Add compact mode to simplify stats parsing X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- doc/filters.texi | 2 +- libavfilter/af_loudnorm.c | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/filters.texi b/doc/filters.texi index 738a40df4e..19171d48dc 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -4283,7 +4283,7 @@ Multi-channel input files are not affected by this option. Options are true or false. Default is false. @item print_format -Set print format for stats. Options are summary, json, or none. +Set print format for stats. Options are summary, json, compact or none. Default value is none. @item file, f diff --git a/libavfilter/af_loudnorm.c b/libavfilter/af_loudnorm.c index bf530195e4..3012aa2471 100644 --- a/libavfilter/af_loudnorm.c +++ b/libavfilter/af_loudnorm.c @@ -48,6 +48,7 @@ enum PrintFormat { NONE, JSON, SUMMARY, + COMPACT, PF_NB }; @@ -124,6 +125,7 @@ static const AVOption loudnorm_options[] = { { "none", 0, 0, AV_OPT_TYPE_CONST, {.i64 = NONE}, 0, 0, FLAGS, "print_format" }, { "json", 0, 0, AV_OPT_TYPE_CONST, {.i64 = JSON}, 0, 0, FLAGS, "print_format" }, { "summary", 0, 0, AV_OPT_TYPE_CONST, {.i64 = SUMMARY}, 0, 0, FLAGS, "print_format" }, + { "compact", 0, 0, AV_OPT_TYPE_CONST, {.i64 = COMPACT}, 0, 0, FLAGS, "print_format" }, { "file", "set file path for the measured stats", OFFSET(filename), AV_OPT_TYPE_STRING, {.str=NULL}, FLAGS }, { "f", "set file path for the measured stats", OFFSET(filename), AV_OPT_TYPE_STRING, {.str=NULL}, FLAGS }, { NULL } @@ -909,6 +911,16 @@ static av_cold void uninit(AVFilterContext *ctx) ); break; + case COMPACT: + s->print(ctx, "input_i: %.2f, input_tp: %.2f, input_lra: %.2f, input_thresh: %.2f, " + "output_i: %.2f, output_tp: %.2f, output_lra: %.2f, output_thresh: %.2f, " + "normalization_type: %s, target_offset: %.2f\n", + i_in, 20. * log10(tp_in), lra_in, thresh_in, + i_out, 20. * log10(tp_out), lra_out, thresh_out, + s->frame_type == LINEAR_MODE ? "linear" : "dynamic", + s->target_i - i_out); + break; + case SUMMARY: s->print(ctx, "\n"