From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 1DD9A40952 for ; Fri, 24 Dec 2021 09:58:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0A21368B2CB; Fri, 24 Dec 2021 11:58:39 +0200 (EET) Received: from out203-205-221-209.mail.qq.com (out203-205-221-209.mail.qq.com [203.205.221.209]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7FEE568B15F for ; Fri, 24 Dec 2021 11:58:31 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1640339908; bh=dpNBRa0OnDQOyTBwZE7e7bOpcw+6MIn98KAymo3ddwc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=nXNFYARa12dO+8iQ5mJIuR1BahRMhgyVFViWd51FCsGGQBNv6RjGYbyWrtlYLvN4t qO/2lvESEp3HL63bGNrEpdeuR3UU0dc2BHQDIdVFJT2O/OWGtJqdeQPzM9KfwkxXeF NIWuI1pO6YfxILu7QU0UFis0/Flz/LbkdrB60TeE= Received: from ZHILIZHAO-MB2.tencent.com ([113.108.77.59]) by newxmesmtplogicsvrszc7.qq.com (NewEsmtp) with SMTP id E99B5057; Fri, 24 Dec 2021 17:58:25 +0800 X-QQ-mid: xmsmtpt1640339907tu9jnf2ga Message-ID: X-QQ-XMAILINFO: M5aCtjAndv5O5pSk+YyKvki7h+YelDQ+QSPIZRKT40yMLFNDhDxrKxsTGnaW33 T77x8+ScXKi30BYUSAxk61NlnkXvTmbsFdvy/F4cAKnM6kGIpuiXjVxFg8a7vtxJYx9nT2fIC6Xr MsTBwg8IQh82QsjVW0e/Iq6gm3sXs7aEnk4QKaTRy58E7YIBhrxsWoJthBBVxhN/YbvXVi+sUM1j 0uOVhTzc3Ncmo3gKOzIMlm2RulceU3MOcEd7QKIFvCLd5sLnfkYROHiOxCWXfO8MCwqjm9BuZwKw 8lEHjOv30ewXmEthY38IrAEbT3Q4mUT8Ph8o7DJee0xuXzpztjjupaC4hDhdjMiF3lO5owJ1QiQk Nqh4fY0ZbOEM2JCXYZ4A7YJ8ixsoqh7NM4hqi/4MpXvVZfiXX4kJTvTDJQxfxgAkufGEwkSoCcIf cQjverHlGcYwM25dyRy7TGK/B/KeWXTLqXc9C4KKLwKqv6ql4UAW+BMfccwsawBBZ99V9+UfD/Rq K6jDNoYCAIYbiAllCijrF78vxqWednhmfMwfjZ3xUkU/7HTVoanGQgsLP6qhTNK/U8FF1DzUOFl1 oGlVI2CXHSjOPNk5KO2g5uyyvyZaJOEBgvmByz9dWtrUg+rN6JzNxuWCgGMq1//K0lbYnTM1fG3M qEKxl/fwyaferBf5GNAs9pxEPtKVqtjCCw5JXuErjS/yH8dUYrG9gj83UVkVa3+/I1mSgUobqg7a I25ebVtInuotW7V8XeMU7wpltvCK0wCbOrBmn+7bcw+dH0QYq0mNPu9R2CF0EZf1esVt7wmWbeNV o93fWB0uagDtFeCywyl9NGCdVLzzzTAgepN2U/TdmdYvkSqxHD7IJEYWGJynKk2Js1ewMucpN6KQ == From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Dec 2021 17:58:22 +0800 X-OQ-MSGID: <20211224095823.58415-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211224095823.58415-1-quinkblack@foxmail.com> References: <20211224095823.58415-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] avformat/mov: skip hoov box if strict >= normal 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 Cc: Zhao Zhili Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: The samples I have got have hoov and moov both. Unknown boxes should be skipped according to the spec. So don't treat hoov as moov in normal mode. For backward compatible, a log message has been added to notice the user to relax the striction if moov doesn't exist. Fix #8883. --- libavformat/mov.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index ea2f010aa0..63483740a0 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -7324,10 +7324,11 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) if (atom.size >= 8) { a.size = avio_rb32(pb); a.type = avio_rl32(pb); - if (((a.type == MKTAG('f','r','e','e') && c->moov_retry) || - a.type == MKTAG('h','o','o','v')) && - a.size >= 8 && - c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) { + if (((a.type == MKTAG('f','r','e','e') && c->moov_retry && + c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) || + (a.type == MKTAG('h','o','o','v') && + c->fc->strict_std_compliance < FF_COMPLIANCE_NORMAL)) && + a.size >= 8) { uint32_t type; avio_skip(pb, 4); type = avio_rl32(pb); @@ -7340,6 +7341,10 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) a.type = MKTAG('m','o','o','v'); } } + if (a.type == MKTAG('h','o','o','v') && + c->fc->strict_std_compliance >= FF_COMPLIANCE_NORMAL) + av_log(c->fc, AV_LOG_INFO, + "Skip hoov atom, try decrease -strict if moov doesn't exist.\n"); if (atom.type != MKTAG('r','o','o','t') && atom.type != MKTAG('m','o','o','v')) { if (a.type == MKTAG('t','r','a','k') || -- 2.31.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".