From patchwork Wed Mar 6 11:03:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 46838 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:d90e:b0:19e:cdac:8cce with SMTP id jd14csp313261pzb; Wed, 6 Mar 2024 03:06:10 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUM1HQPvesgmVYl88ALZdlU72jxj3Bz73ycCu9V8FxH0G45Tpl7ZoZDjuddtXu8fasl/9aswkntBe+vXHm9J14ASxmqkEjYolDLfg== X-Google-Smtp-Source: AGHT+IHnPU8h/iTF16W8PdYmGcEK+at2qK/pQDMJa2qvc+ojC0J+wrJwWmyX57tOlofEVmyXIpaa X-Received: by 2002:a05:6402:22bc:b0:566:c2f8:a47d with SMTP id cx28-20020a05640222bc00b00566c2f8a47dmr2088909edb.1.1709723170321; Wed, 06 Mar 2024 03:06:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709723170; cv=none; d=google.com; s=arc-20160816; b=H+hFySdGiUpqafXTAwjHIniskExq7BWKX0wpVd9GzCXXQRdhOYB/GxIHHcpdACV0RC HullruD85CkCzDoaWkmgZigr61DCw8xtWTAcX2QA4nEtiLh+mARfBM9S1QhaTpIIL1qI KFlpuRZmFvcRKFZ6ZjJ9geloVXMlsAsdTB1yWnCD5rbloTbuAW3/3l0rtSG/Y+XURHtE PFsKBYG7r108Esnh7utB/HxndTW2k9tcglLdFg/13TBOr21NxiKOFqL44DQ61dvX1ccJ XxnS7SnfnHO+qwuORpzOsBZFihDn2XtzM9EviQeBkR14sCyinhhcH/K+VPPLCFMuNfT8 R32w== 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:dkim-signature:delivered-to; bh=FRUdME782Z0qZMMCp1+CZ2LEhW6QRo9LcXLwq+VNVQM=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=cyh2liwtv0iJYap0ZSXG9myH1xDrgdOat6gDpN6mLNKbIipiEFrFMDQxWfEaoHa85H rXI/Jkzp/O8izD3L05V8GZp2hYIsS/8Iu5w+sp7TTYxy6BtFGCZbBKRh7bHrvMzy+Z9h SFpoLU/ngeB7+Xr/kxx5jNpmOizYW3JYq/eanH6ynCMEFFFvhPcS6YeoQ6LySwgR0uFd dhMvZDDDqFDC2rxNgGQPURzn7zhJ67ahl5VPKO6odtEfMq3LIUfvahHxnX611DZ5Z9lU tDHzVPLCiCqMXskYmAsGy5hUBevPcBOoET/DlBrOzI4uohRoBLxz+6n/pImys89goN/b QqcA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=dSpEQDGo; 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 n10-20020a05640205ca00b005664cef247fsi5880742edx.179.2024.03.06.03.06.09; Wed, 06 Mar 2024 03:06:10 -0800 (PST) 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=@khirnov.net header.s=mail header.b=dSpEQDGo; 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 6C5FF68CCF8; Wed, 6 Mar 2024 13:05:34 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 76EF568BE7C for ; Wed, 6 Mar 2024 13:05:30 +0200 (EET) Authentication-Results: mail1.khirnov.net; dkim=pass (2048-bit key; unprotected) header.d=khirnov.net header.i=@khirnov.net header.a=rsa-sha256 header.s=mail header.b=dSpEQDGo; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id E92584D48 for ; Wed, 6 Mar 2024 12:05:25 +0100 (CET) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id EECuZOC2G8Ey for ; Wed, 6 Mar 2024 12:05:25 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1709723123; bh=tiqBXmuPxXRuF0dNM20HTUqfTagojYHtn+rlxEpfHM8=; h=From:To:Subject:Date:In-Reply-To:References:From; b=dSpEQDGo6NPB64KqX1C75EJSufME8EaGJ2gXQyXeKHOwTeVAryRdAQPDFWNiYcHJS WWyYannz0a714RYvuVUKuZedEZemvnp5ISBXwo1vPdl4fBKM75FxDJv27o6O4OnZAi 406n3opuffrzYS3SYG0Avs7hH6Fruvdk+gStrmz7lgQmlFNoYy0JOKij1xR90Pi61q VKHr/mCR8u9IZjbybWTu5vtYBjn0Eqwxrke2pj6f70qSlZCShnu5G6YNCYPveybTfF /YOcMpjr1PzzO1P7ARaIVvpeMa43qXufHgglJWXJ3k5/rVNUS+CEErvr8rvzZu+5Aq V+4LZGVlAvnvw== 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 mail1.khirnov.net (Postfix) with ESMTPS id 0C1014D59 for ; Wed, 6 Mar 2024 12:05:23 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 004CA3A0357 for ; Wed, 6 Mar 2024 12:05:23 +0100 (CET) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Wed, 6 Mar 2024 12:03:12 +0100 Message-ID: <20240306110319.17339-11-anton@khirnov.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240306110319.17339-1-anton@khirnov.net> References: <20240306110319.17339-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 11/18] fftools/ffmpeg_enc: drop unnecessary parameter from forced_kf_apply() 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: f9wzdvTHuH+m Encoder timebase is equal to the frame timebase, so does not need to be passed separately. Also, rename in_picture to frame, which is shorter and more accurate - it always contains a frame, never a field. --- fftools/ffmpeg_enc.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c index 1ddef46d03..f0a17228fe 100644 --- a/fftools/ffmpeg_enc.c +++ b/fftools/ffmpeg_enc.c @@ -746,16 +746,16 @@ static int do_audio_out(OutputFile *of, OutputStream *ost, } static enum AVPictureType forced_kf_apply(void *logctx, KeyframeForceCtx *kf, - AVRational tb, const AVFrame *in_picture) + const AVFrame *frame) { double pts_time; if (kf->ref_pts == AV_NOPTS_VALUE) - kf->ref_pts = in_picture->pts; + kf->ref_pts = frame->pts; - pts_time = (in_picture->pts - kf->ref_pts) * av_q2d(tb); + pts_time = (frame->pts - kf->ref_pts) * av_q2d(frame->time_base); if (kf->index < kf->nb_pts && - av_compare_ts(in_picture->pts, tb, kf->pts[kf->index], AV_TIME_BASE_Q) >= 0) { + av_compare_ts(frame->pts, frame->time_base, kf->pts[kf->index], AV_TIME_BASE_Q) >= 0) { kf->index++; goto force_keyframe; } else if (kf->pexpr) { @@ -780,7 +780,7 @@ static enum AVPictureType forced_kf_apply(void *logctx, KeyframeForceCtx *kf, kf->expr_const_values[FKF_N_FORCED] += 1; goto force_keyframe; } - } else if (kf->type == KF_FORCE_SOURCE && (in_picture->flags & AV_FRAME_FLAG_KEY)) { + } else if (kf->type == KF_FORCE_SOURCE && (frame->flags & AV_FRAME_FLAG_KEY)) { goto force_keyframe; } @@ -801,7 +801,7 @@ static int do_video_out(OutputFile *of, OutputStream *ost, return AVERROR_EOF; in_picture->quality = enc->global_quality; - in_picture->pict_type = forced_kf_apply(ost, &ost->kf, enc->time_base, in_picture); + in_picture->pict_type = forced_kf_apply(ost, &ost->kf, in_picture); #if FFMPEG_OPT_TOP if (ost->top_field_first >= 0) {