From patchwork Sun Mar 31 11:40:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 47686 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp199010pzb; Sun, 31 Mar 2024 04:40:31 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVGwmyl3xT+SFt1ZM1MsgQ3/a/hlzAblUfuuS1uigBvLg5GjCVtiehJktIaYhZYXajZLSKHBNGRDn8KNQshYTWVBkl0Ptlz5Yga2w== X-Google-Smtp-Source: AGHT+IH56XcdmEvvHT9CmrCtABy1dBJZEpQsmpznJ3sEZgNRKhhotsek+6aInvUcqQ1pK0dnSstf X-Received: by 2002:a17:906:f581:b0:a4e:5474:2f63 with SMTP id cm1-20020a170906f58100b00a4e54742f63mr2187233ejd.13.1711885231631; Sun, 31 Mar 2024 04:40:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711885231; cv=none; d=google.com; s=arc-20160816; b=t11JPYh8DP4UGD3QJoBp0ww+aS9ha7T9XXl84ZKCOqHG594H8j2ImzB4grC3wrZiwC jyT3H+Q3cPsbopzivu/411eCByQvXVWKi1P9gL9SK/uQGZdcMKjWwFpqYnj7+zghDZgN hbDwnPh4gUTQbpmT+LmHlHlBXjXxPbg3t171mFzoBc/ftv+gdfku6yme7j2C4vhmxgJ6 x8nP9/kOzzba2Hew4WA9+o1CrSoAFeYWtkUkL4WCQtIGja0ZtYX7Rf4MZdDlHQDCXUgY /84UfO8oyLfZ61jEssnuYN/kFWASIJ3uOIkp+xgQ06cjoOT/51qJs0CzD8HQO6j2p9ZO kldw== 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:message-id:date:to:from:dkim-signature :delivered-to; bh=ywUIzMhAIA4Ayi6DbJeZ5BAVgDxE5pnax81dq9ePEWM=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=ZwByZ8oMtJYtbagT/ew1GjWigd7Kgmw3FfoCfCWFvubuLKv+F31qD3UtnqTenoasdZ t0YoQRin9P3xVdZ5wcmaX/uMLvCFHz+siIZjo7J1bqGpK74hi4RVY2kp5qCQHoXHEWuD Q/X25BKmKryiBGL0p46AKny1hHOXprpD0xhzLSTNpUqCzJ0MMwbrwi3/YKaWOK6/C1U2 J98QQWBS9p1OSu6bI5DqYNJF8AT3tB/oj/CmmbepLQM0o1lohHBLrO45lfEMXFGgdUht lJVWltm5f2V+8ffR58GYocCk9os4VpK5ePdSxYUCtqXf2Mw3RVN1qWN13duTqwSdGj/F 4aDQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b=gTb1Z3EU; 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 t18-20020a170906065200b00a462a5a4948si3565842ejb.276.2024.03.31.04.40.31; Sun, 31 Mar 2024 04:40:31 -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=@niedermayer.cc header.s=gm1 header.b=gTb1Z3EU; 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 3DFD968CB6E; Sun, 31 Mar 2024 14:40:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C17C768CABD for ; Sun, 31 Mar 2024 14:40:20 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 223E060002 for ; Sun, 31 Mar 2024 11:40:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1711885220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=QRlYiNvP4HnzfhGSYH5N8ts0VX++uKPCfudkQ4f8waE=; b=gTb1Z3EUHZSWykRgVxr+dBC+nydNCoGQK4iUDwzqSd/1XGIy49Xn8T/7xtPXlrrQE79kFf hx1lsiBJ0iVicaohiJOnY5/GrbHeuhkdyhORMuNemVBS4en/Fp43u8OPVd2DhFxLWP1gqt K695TB+uX7xW+CjYV3oh1HYfX3+0zSwXpIBqdUUAjMTCqW3dXPJ9ZbUWipyXKhwD/nwSfP ygI/k1Wozc7ngS8o4vz/v2Ij5ybLorbvNfBtCRTOsH/YhgOMwd2/oc1m1UbrdLmsxWoFIi 1W7mlmLdUvrqlxnNhO9lU2SXx67qhymuMHKzLyC7xjBh4D+c4E6LJE4Ak434ig== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Sun, 31 Mar 2024 13:40:19 +0200 Message-Id: <20240331114019.3801-1-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH] avformat/movenc: Check that cts fits in 32bit 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: 7/O/ZxJRlHv6 Fixes: Assertion av_rescale_rnd(start_dts, mov->movie_timescale, track->timescale, AV_ROUND_DOWN) <= 0 failed at libavformat/movenc.c:3694 Fixes: poc2 Found-by: Wang Dawei and Zhou Geng, from Zhongguancun Laboratory Signed-off-by: Michael Niedermayer --- libavformat/movenc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index ae94d8d5959..5617a2620c5 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -6194,6 +6194,12 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt) if (ret < 0) return ret; + if (pkt->pts != AV_NOPTS_VALUE && + (uint64_t)pkt->dts - pkt->pts != (int32_t)((uint64_t)pkt->dts - pkt->pts)) { + av_log(s, AV_LOG_WARNING, "pts/dts pair unsupported\n"); + return AVERROR_PATCHWELCOME; + } + if (mov->flags & FF_MOV_FLAG_FRAGMENT || mov->mode == MODE_AVIF) { int ret; if (mov->moov_written || mov->flags & FF_MOV_FLAG_EMPTY_MOOV) {