From patchwork Tue Jun 13 07:37:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 42059 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c526:b0:117:ac03:c9de with SMTP id gm38csp3504346pzb; Tue, 13 Jun 2023 00:38:01 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5iqyomB4ZE09rktBHkPWY80ryOs2+fyzkS7IGlmElGoH7CYcmDHOt3Th+jXQZ8qSn+IO/4 X-Received: by 2002:a05:6402:10d8:b0:514:9eda:6f1d with SMTP id p24-20020a05640210d800b005149eda6f1dmr6120745edu.20.1686641881479; Tue, 13 Jun 2023 00:38:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686641881; cv=none; d=google.com; s=arc-20160816; b=IIlBuzeh68iLD8b10cjzQv458rUS6EM8UKMKPBxH6KjQrNS/eUG9EZFPnRyFOo3BOX zWLF4DhPGLV/CN0wNpRSO6Yq/1pQ+PfVjnQwYjq+WkZgIjlwVRYF0XN9iA2wOy2mcpeU 7cesq+xlDGFTobl+pno7XItW6QwbTOMBGDwmFqINwebC+UJ3kIbXraW5cHk73FQSRQ7C u/0dtPwbCYDE9BVpfk1jUOoPKHQHVdOAN9lkUC2iYk8XcHs/tb95VlEO/HrejuXf9vi0 hoilVcdmSrb9/vm+8aAMTMmEZoJvkqVqzOlpS6WSQOA+8Hzf9qHjBGyZvNFvAs9kqFBD jM7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=etkSKrLJFun/FLM0sdZlSQA+gSHHGuDxS+EWrI6J1Qs=; b=hA8FaoUeiQEVGYXZxJffPjJKxhOwX2Q3KY4Oils5ypEDVwDRXD3EnbOwS4Av5zrQqG s1rTvXcLZ5O06aubAI/5XzZEGlBmTmgmDmuf5BWKMhfFXwOAPDYwCpJpb34q3kpDMkZL zY/3TUTKfeMyg8fRwx49eiMJ5uCHD7pyyMwZA+x0izQ71mEbuFbsFPJ1YfAJ6gjhgG3A kvGeBl8+lKj6wp1zbMJur8JEtLjyhZhm/Yf30W3KgedQOjY5CtQE0M0f3UCT+8ObI4bP AcpDmKAatu2uAcmzlp5GRGWzCjEYbGah/OkPI9zvkQsqZ7AudyIYSPz4a+uNDUvS26gr m5Qw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b="hxBTz/yD"; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z3-20020a50eb43000000b0051640238e83si3776123edp.319.2023.06.13.00.37.50; Tue, 13 Jun 2023 00:38:01 -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=@foxmail.com header.s=s201512 header.b="hxBTz/yD"; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D69F168C390; Tue, 13 Jun 2023 10:37:34 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-251-82.mail.qq.com (out203-205-251-82.mail.qq.com [203.205.251.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 21A4368C213 for ; Tue, 13 Jun 2023 10:37:25 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1686641837; bh=t8tsQau2fYSBadqk5a2cWjjKlKqlovlHpfCrvBBOeho=; h=From:To:Cc:Subject:Date; b=hxBTz/yDPysCJzhJEK9rh+br6lPiu6j6yEvuvg15mYTcN1prjITJqTls4bCfLoQiV 6pf0FTfk920wMM6KMP1T+xrCB1uQ94a3ag6TAb1FgZr3XxjuQ9e182grbaHQfC+C5v MYX3uuhmGdpqGc56maJaL9z8l3jQdqLas0oToC8c= Received: from localhost.localdomain ([113.108.77.65]) by newxmesmtplogicsvrszb1-0.qq.com (NewEsmtp) with SMTP id 9501FE5D; Tue, 13 Jun 2023 15:37:16 +0800 X-QQ-mid: xmsmtpt1686641836tj2chly8p Message-ID: X-QQ-XMAILINFO: OIRGbLfEqjt/NjS/sx3hMEx+MOW6lR84Bv4YMYQqwJsF72qtrTZwRziiPtn16q pq9gu1bHSQ1BfIki+Zs/6eMglAHuIggWnCGdQe1h5ADzSGW+CswraHN8oW0TBSxUjIhIJkqFFJrE 6aPddIyF8qXVUuFOpbSPKLRAEztGyiqSZ+tuvhxrZMfIFH9pT87MD0Ef2rGMbhwJz6MmgD4LU6tA bAdfyZ7/zdmfU6k2LteLoTlkl5ANi2ttP++xKsj1yud48GkVjtFc4A0efzXlzx0O30KGracqn69E IXHMA/viIJdZ/k/jN/dVepcvx/fLoYG9tTbOgwo566uYNElu+kQXofAFp0czT/Gvzvn/LDOG7pY2 X7l4FLyuAj8Ts8/q2WMxD16Mbjv7sV7poY8olIIx9wfy9KD9OPfsutkADFl6Q6N9zMgsWvoWojy0 aEDXyjsoRVhaqONsclpQPnLi6NcrKCWV+VRPkOpVDdisXrAmuMDBOr2Y9b4GvhiBuGStaACO/SVE k1puxvlq/JYyHzY7HbLUSkUB8n/+i9Ijy/l8PP35ylTX50WAMaItetC32HsUpHgNTXnOFcMtf/aa m0JT2isRnAL74K9dn7blU+uE+fH30Y+Ovk1gTF7YQkVMbbZAMcRZ0p0Avq6fUVbsIW7Ngp52zfzi DTPALFyExYA7zVLcJ+rf7oIHsYeKsLLPUCSJDikc+hbpIiWwtdC8+8J3XVwRtjOuAuKwqdtQSjID zk7I2J5N3dg5PkleskI7bh2knsdulNC9jBkHP1Af+SU4sfk32dkJ4smJUEgMnl9JbUksKwj+xACY Q4YdTDwhlA5k0OU6NMqwbJNRAXG7H8I6CABDj3CygOXjju1yIgrXimkW/ceQHN0cxL+MVieYAlUA 2q+zCD7UygTJbDxOlW/IiaNAUTWGYeH1yKMh4ELc69sg38xGxhdDUu4Ym0/XcgrjJxfoAOoPwGCO +lbo4kpa+GK2A81UHPEpjILkMJgThcS0E1TtxygCRtaplzR9PxfA== X-QQ-XMAILREADINFO: MVjjEi6oadBBvl7bFrKDR/I= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 13 Jun 2023 15:37:15 +0800 X-OQ-MSGID: <20230613073718.675388-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/4] avcodec/hevc_parse: restrict configurationVersion to 0 and 1 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: k6SgT2uv+WjF From: Zhao Zhili The standard only defined configurationVersion 1. configurationVersion 0 is for backward compatibility predates the standard. This patch reduces the chance that some malformated streams being detected as hvcC. Signed-off-by: Zhao Zhili --- libavcodec/hevc_parse.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/hevc_parse.c b/libavcodec/hevc_parse.c index 29dfd479f3..1f3beed183 100644 --- a/libavcodec/hevc_parse.c +++ b/libavcodec/hevc_parse.c @@ -86,11 +86,11 @@ int ff_hevc_decode_extradata(const uint8_t *data, int size, HEVCParamSets *ps, bytestream2_init(&gb, data, size); - if (size > 3 && (data[0] || data[1] || data[2] > 1)) { - /* It seems the extradata is encoded as hvcC format. - * Temporarily, we support configurationVersion==0 until 14496-15 3rd - * is finalized. When finalized, configurationVersion will be 1 and we - * can recognize hvcC by checking if avctx->extradata[0]==1 or not. */ + /* data[0] == 1 is configurationVersion from 14496-15. + * data[0] == 0 is for backward compatibility predates the standard. + */ + if (size > 3 && ((data[0] == 1) || (data[0] == 0 && (data[1] || data[2] > 1)))) { + /* It seems the extradata is encoded as hvcC format. */ int i, j, num_arrays, nal_len_size; *is_nalff = 1;