From patchwork Thu Oct 3 17:54:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 52006 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:b18c:0:b0:48e:c0f8:d0de with SMTP id q12csp533723vqn; Thu, 3 Oct 2024 10:55:00 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVE4VtEJg22H6YQpngFlYyhWLmhrqUn2kmnjFOtrlhWRXNa7S3xmKn3TfGHW/cVe82/1dPhdCiB3TbWk04OF0/Q@gmail.com X-Google-Smtp-Source: AGHT+IGKuA6MKnkVl115f7DqlOQCkEuKwApbUHOVdE6N8Dwp2NV+PKQfuncVmKNQyFTmOhrM0JVv X-Received: by 2002:a05:6402:3884:b0:5bf:50:266b with SMTP id 4fb4d7f45d1cf-5c8d2e637e7mr13894a12.19.1727978100485; Thu, 03 Oct 2024 10:55:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1727978100; cv=none; d=google.com; s=arc-20240605; b=ChmF4jTwu5d83ia/RnjaCHZPkXwyiUbvk8cYKr6QLbeEbY6nm59dfG3+SBd9eac2XB Jsrf4qnO/LjWqyj6qmVhbbI+W0p5b9KxD7/hQwN5BiDpOFvW0X5xYiRRnBnKpK/EfwcA FGJSA8lvu33ZrK/bxXaEv4LTAPywZTVUM923HRU5M+jpmpO70gFln7NzsmUYliW+1TKg nCDXn6YQ3vLVGlkM+PpXHSjL1WpDxFPbkouAXpQ/fWVilgGrXFqPVk9MGq9TztX7QNHs OPqlzbHO0j7HFcb8G66rsGHFQ32PvgXY12p8888eywmxwpJtKAsb0qXikhyykoiDs1Zs x9JQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=K6pVLgqLUowvNQ63ICd2O1OcMIlotcnGptzVZL7TdoQ=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=Fn4KV834pAD+WISDVDaGw7YGPNSJ/5F18oV7iCmWJQK2GkO/kdmDEK6uoMo31n+0y1 Xehqxuyhglkx21zm+E5hqh/PmsA3b6fNf0dUCmXQOkIDnr5NB5n8BG7xjEjV43R0wwVl sAyMyZkALNwmTDwxPfjJmn2P+7jthHzujAP/r8LKFusqZNuN/klDDfE4GSqzaKyYqj3O PvbKMxYLjql5w2tQszGfMg4NecP6OlynKJyBVsYyJIlVsjBU2fuUeTxgtabOKQyMDl1i opVX3z5CAjMY/pfXdlo8BRcvfgy+kJkMPDPPdEeB0WtifQxi8FpH/3Q1E60ODEjMXuvd 3fQw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=jRnAR14l; 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=QUARANTINE dis=NONE) header.from=gmail.com; dara=fail header.i=@gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-5c8ca3c0d97si1130162a12.104.2024.10.03.10.54.58; Thu, 03 Oct 2024 10:55:00 -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=@gmail.com header.s=20230601 header.b=jRnAR14l; 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=QUARANTINE dis=NONE) header.from=gmail.com; dara=fail header.i=@gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2586F68DA5D; Thu, 3 Oct 2024 20:54:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D4FDB68D657 for ; Thu, 3 Oct 2024 20:54:48 +0300 (EEST) Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-20b90ab6c19so14201535ad.0 for ; Thu, 03 Oct 2024 10:54:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727978086; x=1728582886; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=0rYZjQ2tPlVW1nvMYshz2Dx3B77/etRkoKUfjQk22vs=; b=jRnAR14lYHKh/9LizaaEmNIF8MWM3/G1Um2RgxPVhtB29dLMGTYOceGtzjfx4iz9oD tFOusCEsFoWK/9xSAYz2wT/us6leM9nf4Q8V+HX77u20LUUwkdvXN59l5KLy+FsUtbBH 9mtx8vTgZQe+kMw8Mf/NDfNxxPixAFNHtLTjZTaz7yvEWEOYkEt94RhaDnLBpskktqCV mX5RVWrbYuQ4kylzXLTnGNJ8a41TYdp7BR+WOR2MRpil2bxVru9KzqihTfCg+UiQ1fnP SnkAefBm9pRKdlbXuVlPwrahRSmmS+XtDotDHhd+2br3Lz1A4Akmq+EnEtKlnCIsTXAq nQgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727978086; x=1728582886; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=0rYZjQ2tPlVW1nvMYshz2Dx3B77/etRkoKUfjQk22vs=; b=mHKQvEe0GAiQxVtcS0qBzHnM0bWdEyfO2YN6L4ry+cM11enz/YqF2vS1vtePI8cCHL xNv2HU7q7cVTziu8DAywEOdWyVtkOdeKf6e+i9sNiz25iy3dr7KVKWolgyDEfvjFP9gF Av1n8OJyP52ZJ95c87gwLyIbZh5DDzc+R26ZvhOj4UBefPb2PffmlN1ENpYgh5EH0huM eshwthEETg9i/5SzOELhbbrLb89AmLwsoGRQsA8IBtsgxZSiHxaXdlyUQVvtpKDERhNd cRg0XQ6awAAjNf92vS3D701UmOo1SgbGwPISYPkJZhZmVBhTtNuxhF3hMAa3tvZVTlwj I8DA== X-Gm-Message-State: AOJu0Yxn8o8b4PI8HmQJPTyzMmLupDwxS9gOjFHm1yQ6WCOxpDNIHxuC HmUPBUqcZ6cOXDhxn6YK2MlcN/PAJ/xAiJ+I1fvN4lUQ6V9l8t1MI03CEQ== X-Received: by 2002:a17:902:d2d1:b0:20b:6457:31e3 with SMTP id d9443c01a7336-20bfde65b7bmr443585ad.3.1727978086365; Thu, 03 Oct 2024 10:54:46 -0700 (PDT) Received: from localhost.localdomain ([181.92.233.116]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20beef8ded5sm11600595ad.174.2024.10.03.10.54.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Oct 2024 10:54:45 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 3 Oct 2024 14:54:27 -0300 Message-ID: <20241003175428.1300-1-jamrial@gmail.com> X-Mailer: git-send-email 2.46.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/hevc/ps: print the correct unsupported scalability value found 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 0mmFd040VRn0 With multilayer001.heic, which signals Spatial scalability: Before: [hevc @ ...] Scalability type 1 not supported [hevc @ ...] Ignoring unsupported VPS extension After: [hevc @ ...] Scalability type 2 not supported [hevc @ ...] Ignoring unsupported VPS extension Signed-off-by: James Almer --- libavcodec/hevc/ps.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavcodec/hevc/ps.c b/libavcodec/hevc/ps.c index f18b88489b..3fc14c1e72 100644 --- a/libavcodec/hevc/ps.c +++ b/libavcodec/hevc/ps.c @@ -470,7 +470,7 @@ static int decode_vps_ext(GetBitContext *gb, AVCodecContext *avctx, HEVCVPS *vps PTL ptl_dummy; uint8_t max_sub_layers[HEVC_MAX_LAYERS]; - int splitting_flag, dimension_id_len, view_id_len, num_add_olss, + int splitting_flag, dimension_id_len, view_id_len, num_add_olss, num_scalability_types, default_output_layer_idc, direct_dep_type_len, direct_dep_type, sub_layers_max_present, sub_layer_flag_info_present_flag, nb_ptl; unsigned non_vui_extension_length; @@ -532,13 +532,17 @@ static int decode_vps_ext(GetBitContext *gb, AVCodecContext *avctx, HEVCVPS *vps return AVERROR_INVALIDDATA; splitting_flag = get_bits1(gb); + num_scalability_types = 0; for (int i = 0; i <= HEVC_SCALABILITY_MASK_MAX; i++) { int scalability_mask_flag = get_bits1(gb); - if (scalability_mask_flag != (i == HEVC_SCALABILITY_MULTIVIEW)) { + if (scalability_mask_flag && (i != HEVC_SCALABILITY_MULTIVIEW)) { av_log(avctx, AV_LOG_ERROR, "Scalability type %d not supported\n", i); return AVERROR_PATCHWELCOME; } + num_scalability_types += scalability_mask_flag; } + if (num_scalability_types != 1) + return AVERROR_INVALIDDATA; if (!splitting_flag) dimension_id_len = get_bits(gb, 3) + 1;