From patchwork Thu Apr 18 18:59:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Plowman X-Patchwork-Id: 48160 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c906:b0:1a9:af23:56c1 with SMTP id gx6csp183601pzb; Thu, 18 Apr 2024 12:00:15 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUNJQeTBSp/sWFJbv0yT7oEF4a3nQEn6DetSqvGJm9CT6J7/RAVsNsnwzJmxOggixWFLEorVelfq584SDUIEg1SPxVFAWvOs+Kb+Q== X-Google-Smtp-Source: AGHT+IEWhVN+hjMepdCnCDmKe8LEZ4XwFAY8H0TTxnM8qf92Y0PtQwH+5IRFswMqz9zVlWNU3Pcm X-Received: by 2002:ac2:5a1e:0:b0:518:91fd:b343 with SMTP id q30-20020ac25a1e000000b0051891fdb343mr2535359lfn.68.1713466815555; Thu, 18 Apr 2024 12:00:15 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l29-20020ac2555d000000b0051920236bdesi661870lfk.324.2024.04.18.12.00.15; Thu, 18 Apr 2024 12:00:15 -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=@frankplowman.com header.s=zmail header.b="ZEk/k86Q"; arc=fail (body hash mismatch); 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 77EA168CABE; Thu, 18 Apr 2024 22:00:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from sender-op-o11.zoho.eu (sender-op-o11.zoho.eu [136.143.169.11]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5BDCF68BCA7 for ; Thu, 18 Apr 2024 22:00:03 +0300 (EEST) Delivered-To: post@frankplowman.com ARC-Seal: i=1; a=rsa-sha256; t=1713466801; cv=none; d=zohomail.eu; s=zohoarc; b=aB6bnDEOdbS+YfyOPmzNKBUQlnUXTAEkIRFfLJy3W0bgsL6XCnOYzUaCX64YCVdQ01smLtw86D4/6ic/ANaG3jf2uNVsJ70Ex/ZWegNX3zPBgJvGMF0W+RBDD5fLD4c5DdfG7xiiy7+OnEBSA5yY3Q4LwXVWPcLGa6+r/xUEkZc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1713466801; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=9HR237MqvPUOEQw5e0XuEAMejUAwCl624oTbUEEJjgk=; b=OvQNl79jlE5xlBvArP7kjhEq+e/TSRjtPWkblvaX5TmqWQqO4uEANsaqra/RhTECGLv9sDJfNTxA3mZgFjzSZM0igvfg/1joUcKiuh4Wd7dct/kq72PDaGFFYMwa6Cn9JSNwbzHItCosS8FS5WSUZfVN05Q1uG9CSa+3pz+GVbo= ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass header.i=frankplowman.com; spf=pass smtp.mailfrom=post@frankplowman.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1713466801; s=zmail; d=frankplowman.com; i=post@frankplowman.com; h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-ID:MIME-Version:Content-Transfer-Encoding:Message-Id:Reply-To; bh=9HR237MqvPUOEQw5e0XuEAMejUAwCl624oTbUEEJjgk=; b=ZEk/k86QkMft8qJwgu43VhWXZin3+egI7ARqB4pZNZgg/AdAPjhAoPj66er0oUSm wcufonOzRQro08oUE0ge71cl86GFagHp8CAX+GVkSyNTERdT7AOWNy2PhIRHcQZQh3y 9dbhVwy9EA2yYHO716Y7FPy0wxWEXntgm0y609Ck= Received: from localhost.localdomain (frankplowman.com [51.89.148.29]) by mx.zoho.eu with SMTPS id 1713466800490574.111553411374; Thu, 18 Apr 2024 21:00:00 +0200 (CEST) From: Frank Plowman To: ffmpeg-devel@ffmpeg.org Date: Thu, 18 Apr 2024 19:59:55 +0100 Message-ID: <20240418185955.91111-1-post@frankplowman.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 X-ZohoMailClient: External Subject: [FFmpeg-devel] [PATCH] lavc/vvc: Skip enhancement layer NAL units 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: Frank Plowman Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: doF+C8R022ip The native VVC decoder does not yet support quality/spatial/multiview scalability. Bitstreams requiring this feature could cause crashes. Patch fixes this by skipping NAL units which are not in the base layer, warning the user while doing so. Signed-off-by: Frank Plowman --- libavcodec/vvc/dec.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/vvc/dec.c b/libavcodec/vvc/dec.c index a4fc40b40a..5249ddf989 100644 --- a/libavcodec/vvc/dec.c +++ b/libavcodec/vvc/dec.c @@ -785,6 +785,11 @@ static int decode_nal_unit(VVCContext *s, VVCFrameContext *fc, const H2645NAL *n s->temporal_id = nal->temporal_id; + if (nal->nuh_layer_id > 0) { + avpriv_report_missing_feature(fc->log_ctx, "Multilayer"); + return AVERROR_PATCHWELCOME; + } + switch (unit->type) { case VVC_VPS_NUT: case VVC_SPS_NUT: