From patchwork Sun Apr 9 14:08:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 41071 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4645:b0:e3:3194:9d20 with SMTP id eb5csp1592705pzb; Sun, 9 Apr 2023 07:13:24 -0700 (PDT) X-Google-Smtp-Source: AKy350brWEectH6IjnLfE2btrUqfM4fV2xfVEbf6HLYnCwhry1Xrs1SIXCxnMVSmU2vbykeiQ2tV X-Received: by 2002:a17:906:381b:b0:947:c221:eb38 with SMTP id v27-20020a170906381b00b00947c221eb38mr5511707ejc.13.1681049604045; Sun, 09 Apr 2023 07:13:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681049604; cv=none; d=google.com; s=arc-20160816; b=WYFCpIyoVYtA51bOqTRIENPg+KD49RtWbz8bEZMbxmlvEDRQAbVQqwPYyz472BI3XN ZCZTBslEOR/OX0hJNXBLtN6O94p3XSnEgae+/CsTxKjApaj5zhTqJP3fitz7TSi6zwH0 I4nELUrDP89z1paRZpVJx50QeoJPvV/qcAEKes25INk4TPtB986AQH0rde8zzDDJ5TpV AeM25uNc737fDEMJJSNw1irS+6ocm2/CQ4rxcF4wWuEk9gR6yz9hdkKVsllZVuySUKSE IGPwt/F0pocUS1nJwX7lVfP5ZDofRRN/d2JgJEqIp9YYfKJkzhgc9xnhLUhAyglnjmh0 H6mA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=M6pMLC9F8gymGtA7kObxhYnfak8v3soQUeiJpHP9PHc=; b=KB0/GKewILNND2ZfidfdrgSqVVGY/A7PU/RE6VLfK9RzLGSNlDPf7cz0rQEBxzjh/s yu+sEHDHZe5WfozIp0u/mWDWI2Q6RRfXJ0pOX+6JDODIhAXH5lecvTTc/0Mkx/11rATm qZ2ZFsQhUOezVeiKBds9SBnpV2/ZwTatHNjCDJ9rIJ3+Z+esdT40YUau9TSu+v6gJqa7 gcntf2+Hk0Vpd/WVlEQStULVM9y6h0dcmMv5AbbiAhr3ZaMpY8LT/DrYwTQq9WESkDnx iG2pT9ku+mYTy+HLNuQ8fruFOUSVNwFqeIMW/wpJh2FYgF3PXaBH9iyAVJ3aOJeRSye/ p+HA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id hq22-20020a1709073f1600b00947b79daa6dsi8344948ejc.325.2023.04.09.07.13.23; Sun, 09 Apr 2023 07:13:24 -0700 (PDT) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2566368BEA9; Sun, 9 Apr 2023 17:09:45 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 85DD068BD6C for ; Sun, 9 Apr 2023 17:09:17 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 098FB2405F9 for ; Sun, 9 Apr 2023 16:09:15 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id DZJ5pG_O54dm for ; Sun, 9 Apr 2023 16:09:14 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 464912406CB for ; Sun, 9 Apr 2023 16:09:10 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 37A813A039B for ; Sun, 9 Apr 2023 16:09:10 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Sun, 9 Apr 2023 16:08:35 +0200 Message-Id: <20230409140853.28858-11-anton@khirnov.net> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230409140853.28858-1-anton@khirnov.net> References: <20230409140853.28858-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 11/29] fftools/ffmpeg: move printing verbose muxing stats to ffmpeg_mux 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: TePXgNegAdU9 This is a more appropriate place for this. --- fftools/ffmpeg.c | 34 ---------------------------------- fftools/ffmpeg_mux.c | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 34 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 48e771cbc5..e1748114b3 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -809,40 +809,6 @@ static void print_final_stats(int64_t total_size) av_log(NULL, AV_LOG_VERBOSE, " Total: %"PRIu64" packets (%"PRIu64" bytes) demuxed\n", total_packets, total_size); } - - for (i = 0; i < nb_output_files; i++) { - OutputFile *of = output_files[i]; - uint64_t total_packets = 0, total_size = 0; - - av_log(NULL, AV_LOG_VERBOSE, "Output file #%d (%s):\n", - i, of->url); - - for (j = 0; j < of->nb_streams; j++) { - OutputStream *ost = of->streams[j]; - enum AVMediaType type = ost->st->codecpar->codec_type; - - total_size += ost->data_size_mux; - total_packets += atomic_load(&ost->packets_written); - - av_log(NULL, AV_LOG_VERBOSE, " Output stream #%d:%d (%s): ", - i, j, av_get_media_type_string(type)); - if (ost->enc_ctx) { - av_log(NULL, AV_LOG_VERBOSE, "%"PRIu64" frames encoded", - ost->frames_encoded); - if (type == AVMEDIA_TYPE_AUDIO) - av_log(NULL, AV_LOG_VERBOSE, " (%"PRIu64" samples)", ost->samples_encoded); - av_log(NULL, AV_LOG_VERBOSE, "; "); - } - - av_log(NULL, AV_LOG_VERBOSE, "%"PRIu64" packets muxed (%"PRIu64" bytes); ", - atomic_load(&ost->packets_written), ost->data_size_mux); - - av_log(NULL, AV_LOG_VERBOSE, "\n"); - } - - av_log(NULL, AV_LOG_VERBOSE, " Total: %"PRIu64" packets (%"PRIu64" bytes) muxed\n", - total_packets, total_size); - } } static void print_report(int is_last_report, int64_t timer_start, int64_t cur_time) diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c index 9a91861bd4..5acd3b9b9d 100644 --- a/fftools/ffmpeg_mux.c +++ b/fftools/ffmpeg_mux.c @@ -637,6 +637,41 @@ static int check_written(OutputFile *of) return ret; } +static void mux_final_stats(Muxer *mux) +{ + OutputFile *of = &mux->of; + uint64_t total_packets = 0, total_size = 0; + + av_log(NULL, AV_LOG_VERBOSE, "Output file #%d (%s):\n", + of->index, of->url); + + for (int j = 0; j < of->nb_streams; j++) { + OutputStream *ost = of->streams[j]; + enum AVMediaType type = ost->st->codecpar->codec_type; + + total_size += ost->data_size_mux; + total_packets += atomic_load(&ost->packets_written); + + av_log(NULL, AV_LOG_VERBOSE, " Output stream #%d:%d (%s): ", + of->index, j, av_get_media_type_string(type)); + if (ost->enc_ctx) { + av_log(NULL, AV_LOG_VERBOSE, "%"PRIu64" frames encoded", + ost->frames_encoded); + if (type == AVMEDIA_TYPE_AUDIO) + av_log(NULL, AV_LOG_VERBOSE, " (%"PRIu64" samples)", ost->samples_encoded); + av_log(NULL, AV_LOG_VERBOSE, "; "); + } + + av_log(NULL, AV_LOG_VERBOSE, "%"PRIu64" packets muxed (%"PRIu64" bytes); ", + atomic_load(&ost->packets_written), ost->data_size_mux); + + av_log(NULL, AV_LOG_VERBOSE, "\n"); + } + + av_log(NULL, AV_LOG_VERBOSE, " Total: %"PRIu64" packets (%"PRIu64" bytes) muxed\n", + total_packets, total_size); +} + int of_write_trailer(OutputFile *of) { Muxer *mux = mux_from_of(of); @@ -668,6 +703,8 @@ int of_write_trailer(OutputFile *of) } } + mux_final_stats(mux); + // check whether anything was actually written ret = check_written(of); mux_result = err_merge(mux_result, ret);