From patchwork Sun Dec 24 01:49:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 45307 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6623:b0:194:e134:edd4 with SMTP id n35csp1915978pzh; Sat, 23 Dec 2023 17:50:12 -0800 (PST) X-Google-Smtp-Source: AGHT+IH8OCPojKa08+FQP4ranVQhZLDMNpOg9VlGAj78uTKUeXTpFCAVwONSlkxykLAAPSCVJmbF X-Received: by 2002:a17:906:1008:b0:a26:87e2:52 with SMTP id 8-20020a170906100800b00a2687e20052mr1577567ejm.20.1703382612441; Sat, 23 Dec 2023 17:50:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703382612; cv=none; d=google.com; s=arc-20160816; b=GnMUd/utyh4nH1KCmwQzMVJ3m2OdftmV6/XrtJBf3M8pZ0GLKZ+A0IER4uwA+nzOMk IAhYfggoKhbH8vcBP+KSJ8A6fc/bWwf4aJYU7RZOFLWNZUpImt9WzKUnH3DiQciZIQUM a0UqCKFJtwjy8tLBGGJZjUBdLnaegDUcTqE0SOcmxbzBerkceKjvrr15WtDbxOZUF/vC 30G2dukU+GiYSHdwfEpz46TRwvB211UhN/rubiPWKtxBm4MHZWbBNlF3z+5RyrI98Bmr a5LSTKVc2ArnNnpE8wDnDL2dYj/w8Xmzcao46qNdIE13RrHm49JyOdqTj4iLRRr8kClv RWhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=Gh4VBe3BSyQl2TtUoyJDovu6djQ9FYK6pkT+MTvLLrs=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=0HpYSPxuIaO7xgIxXZEH+1m3ALZFwfHawzAVWeHYb8OB0ukKlFVnPUyRPhHpsDXrNe +Pvy8RUBOrxdjNhybz+xW6iPBPER/SO2RqNUpqJRzxBHmR37j5Wqt5JseOnsSKbN9kWf 6WnaNM7/01hCIYhZhv2f50XBd+lD0DkD5zL6JgKfe4w7sTwP0wOGmKsb3eIzwHnZSXH2 AjzyGv10nCUQfEH0spTq0FLKfMDP2SuzD4EOLW4rJlh9EakB6TH9z/DJRmdjvLZMW24n Zj7w3GVVp+Y9Zi+W2Tnw0b/imGY61+kvQNpdQgLkcyYD6uhCWFwAMM5GPzmxNaLi4sQh cjsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b=M7X1jtWc; 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 gu15-20020a170906f28f00b00a26c77963a1si1709855ejb.571.2023.12.23.17.50.12; Sat, 23 Dec 2023 17:50:12 -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=@niedermayer.cc header.s=gm1 header.b=M7X1jtWc; 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 99D3E68CF7A; Sun, 24 Dec 2023 03:49:59 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7E55568CF7A for ; Sun, 24 Dec 2023 03:49:52 +0200 (EET) Received: by mail.gandi.net (Postfix) with ESMTPSA id AE92120002 for ; Sun, 24 Dec 2023 01:49:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1703382591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:in-reply-to:in-reply-to:references:references; bh=lw5MLFp0lG5EvzsstKZqByFrMPKoZsJe2B9/IonTSlw=; b=M7X1jtWcIKR91s3aS6wh2s+1l8uOf6AyM/mQFpfhCohqJvaMMJaMSksHgOJmfACVDoYzaq KLCEjQlM4bQ3yFhLIaE/o5urXJcfT8gYttueUkzeB8v+XvJve2WnRe4U/z3q7kfqCu6Rdz telSFZdnQQH9MARrUab8i+622MtwhBS6TVqixo4hH4hUJbnAoxjggfK3TvFRyFC3Tjr/am u4uJEoa9YUYMwtbbqtc7OyxijR30ThMOTeYjJWNBiFUPJAyDg1G89J6QDKhlI9tRkiLqy6 QWrPjd5EnfI9JjqkL3T+xK0fdWgK+e0rXCyBWTuDRYgIM/2/Qmb2QGvblpBSrw== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Sun, 24 Dec 2023 02:49:49 +0100 Message-Id: <20231224014949.18449-2-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231224014949.18449-1-michael@niedermayer.cc> References: <20231224014949.18449-1-michael@niedermayer.cc> X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 2/2] avfilter/f_reverse: Apply PTS compensation only when pts is available 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: b5kAaoDNHSZ4 Fixes: out of array access Fixes: tickets/10753/poc16ffmpeg Regression since: 45dc668aea0edac34969b5a1ff76cf9ad3a09be1 Found-by: Zeng Yunxiang Signed-off-by: Michael Niedermayer --- libavfilter/f_reverse.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/f_reverse.c b/libavfilter/f_reverse.c index 086819a207e..744f4a3cc83 100644 --- a/libavfilter/f_reverse.c +++ b/libavfilter/f_reverse.c @@ -266,7 +266,8 @@ static int areverse_request_frame(AVFilterLink *outlink) AVFrame *out = s->frames[s->nb_frames - 1]; out->duration = s->duration[s->flush_idx]; out->pts = s->pts[s->flush_idx++] - s->nb_samples; - s->nb_samples += s->pts[s->flush_idx] - s->pts[s->flush_idx - 1] - out->nb_samples; + if (s->nb_frames > 1) + s->nb_samples += s->pts[s->flush_idx] - s->pts[s->flush_idx - 1] - out->nb_samples; if (av_sample_fmt_is_planar(out->format)) reverse_samples_planar(out);