From patchwork Mon Mar 11 18:53:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Plowman X-Patchwork-Id: 46962 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dc95:b0:1a1:738b:6bc0 with SMTP id ky21csp1410868pzb; Mon, 11 Mar 2024 11:53:49 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUercPHnYQ1pjfyrRy26YnwKxaSrSwrmnQrHJK2t3JwHM4CM0CRApM3+9FOtaWwTIY7oGQtHawu0vcsaXUDb7y7rKIfkzRuf2e1XQ== X-Google-Smtp-Source: AGHT+IFzXJ2FEiKBRTXk2qsJT9aMgtBm9JfB88J7Ta9cJjYvew1iTOc0MLkqvAmA5AGco9hDVhKb X-Received: by 2002:a17:906:d8f:b0:a45:2d35:2c22 with SMTP id m15-20020a1709060d8f00b00a452d352c22mr4637379eji.64.1710183228867; Mon, 11 Mar 2024 11:53:48 -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 k18-20020a170906129200b00a442389d4a1si2627924ejb.542.2024.03.11.11.53.48; Mon, 11 Mar 2024 11:53:48 -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=D33VS2ml; 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 A91B268D063; Mon, 11 Mar 2024 20:53:44 +0200 (EET) 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 C4C8068D063 for ; Mon, 11 Mar 2024 20:53:37 +0200 (EET) Delivered-To: post@frankplowman.com ARC-Seal: i=1; a=rsa-sha256; t=1710183215; cv=none; d=zohomail.eu; s=zohoarc; b=Ij1YNv+CrUdZFpKEVCLMEQthPVwQqZW10AF8A+6qJRuVUVUok83VhRlbhCbsvNQFW2xZXS3D9UMbIE6kXZo2LeI8jtY4D55C65YoUrq+VvvcIQjBuYwbcl/d7ObQRzMQBDs0wpqtC/xwKIOZhpPvnRYrWgAr55kkhDDor/6B56Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1710183215; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=hhJarX10iNo23XJO3xLNx4jQiQf5PXeYc7hh5Z1s2qQ=; b=hpIitbsnSJOTbNDUsit0w+JOjwmks3HpsuFun+PNoVLJiWZCRe6boogQGelwqSpEGyXkLI8F3AbO3jEmjWGI2DsdS9gMYLXjJzgFJQoqAKuSfr3IOFdMANSdPXEe/hs/FTEsG+vwxVPLNHRj8f/+V77MOIqIR3MyYJD7T4d049U= 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=1710183215; 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=hhJarX10iNo23XJO3xLNx4jQiQf5PXeYc7hh5Z1s2qQ=; b=D33VS2mlYncNSmFjJWelJZaOLvPrdBj/eFCCPgHKP3WFim/Sobzell0h6sy2eo3x LHc0u9min+dl7J58h85otrTWP2WsRdje+AdwXlquxB7tPbMf7hJEYVAyDA273b7RJt3 Q8Q1IRZNJ/Im4mVQmjLm5q6/+oUobBgSUpjC1SAQ= Received: from localhost.localdomain (frankplowman.com [51.89.148.29]) by mx.zoho.eu with SMTPS id 1710183214179400.1117456806659; Mon, 11 Mar 2024 19:53:34 +0100 (CET) From: Frank Plowman To: ffmpeg-devel@ffmpeg.org Date: Mon, 11 Mar 2024 18:53:31 +0000 Message-ID: <20240311185331.84556-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: AVERROR_PATCHWELCOME for subpictures 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: foLhCEZctzcl VVC's subpictures feature is not yet implemented in the native decoder. Throw an AVERROR_PATCHWELCOME when trying to decode a bitstream using the feature. Fixes crashes when trying to decode bitstreams which use the feature. Signed-off-by: Frank Plowman --- libavcodec/vvc/vvc_ps.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libavcodec/vvc/vvc_ps.c b/libavcodec/vvc/vvc_ps.c index e6e46d2039..62515a6343 100644 --- a/libavcodec/vvc/vvc_ps.c +++ b/libavcodec/vvc/vvc_ps.c @@ -72,6 +72,18 @@ static int sps_map_pixel_format(VVCSPS *sps, void *log_ctx) return 0; } +static int sps_subpic_info(VVCSPS *sps, void *log_ctx) +{ + const H266RawSPS *r = sps->r; + + if (r->sps_num_subpics_minus1 > 0) { + avpriv_report_missing_feature(log_ctx, "Subpictures"); + return AVERROR_PATCHWELCOME; + } + + return 0; +} + static int sps_bit_depth(VVCSPS *sps, void *log_ctx) { const H266RawSPS *r = sps->r; @@ -177,6 +189,9 @@ static int sps_derive(VVCSPS *sps, void *log_ctx) int ret; const H266RawSPS *r = sps->r; + ret = sps_subpic_info(sps, log_ctx); + if (ret < 0) + return ret; ret = sps_bit_depth(sps, log_ctx); if (ret < 0) return ret;