From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id CFB244C8A5 for ; Tue, 28 Oct 2025 08:39:21 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'H/6x6yAV1adIG3jR1sgCBYFj8y13fNghyMArpdwvvTc=', expected b'/fAB9jD4DsdU6qw05ilA39K/Wy15xTsEBL7ipxHwkF4=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1761640749; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=H/6x6yAV1adIG3jR1sgCBYFj8y13fNghyMArpdwvvTc=; b=iIkM/rWZj9WIbSLXhuxI7v24L11u57s4CMI/zKfq/jk2migqMtmyBGNBJ9SFiQpeh8FlN ZdnLTcHKz8SOtFZFs4m/OOc2L8lScrSI/K8dGiOeBbqy9DiwoEaO94L4lPhOrK5BkBfDbMx 2SKkH3cxb2HuRADaeHUiiOz+FwVvpVofRp7tF8kwyg4UQLMz+L9gacie09lCxj2qoi5Ifge jTptxhu7FVm0Gk2XSK960BbSgYR9LUEjnxN7AEiNFWhnNR9lWLoCmy/2XUlFpcBr+4ag2Vf VXEkF7QTDwy+3g9k2YGn+hGhcNKK1Ruh9g0QHHEuAl4Dzz0KbTrt+ezICOVQ== Received: from [172.19.0.2] (unknown [172.19.0.2]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 9CAB668F783; Tue, 28 Oct 2025 10:39:09 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1761640734; b=raWUUoErXxiQWGgu6JT5pzm2lTL6cRa5QNzbplBq04Yesap7ydZ1QL0+BBoHnbIaA1V7R fkE388vyAIKVunyHRUG6OC1MXCpQSyo8731aiunEJ1Hq1nrj2P5UBjki+K/G9lh7KJ769SD aOHlD8ACxJmaiL9JUYPZb5hng6lIMvkbM4QonJI02WqlPtqiAaKZrZyt4cLn7V8GlynoQ87 zvOta93dy+k1IutDJqKn4oFl9YIV+Rvb8A/W4P7Ur3odDNWnuDMEkQHqMXDKeXmbeualWt2 uMu6d+f5cn+F6fWfJPZEWByeEQyhP0Es5liBnPaUXJn0d/lzJG9ibWaPexsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1761640734; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=S7nsnrMkUly3SPOeWecbIbSr/BLTW4i1YzigQKwtoxs=; b=gjvUOI8hlVxIKTjflczycbQFlE1aNxLuYAGxhaxWNxbFR6NwvF4SDGT2iqyd8b5MUEO02 PEKDvYA8Zv1NM1FKHMa/Q/+XL6W7zx+XD6FG7SyPKeW0ISsn4SuiJ2pUwJUCb+M1O4NeXXf D8q/QNHBsqfMNE+mGVNnly4hSRHEKWV9mA2duExIfqavVE9jZ9bjeLGWUCjUhWaug9gAGXU XdJ7+bQYyxYh59jQSTsNWttBPssHtbiYbIMJUIl5kWDkdM66kNdMaSvL85Qhwg0u8Eo3M7o Rv4rBh0+Be/nb7HL7MspaWOAkjx++QVnTnAXo0S94k9zUI/VJBfyPR9350Gw== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1761640727; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=/fAB9jD4DsdU6qw05ilA39K/Wy15xTsEBL7ipxHwkF4=; b=J/WV5Dt8SCHNZyslCclbTbbPKHWZ/9aYXZ5HBJoS5ygKX8zuP6o4XktyoOSMSDASoHmMY hElsko0qcV31mSgDAniY3uBTf6fbeRw1qsSkTsyJJ7UnAlJl7VLyq/WLp8sVHPF/fkG5APq T5ljzZyDzzlfilLYWEXiPvbROp//3h1Ypelew56B+GPWSZ6RfmwLcrLu9rkkmknhYCJFJPK gfiO+ymPB2iKPXh8XoIKZVdqJ90DAgjU0+f6qSBs6/Pqx5WbfUqE7QmxUaVO9CbSIvrgv/Q F36YOMRiMQRrwprux2LBAsQ85SRgfpDjjKBf5UQYDlnXZOeonhvojyvbOQFw== Received: from 02c22a36bd31 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 2188B68F742 for ; Tue, 28 Oct 2025 10:38:47 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 Oct 2025 08:38:46 -0000 Message-ID: <176164072723.81.5936439666239087115@7d278768979e> Message-ID-Hash: RHY4U3CVUA7WQ4QXN25O4IOVXHGCZHOW X-Message-ID-Hash: RHY4U3CVUA7WQ4QXN25O4IOVXHGCZHOW X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avformat/mov: workaround mv-hevc sample from pico and small cleanup on mv-hevc support (PR #20773) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Zhao Zhili via ffmpeg-devel Cc: Zhao Zhili Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20773 opened by Zhao Zhili (quink) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20773 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20773.patch >>From d366a45df09d4aa81862a286919d2fec966d5e94 Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Tue, 28 Oct 2025 15:43:46 +0800 Subject: [PATCH 1/3] avformat/mov: relax check on proj box size Pico VR adds a '\0' after projection_type (a real C string than a fourcc). It's not strictly correct, but doesn't affect parsing. [prji: Projection Information Box] position = 149574743 size = 17 version = 0 flags = 0x000000 projection_type = rect Co-Authored-by: Keven Ma Signed-off-by: Zhao Zhili --- libavformat/mov.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 45c562cdc6..32c834d98d 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -6852,13 +6852,13 @@ static int mov_read_vexu_proj(MOVContext *c, AVIOContext *pb, MOVAtom atom) st = c->fc->streams[c->fc->nb_streams - 1]; sc = st->priv_data; - if (atom.size != 16) { + if (atom.size < 16) { av_log(c->fc, AV_LOG_ERROR, "Invalid size for proj box: %"PRIu64"\n", atom.size); return AVERROR_INVALIDDATA; } size = avio_rb32(pb); - if (size != 16) { + if (size < 16) { av_log(c->fc, AV_LOG_ERROR, "Invalid size for prji box: %d\n", size); return AVERROR_INVALIDDATA; } -- 2.49.1 >>From 6f23ab596bb128a8edf76b722928382ffe6b7bcc Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Tue, 28 Oct 2025 16:02:10 +0800 Subject: [PATCH 2/3] avformat/mov: check prji box version and flags Signed-off-by: Zhao Zhili --- libavformat/mov.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 32c834d98d..19f8677cab 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -6869,8 +6869,13 @@ static int mov_read_vexu_proj(MOVContext *c, AVIOContext *pb, MOVAtom atom) return AVERROR_INVALIDDATA; } - avio_skip(pb, 1); // version - avio_skip(pb, 3); // flags + // version and flags, only support (0, 0) + unsigned n = avio_rl32(pb); + if (n != 0) { + av_log(c->fc, AV_LOG_ERROR, "prji version %u, flag %u are not supported\n", + n & 0xFF, n >> 8); + return AVERROR_PATCHWELCOME; + } tag = avio_rl32(pb); switch (tag) { -- 2.49.1 >>From 0d7ce43e44f8dd7a2809eed6b73f7f5c17261042 Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Tue, 28 Oct 2025 16:10:45 +0800 Subject: [PATCH 3/3] avformat/mov: log unknown tag via av_fourcc2str Signed-off-by: Zhao Zhili --- libavformat/mov.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 19f8677cab..9452f94afc 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -6667,7 +6667,8 @@ static int mov_read_pack(MOVContext *c, AVIOContext *pb, MOVAtom atom) // This means value will be set in another layer break; default: - av_log(c->fc, AV_LOG_WARNING, "Unknown tag in pkin: 0x%08X\n", tag); + av_log(c->fc, AV_LOG_WARNING, "Unknown tag in pkin: %s\n", + av_fourcc2str(tag)); avio_skip(pb, size - 8); break; } @@ -6675,7 +6676,8 @@ static int mov_read_pack(MOVContext *c, AVIOContext *pb, MOVAtom atom) break; } default: - av_log(c->fc, AV_LOG_WARNING, "Unknown tag in pack: 0x%08X\n", tag); + av_log(c->fc, AV_LOG_WARNING, "Unknown tag in pack: %s\n", + av_fourcc2str(tag)); avio_skip(pb, size - 8); break; } @@ -7051,7 +7053,8 @@ static int mov_read_eyes(MOVContext *c, AVIOContext *pb, MOVAtom atom) break; } default: - av_log(c->fc, AV_LOG_WARNING, "Unknown tag in eyes: 0x%08X\n", tag); + av_log(c->fc, AV_LOG_WARNING, "Unknown tag in eyes: %s\n", + av_fourcc2str(tag)); avio_skip(pb, size - 8); break; } @@ -7128,7 +7131,8 @@ static int mov_read_vexu(MOVContext *c, AVIOContext *pb, MOVAtom atom) break; } default: - av_log(c->fc, AV_LOG_WARNING, "Unknown tag in vexu: 0x%08X\n", tag); + av_log(c->fc, AV_LOG_WARNING, "Unknown tag in vexu: %s\n", + av_fourcc2str(tag)); avio_skip(pb, size - 8); break; } -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org