From patchwork Fri Jan 27 13:16:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 40133 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3ca3:b0:b9:1511:ac2c with SMTP id b35csp1337921pzj; Fri, 27 Jan 2023 05:17:35 -0800 (PST) X-Google-Smtp-Source: AK7set/AR6lfjNTHgEPs3MMabiy9+gwN9bIhHgTMhceVhWF2ERLIL0YaSdJ3aOHsZyaT7VWifaXb X-Received: by 2002:a17:907:a042:b0:87b:e105:5d9a with SMTP id gz2-20020a170907a04200b0087be1055d9amr1016796ejc.67.1674825455357; Fri, 27 Jan 2023 05:17:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674825455; cv=none; d=google.com; s=arc-20160816; b=wJpfCjb8M2WbgVpNX5QASSWMAUCI3vj4CgHgisn3FgOqY1wqwHQsleGld1oITZvycf Sy53UNLON2zDjpG6ybyYFREvlvCMZd1NqnvuL5jal5J6ThvS85+QidtfnceVdmOPF8Vm lKW7saYZAU19NWEo6kwHaof/OyrgwZYndkY9IpBFh7JvsRID420fwd2Mq1yX4XDQIneQ rXkyTq0GlXXj7+VvsFdqJt9KxuF5D3aLfDi9Tw0QV7uZblAWvYoJJeMPLwcbzT09TMuM wU8+8/1MJ3GjpQim3IOZCQwo2TxKTw1OIecaIeCPFkbYHZ5es66vfr8ZY3+SPEA8sgTi 5Y6g== 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 :delivered-to; bh=rFH9UL2w03D76CUMEoIrppM1I18dmgDZX9eSI2VYe1Y=; b=PIC/LNlhOimHYFfr7ejkgJUMMMpeu34VTddHV5dcGXPaqjE8e+o+tzDZ691wYJ57Tk 88HK2RLgo6bu/rpMBNAc7N6aBXZ/gSqZIGXR0EdJWaehs0KvmvdF152gIGQuLu6uVlfO L1V+G4VahZwY6tPxV3W8HX+tzL5tOmr7qt+48769A/2reA5FP+Nnrt3PegSuEN2D6rRk x6i+S4Gtkg8I/WVcr9+Owdd/zh8GGn5FI8uIjF5uys1tzshV1aU3xy9ExNmxoOR22vpD nt3E8lDwSUAHji67Y6vqSFzaU++XY1mDnppU0dfWJvH1uz8ufS7cLrzvQKw7jTwEf6sK b1zQ== 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 14-20020a17090600ce00b008731f7e5981si5120293eji.866.2023.01.27.05.17.34; Fri, 27 Jan 2023 05:17:35 -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; 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 D776568BDD2; Fri, 27 Jan 2023 15:17:30 +0200 (EET) 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 62C9268BD65 for ; Fri, 27 Jan 2023 15:17:24 +0200 (EET) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 01D8D240178 for ; Fri, 27 Jan 2023 14:17:24 +0100 (CET) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id MkYSxsLceeAI for ; Fri, 27 Jan 2023 14:17:23 +0100 (CET) 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 CA2022404F5 for ; Fri, 27 Jan 2023 14:17:22 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id F08993A02AF for ; Fri, 27 Jan 2023 14:17:14 +0100 (CET) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Fri, 27 Jan 2023 14:16:36 +0100 Message-Id: <20230127131639.4928-1-anton@khirnov.net> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/4] lavfi/framesync: use a local variable to shorten code 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: UWkqqmLxCKjN --- libavfilter/framesync.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/libavfilter/framesync.c b/libavfilter/framesync.c index ee91e4cf68..153db4fa21 100644 --- a/libavfilter/framesync.c +++ b/libavfilter/framesync.c @@ -201,24 +201,23 @@ static int framesync_advance(FFFrameSync *fs) break; } for (i = 0; i < fs->nb_in; i++) { - if (fs->in[i].pts_next == pts || - (fs->in[i].ts_mode == TS_NEAREST && - fs->in[i].have_next && - fs->in[i].pts_next != INT64_MAX && fs->in[i].pts != AV_NOPTS_VALUE && - fs->in[i].pts_next - pts < pts - fs->in[i].pts) || - (fs->in[i].before == EXT_INFINITY && - fs->in[i].state == STATE_BOF)) { - av_frame_free(&fs->in[i].frame); - fs->in[i].frame = fs->in[i].frame_next; - fs->in[i].pts = fs->in[i].pts_next; - fs->in[i].frame_next = NULL; - fs->in[i].pts_next = AV_NOPTS_VALUE; - fs->in[i].have_next = 0; - fs->in[i].state = fs->in[i].frame ? STATE_RUN : STATE_EOF; - if (fs->in[i].sync == fs->sync_level && fs->in[i].frame) + FFFrameSyncIn * const in = &fs->in[i]; + + if (in->pts_next == pts || + (in->ts_mode == TS_NEAREST && in->have_next && + in->pts_next != INT64_MAX && in->pts != AV_NOPTS_VALUE && + in->pts_next - pts < pts - in->pts) || + (in->before == EXT_INFINITY && in->state == STATE_BOF)) { + av_frame_free(&in->frame); + in->frame = in->frame_next; + in->pts = in->pts_next; + in->frame_next = NULL; + in->pts_next = AV_NOPTS_VALUE; + in->have_next = 0; + in->state = in->frame ? STATE_RUN : STATE_EOF; + if (in->sync == fs->sync_level && in->frame) fs->frame_ready = 1; - if (fs->in[i].state == STATE_EOF && - fs->in[i].after == EXT_STOP) + if (in->state == STATE_EOF && in->after == EXT_STOP) framesync_eof(fs); } }