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 2C1D749149 for ; Tue, 5 Mar 2024 15:14:52 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2535968D08A; Tue, 5 Mar 2024 17:14:51 +0200 (EET) Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BEFFD68CFA5 for ; Tue, 5 Mar 2024 17:14:44 +0200 (EET) Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-6e46dcd8feaso540531b3a.2 for ; Tue, 05 Mar 2024 07:14:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709651682; x=1710256482; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=L+p5lbkaeEkijH7m3oO8KMCP3W940R3xApTHazvV9FM=; b=dXFqj99Yv/wz1XnrPEVdtFK7y2NBaGonR3GKXhOzcJGkVYGYQgnhjgM8//lbZLj1sy gL9Sj1lpHPQjfTQpm0x6i2TXMSEeUv+mXwxZ5B5zabFeYDNr+k2GJwXogkhclY4Zq46F cF3Ig8sgYJuFba6Oh2eIHpCkAZJOptBoPOBrTnKOpHpbIBrE6sUV2LLWOqrqSd049UId kQCuVqJfj5HyGREbXxP+dS6GidbwJz5WK6C0JmlzCF5evXFfXKzRgmKyN+jDaeQhFfcT LlqFE4gDdBeEdSh+D44f/t9aF83kCEN/a9heAtoyK/Si/kFY3mgOIA6kAFuJamuy+NHm WLEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709651682; x=1710256482; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=L+p5lbkaeEkijH7m3oO8KMCP3W940R3xApTHazvV9FM=; b=RxDtUaePwyNFyxSy0SMhC70bAAHA5JAF5T18XrVOU5N4z2mDnuP8XobB/LGzgg/jUA Pf9sX701p28ZMUeVqJMO+HiH4RtAlyKTKVsZNeEH8WRc4Vn++gdtRHid4IgPkV/L4tEu YkmhD4Z5a4GjgjUX+fwwhLOU5oThOfpFPeV4F1sHdukbh4kVxccY+kWOi/dThKiW4KL3 NUn32FJW+YSpcY0b4PmFnrCkumClkOzrxrXXgNaLO3MOdLnA6IVquffWR9RSVi0iIuts bapWP/k4cAP/fQ84JILyqbd5NgEjdF/Ka3oEqITmBpCaGMFzzOK0F2p9MlSl/u5rOlbx 4qxg== X-Gm-Message-State: AOJu0Yw8O+L/wqKOcG/ow7e2bDqQMb/L4lg5v+IO6PveUvnm6Sw1wKc+ TLCVxBTYSNXaxl7aF1G+Z8ChNvIypQEOjyqvOEDvrBtx+u74EZ+5JmuYdSdH X-Google-Smtp-Source: AGHT+IGTF0uh2jaxifhHFTFGXSckTfnlKT2cO8IEhsokaLlJuiqFV06iVHlGtqIgqYIWOAQ6U7drFg== X-Received: by 2002:a05:6a00:b41:b0:6e5:30b8:d46b with SMTP id p1-20020a056a000b4100b006e530b8d46bmr13834510pfo.18.1709651682126; Tue, 05 Mar 2024 07:14:42 -0800 (PST) Received: from [192.168.0.14] ([190.194.169.124]) by smtp.gmail.com with ESMTPSA id p4-20020a056a0026c400b006e5b5748905sm7530736pfw.114.2024.03.05.07.14.41 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Mar 2024 07:14:41 -0800 (PST) Message-ID: Date: Tue, 5 Mar 2024 12:14:53 -0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: James Almer To: ffmpeg-devel@ffmpeg.org References: <20240305000033.10379-1-jamrial@gmail.com> <20240305000033.10379-6-jamrial@gmail.com> In-Reply-To: <20240305000033.10379-6-jamrial@gmail.com> Subject: Re: [FFmpeg-devel] [PATCH 6/9] fftools/ffprobe: export Tile Grid Stream Group parameters 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 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 3/4/2024 9:00 PM, James Almer wrote: > Signed-off-by: James Almer > --- > fftools/ffprobe.c | 41 ++++++++++++++++++++++++++++++++++++----- > 1 file changed, 36 insertions(+), 5 deletions(-) > > diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c > index ff05c4c1db..e736023bcd 100644 > --- a/fftools/ffprobe.c > +++ b/fftools/ffprobe.c > @@ -209,6 +209,10 @@ typedef enum { > SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION, > SECTION_ID_STREAM_GROUP_STREAM_TAGS, > SECTION_ID_STREAM_GROUP, > + SECTION_ID_STREAM_GROUP_COMPONENTS, > + SECTION_ID_STREAM_GROUP_COMPONENT, > + SECTION_ID_STREAM_GROUP_PIECES, > + SECTION_ID_STREAM_GROUP_PIECE, > SECTION_ID_STREAM_GROUP_STREAMS, > SECTION_ID_STREAM_GROUP_STREAM, > SECTION_ID_STREAM_GROUP_DISPOSITION, > @@ -282,8 +286,8 @@ static struct section sections[] = { > [SECTION_ID_FRAME_SIDE_DATA_TIMECODE] = { SECTION_ID_FRAME_SIDE_DATA_TIMECODE, "timecode", 0, { -1 } }, > [SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST] = { SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, "components", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_COMPONENT, -1 }, .element_name = "component", .unique_name = "frame_side_data_components" }, > [SECTION_ID_FRAME_SIDE_DATA_COMPONENT] = { SECTION_ID_FRAME_SIDE_DATA_COMPONENT, "component", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, -1 }, .unique_name = "frame_side_data_component", .element_name = "component_entry", .get_type = get_raw_string_type }, > - [SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST] = { SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, "pieces", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_PIECE, -1 }, .element_name = "piece" }, > - [SECTION_ID_FRAME_SIDE_DATA_PIECE] = { SECTION_ID_FRAME_SIDE_DATA_PIECE, "piece", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name = "piece_entry", .get_type = get_raw_string_type }, > + [SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST] = { SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, "pieces", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_PIECE, -1 }, .element_name = "piece", .unique_name = "frame_side_data_pieces" }, > + [SECTION_ID_FRAME_SIDE_DATA_PIECE] = { SECTION_ID_FRAME_SIDE_DATA_PIECE, "piece", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name = "piece_entry", .unique_name = "frame_side_data_piece", .get_type = get_raw_string_type }, > [SECTION_ID_FRAME_LOGS] = { SECTION_ID_FRAME_LOGS, "logs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_LOG, -1 } }, > [SECTION_ID_FRAME_LOG] = { SECTION_ID_FRAME_LOG, "log", 0, { -1 }, }, > [SECTION_ID_LIBRARY_VERSIONS] = { SECTION_ID_LIBRARY_VERSIONS, "library_versions", SECTION_FLAG_IS_ARRAY, { SECTION_ID_LIBRARY_VERSION, -1 } }, > @@ -309,7 +313,11 @@ static struct section sections[] = { > [SECTION_ID_PROGRAMS] = { SECTION_ID_PROGRAMS, "programs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM, -1 } }, > [SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION] = { SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_group_stream_disposition" }, > [SECTION_ID_STREAM_GROUP_STREAM_TAGS] = { SECTION_ID_STREAM_GROUP_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "stream_group_stream_tags" }, > - [SECTION_ID_STREAM_GROUP] = { SECTION_ID_STREAM_GROUP, "stream_group", SECTION_FLAG_HAS_TYPE, { SECTION_ID_STREAM_GROUP_TAGS, SECTION_ID_STREAM_GROUP_DISPOSITION, SECTION_ID_STREAM_GROUP_STREAMS, -1 }, .get_type = get_stream_group_type }, > + [SECTION_ID_STREAM_GROUP] = { SECTION_ID_STREAM_GROUP, "stream_group", SECTION_FLAG_HAS_TYPE, { SECTION_ID_STREAM_GROUP_TAGS, SECTION_ID_STREAM_GROUP_DISPOSITION, SECTION_ID_STREAM_GROUP_COMPONENTS, SECTION_ID_STREAM_GROUP_STREAMS, -1 }, .get_type = get_stream_group_type }, > + [SECTION_ID_STREAM_GROUP_COMPONENTS] = { SECTION_ID_STREAM_GROUP_COMPONENTS, "components", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_COMPONENT, -1 }, .element_name = "component", .unique_name = "stream_group_components" }, > + [SECTION_ID_STREAM_GROUP_COMPONENT] = { SECTION_ID_STREAM_GROUP_COMPONENT, "component", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { SECTION_ID_STREAM_GROUP_PIECES, -1 }, .unique_name = "stream_group_component", .element_name = "component_entry", .get_type = get_raw_string_type }, > + [SECTION_ID_STREAM_GROUP_PIECES] = { SECTION_ID_STREAM_GROUP_PIECES, "pieces", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_PIECE, -1 }, .element_name = "piece", .unique_name = "stream_group_pieces" }, > + [SECTION_ID_STREAM_GROUP_PIECE] = { SECTION_ID_STREAM_GROUP_PIECE, "piece", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name = "piece_entry", .unique_name = "stream_group_piece", .get_type = get_raw_string_type }, I think I'll withdraw this patch for now. Some stream group types have several layers of data, so components and pieces would not be enough. This is the case for IAMF Audio Elements and Mix Presentation, for example. A generic way to add N amount of layers would be needed. _______________________________________________ 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".