From patchwork Thu Oct 22 15:17:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 23155 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 9E40644B9FF for ; Thu, 22 Oct 2020 18:18:11 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8468468AA85; Thu, 22 Oct 2020 18:18:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F40C568A98A for ; Thu, 22 Oct 2020 18:18:03 +0300 (EEST) Received: by mail-pf1-f196.google.com with SMTP id b26so1339396pff.3 for ; Thu, 22 Oct 2020 08:18:03 -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=lcreQwH3tH1TZzM/Wb858Ec12xuS/UrnDT8CW7ZJi8Y=; b=ueNm0sCrGddyqEJCme2PtXfo95w4dZYSfdBhn2p8RiWizhGSYErG1+kMXejrkA6p6M vCBUbyoPbrLbrf6UxzbvrOeu/lMjDNqAqjHD9LB/spgJnG4oV8mUsYIH7TQQE2wepgj+ ZyKDij7TGpST+76oZSf9DxLmlw3PQMXHG6iw+Xsj5HcMok7RC42o/tBskpZn4k1SaHjh PsBRSHNZi/f6yAfX2lq66uqcd14YZlH0/BwQbsF6xhktYbXRQuYb025FuV+Yujubw96E YOP6EK18p+/LWCn5hDvXLXiq5NH7aStrh5hAYWgDCdeWW1/aL+71ySmOkD+ftDT/cWIP IhPA== 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=lcreQwH3tH1TZzM/Wb858Ec12xuS/UrnDT8CW7ZJi8Y=; b=c3hPXJ3qtbEH3U7hejg1Ni5HCMSYS2lK8E5w2odZtWlV8zM2ABZXWbLQercuycs032 b6KK6P1UAZRu7q/FEu1OndCO2UDw+OFfqnnQQcmQdcbFT0qZu/F/wmzVWED/1f9s/QzH 9LmFu2hCIKUlxtw1xL6XX3MTGHCvFfra/IJ6JH8uHC6SJUmgsCCO6LExX4m15yPnnM11 UZA4DL2tn4i3XcSmik6pGFtbS0tGOen04xObtkynxQSC+7AXK7+QmrjprPN5pgg3CGNw igzpe37hDm1eFX4ykjUZ5mnIuI+mF10eTL9jrvUuJTNzfdg0Z9OsfxROeRLCeY0c/3PW RpDQ== X-Gm-Message-State: AOAM5326PkyaZ6pFLQYhw0i+4mnQo459nzydut3oR/rfXjcJgBvwjHQQ D6B5DYPD7TEFM4URYXgkV+oGIXMxdAY= X-Google-Smtp-Source: ABdhPJyvX1atDHYtlRdJsvCCJaoThGzJqi+qjYBVFBwueTBImnwGtggDG/KYQpeVIi8moOPRYoHnDA== X-Received: by 2002:a62:5382:0:b029:155:6333:ce4f with SMTP id h124-20020a6253820000b02901556333ce4fmr3075830pfb.28.1603379882224; Thu, 22 Oct 2020 08:18:02 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id mn11sm2370259pjb.19.2020.10.22.08.18.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Oct 2020 08:18:01 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Thu, 22 Oct 2020 23:17:47 +0800 Message-Id: <1603379867-6325-3-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1603379867-6325-1-git-send-email-lance.lmwang@gmail.com> References: <1603287614-11545-1-git-send-email-lance.lmwang@gmail.com> <1603379867-6325-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v2 3/3] fftools/ffmpeg: fix the wrong bitrate and speed stats 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 The bitrate and speed stats are wrong If the copyts is enabled. Please test with below command: wget http://samples.mplayerhq.hu/MPEG2/foxksaz.ts ./ffmpeg -y -copyts -i ./foxksaz.ts -c:v libx264 -x264opts \ nal-hrd=cbr:force-cfr=1 -b:v 3500k -minrate 3500k -maxrate 3500k -bufsize \ 1000k -c:a mp2 -muxrate 4500k -vframes 1000 test.ts before: frame= 1000 fps=112 q=-1.0 Lsize= 9063kB time=09:10:12.41 bitrate= 2.2kbits/s speed=3.7e+03x after: frame= 1000 fps=112 q=-1.0 Lsize= 9062kB time=00:00:15.78 bitrate=4703.4kbits/s speed=1.77x Signed-off-by: Limin Wang --- fftools/ffmpeg.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index cb7644d..6a5bf7d 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -344,6 +344,7 @@ static volatile int received_nb_signals = 0; static atomic_int transcode_init_done = ATOMIC_VAR_INIT(0); static volatile int ffmpeg_exited = 0; static int main_return_code = 0; +static int64_t copy_ts_first_pts = AV_NOPTS_VALUE; static void sigterm_handler(int sig) @@ -1753,9 +1754,17 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti vid = 1; } /* compute min output value */ - if (av_stream_get_end_pts(ost->st) != AV_NOPTS_VALUE) + if (av_stream_get_end_pts(ost->st) != AV_NOPTS_VALUE) { pts = FFMAX(pts, av_rescale_q(av_stream_get_end_pts(ost->st), ost->st->time_base, AV_TIME_BASE_Q)); + if (copy_ts) { + if (copy_ts_first_pts == AV_NOPTS_VALUE && pts > 1) + copy_ts_first_pts = pts; + if (copy_ts_first_pts != AV_NOPTS_VALUE) + pts -= copy_ts_first_pts; + } + } + if (is_last_report) nb_frames_drop += ost->last_dropped; }