From patchwork Mon Mar 14 13:32:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 34726 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:3486:0:0:0:0 with SMTP id ek6csp2166506nkb; Mon, 14 Mar 2022 06:33:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJygF4syFlSB5+HDMgISyvF1a1fiZqg4egOgksoHVnFKdmaVmQzP0JeozJm8TtGKtIaAkc8c X-Received: by 2002:a05:6402:2066:b0:416:158e:39a7 with SMTP id bd6-20020a056402206600b00416158e39a7mr20701917edb.104.1647264836711; Mon, 14 Mar 2022 06:33:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647264836; cv=none; d=google.com; s=arc-20160816; b=Ekj0TGJd8nmN8nOAdPmN7KFkAtcwpghTCStD2VgOxL+YP8QBiSO2w3KQgJMtR2SC7o IVZRDOCdZoVbk6mtxnyVZaMhbju8C9vO5V0AJL3yE4yuIFHo0q6kHBMe8/k6p7uD5Aev 7DlQhnAyjM6oIvo/BHaH2JQYrVe3W1Ml4dxdwWQB+Hdc3RA649jki/sDcAuDy7DRA9y3 J4wkP+R/CAeAUnZbbrGcQd2+fq9k3s/KuLJ9QvNStgM/sDWUaZQQws604IKpafH5YJrG FMtHleOGXNZOc/FxXnKwiZD++fnec45zX2tvNxYfmcZsE8rBtyjuXOzMZT5+L3wsDQnf qFMA== 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:message-id:date:to:from :dkim-signature:delivered-to; bh=pLNlf0OCatLtPFvuAz4/08tmvkeM4I/TVtofh/6PHnY=; b=f8ca4i9MlbjeUAIdUPF8/gsPRWy238IadKnGeEB1M2kYXgyCfXNSocqa4lPPEVh/WC 6yuOP2NP8MQUXf3GpBpWF7cua/+8/y37+zw2oLf39CKl7pjXw2pgRtRjAPFt5XT5LJMD Gmo4YwwdkVsmsfJAAApe7BuPPiZVCc+qpBFuXMxr/HqeFn5op8Yx+6n7WZGPkK9qLNK5 m2yV0GG6X6MJC4GAHGWURu5+Ngi3UA3ByrVtno/t1KKyvF5gJsB5sQrZkb48w3ObSBlv hebRWn6z4WRJgR5u4u1nsLnbUZ4lO3yUPAllkg7gYrCuM8bqaZ++H6bntPCv3pUbE7lr ifMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="TI5on/YS"; 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 hs16-20020a1709073e9000b006da9515c821si11923961ejc.592.2022.03.14.06.33.55; Mon, 14 Mar 2022 06:33:56 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="TI5on/YS"; 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 31F8A680264; Mon, 14 Mar 2022 15:33:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ot1-f48.google.com (mail-ot1-f48.google.com [209.85.210.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C9DB4680264 for ; Mon, 14 Mar 2022 15:33:45 +0200 (EET) Received: by mail-ot1-f48.google.com with SMTP id k9-20020a056830242900b005ad25f8ebfdso11749742ots.7 for ; Mon, 14 Mar 2022 06:33:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=53MOyguSYCtM2J5l2oSBoifF3AsIeEM2220jFvh29QI=; b=TI5on/YSxVttYi02qRMN21kx7L3949DsGjNDWxGP33op+TozsAsAKX0UmdYQQ0mUih LAxIx8l52sparrOvgIlDmQ2mMQDU+9o43YBtnpwnZGWrczEEG5OG4L1XcE55puEHTnHo 8yS9VcM1FCuxbzYH2wXfn9ETfMa/SUTwIhVbZrfSziNReOEnBvu9WDHzM2z+5oavPbpg 4L7XhMkEWBn4kraF6y2wXSycbJEE02FXpwQqY31YSV/tSDqTPrSKa524aN2uZJNEQq1s X4jQrrFnD2wlVxOXXLmMA/UcJJhyIpcLSbtoy2ocadpG6Hwu/mXVVUs9Mk6P/pAOk8J5 kcvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=53MOyguSYCtM2J5l2oSBoifF3AsIeEM2220jFvh29QI=; b=fRugxLDz39aFg6QtUXTFfLsCp9b7j5lsQFEjcMrWMrOsX7FSfb+pc5VeEm0oVFcjls 36+/whA5bqdfEePi2vFUMR6KK9LByRXbofccEWp+3uybuWT06m0DvpLExwcwamCeZ9SL Q/VGW+Qa4POsws6O1PrLhqUt1+dgVY/c2Do2Xioc0uufa8kzGNi5DM59Wc80oXZCwxNC my5q685jtzVS21coEji+xzb60/YyHn5BkVZ4S+16IfCjIGeStwNyLsfNEwRMrqQNK8m5 oKdlgcuXIKD+9uWpVnRr5OK81f4wWTRpYV2kcIUNdadTBwTmPn4CG2/DuupyDA774VwJ /Glg== X-Gm-Message-State: AOAM533GrwqTfeC9F76RdqVhyw6ohY/1ggPMYQBsCenzD8PGEotg/jkA 8PS7Q9o2WF/ZXkFdnobJL09GOvgJvqJAmw== X-Received: by 2002:a05:6830:25d6:b0:5c9:49ef:3c5b with SMTP id d22-20020a05683025d600b005c949ef3c5bmr5269458otu.331.1647264823806; Mon, 14 Mar 2022 06:33:43 -0700 (PDT) Received: from localhost.localdomain ([186.136.131.95]) by smtp.gmail.com with ESMTPSA id e8-20020a9d63c8000000b005b235a56831sm7681651otl.49.2022.03.14.06.33.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Mar 2022 06:33:43 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 14 Mar 2022 10:32:53 -0300 Message-Id: <20220314133253.1191-1-jamrial@gmail.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] ffmpeg: print proper statistics for video output when using wrapped avframe encoder 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: JBWgoIyk6G2Y pkt->size contains the size of an AVFrame struct plus some padding, which is meaningless. Use instead the size of a raw video frame, as if it was the rawvideo encoder. Signed-off-by: James Almer --- fftools/ffmpeg.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 9a3fdc636d..a878554627 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -722,6 +722,7 @@ static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int u { AVFormatContext *s = of->ctx; AVStream *st = ost->st; + int data_size = pkt->size; int ret; /* @@ -796,6 +797,12 @@ static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int u pkt->duration = av_rescale_q(1, av_inv_q(ost->frame_rate), ost->mux_timebase); } + + if (st->codecpar->codec_id == AV_CODEC_ID_WRAPPED_AVFRAME) { + ret = av_image_get_buffer_size(st->codecpar->format, st->codecpar->width, st->codecpar->height, 1); + if (ret >= 0) + data_size = ret; + } } av_packet_rescale_ts(pkt, ost->mux_timebase, ost->st->time_base); @@ -838,7 +845,7 @@ static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int u } ost->last_mux_dts = pkt->dts; - ost->data_size += pkt->size; + ost->data_size += data_size; ost->packets_written++; pkt->stream_index = ost->index; @@ -849,7 +856,7 @@ static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int u av_get_media_type_string(ost->enc_ctx->codec_type), av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &ost->st->time_base), av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &ost->st->time_base), - pkt->size + data_size ); }