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 EAB1A4922A for ; Thu, 7 Mar 2024 16:46:04 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B653E68CABD; Thu, 7 Mar 2024 18:46:01 +0200 (EET) Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1362368BB00 for ; Thu, 7 Mar 2024 18:45:55 +0200 (EET) Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-a3fb8b0b7acso152231366b.2 for ; Thu, 07 Mar 2024 08:45:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709829953; x=1710434753; darn=ffmpeg.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:to:from:date:from:to:cc:subject :date:message-id:reply-to; bh=WPCEhgjuUEOGf/q2JmUEEBuScUpn6sHnM8jco3LPYgw=; b=PAUOqY/lAxN0i4TPLOqGIbhj6ZEIxoZUBOgJJ7VKHgZbmroahIc2L5KdegDpS/a+sU RcwN3YDjjxTrEUnfyAB4r7SD3TGzJKyv6EwcXFgY9FcnchPiyAfH3IR81rOomRTPup/C kT8Fy0lz2/Q6iG5Lgwxe/2i93/zrmVYDE3XN5Kl0KnJrlDnmN7f6spOYS6ApP7juMnhE tTbCaYBcTRFR23g5gW68IJJvHLPwVIjQORKbQnlol9to3LAF8Z7lIUeb7NmfoKIPn7DQ VWilfQc3t7S97ba3xWFnNJagODWuGz4osjM6a7vwp+YqF7AdA3nw0UVXIMqSfNaBVRYx iZew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709829953; x=1710434753; h=user-agent:in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:to:from:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=WPCEhgjuUEOGf/q2JmUEEBuScUpn6sHnM8jco3LPYgw=; b=ljhMYiXdoqc5y/WZCUAxzT/+xNn1nR7SKzfcRvVfeenBNbjZBdSEnJ4Zwja08F0WBs bZ9Ys8/aE+NIMw3KlTEgnfioCNQLRUWBbMz50XOYzYJsQP+BLzbztdjMuszKIKxBi1tu sPnWRFQCmMr5Mxq1ip5QVI8uVBUSn+9iPot2K/HaPGtg23EvzRrL27iKZPCHSCD3qBf2 70D5rkjgbSiehzKtOaR0reDWawFncssFOqINFMEtYSWmOFBfGWiPlvtsEW4GEMlRyoKy XDDmEi9B8NcajxLcpsOygNMzL2WWmjNrCR9SUm1Hwcr109Y0alK+Bpev+LeMTniUuFhL lZHA== X-Gm-Message-State: AOJu0Yx35itNBTnNBgg0uw8GqWGYQkXmOW2ImuaNasjpeJUvCeRwuFd/ V0DuwnKJabaVOgZqiykqfJHnIi+2hKbasqLgJO1PxudcOAE98uG/qa3TgVqc X-Google-Smtp-Source: AGHT+IFIgA3HL62dwWdvD3xVHz+1Zi39F9wg7tu7aBuPRJtkbeOqLwLheLxW7ALngn1INabj4jNQDQ== X-Received: by 2002:a17:906:e2cb:b0:a45:c1a0:5c07 with SMTP id gr11-20020a170906e2cb00b00a45c1a05c07mr3283969ejb.17.1709829953270; Thu, 07 Mar 2024 08:45:53 -0800 (PST) Received: from mariano ([188.210.239.72]) by smtp.gmail.com with ESMTPSA id w3-20020a1709064a0300b00a449ebf3d58sm7036487eju.85.2024.03.07.08.45.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Mar 2024 08:45:52 -0800 (PST) Received: by mariano (Postfix, from userid 1000) id ABF65BFCDC; Thu, 7 Mar 2024 17:45:51 +0100 (CET) Date: Thu, 7 Mar 2024 17:45:51 +0100 From: Stefano Sabatini To: FFmpeg development discussions and patches Message-ID: Mail-Followup-To: FFmpeg development discussions and patches References: <20240307004952.9417-1-jamrial@gmail.com> <20240307004952.9417-2-jamrial@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240307004952.9417-2-jamrial@gmail.com> User-Agent: Mutt/2.1.4 (2021-12-11) Subject: Re: [FFmpeg-devel] [PATCH 2/2] fftools/ffprobe: export IAMF 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On date Wednesday 2024-03-06 21:49:52 -0300, James Almer wrote: > Signed-off-by: James Almer > --- > fftools/ffprobe.c | 157 +++++++++++++++++++++++- > tests/fate/iamf.mak | 8 +- > tests/fate/mov.mak | 8 +- > tests/ref/fate/iamf-5_1_4 | 92 ++++++++++++++ > tests/ref/fate/iamf-7_1_4 | 92 ++++++++++++++ > tests/ref/fate/iamf-ambisonic_1 | 39 ++++++ > tests/ref/fate/iamf-stereo | 67 ++++++++++ > tests/ref/fate/mov-mp4-iamf-5_1_4 | 92 ++++++++++++++ > tests/ref/fate/mov-mp4-iamf-7_1_4 | 92 ++++++++++++++ > tests/ref/fate/mov-mp4-iamf-ambisonic_1 | 39 ++++++ > tests/ref/fate/mov-mp4-iamf-stereo | 67 ++++++++++ > 11 files changed, 741 insertions(+), 12 deletions(-) > > diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c > index c2ed8336f9..393f8d2a99 100644 > --- a/fftools/ffprobe.c > +++ b/fftools/ffprobe.c > @@ -41,6 +41,7 @@ > #include "libavutil/display.h" > #include "libavutil/hash.h" > #include "libavutil/hdr_dynamic_metadata.h" > +#include "libavutil/iamf.h" > #include "libavutil/mastering_display_metadata.h" > #include "libavutil/hdr_dynamic_vivid_metadata.h" > #include "libavutil/dovi_meta.h" > @@ -214,6 +215,12 @@ typedef enum { > SECTION_ID_STREAM_GROUP_COMPONENT, > SECTION_ID_STREAM_GROUP_SUB_COMPONENTS, > SECTION_ID_STREAM_GROUP_SUB_COMPONENT, > + SECTION_ID_STREAM_GROUP_PIECES, > + SECTION_ID_STREAM_GROUP_PIECE, > + SECTION_ID_STREAM_GROUP_SUB_PIECES, > + SECTION_ID_STREAM_GROUP_SUB_PIECE, > + SECTION_ID_STREAM_GROUP_BLOCKS, > + SECTION_ID_STREAM_GROUP_BLOCK, > SECTION_ID_STREAM_GROUP_STREAMS, > SECTION_ID_STREAM_GROUP_STREAM, > SECTION_ID_STREAM_GROUP_DISPOSITION, > @@ -287,8 +294,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 } }, > @@ -318,7 +325,13 @@ static struct section sections[] = { > [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_SUB_COMPONENTS, -1 }, .unique_name = "stream_group_component", .element_name = "component_entry", .get_type = get_stream_group_type }, > [SECTION_ID_STREAM_GROUP_SUB_COMPONENTS] = { SECTION_ID_STREAM_GROUP_SUB_COMPONENTS, "subcomponents", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_SUB_COMPONENT, -1 }, .element_name = "component" }, > - [SECTION_ID_STREAM_GROUP_SUB_COMPONENT] = { SECTION_ID_STREAM_GROUP_SUB_COMPONENT, "subcomponent", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name = "sub_component_entry", .get_type = get_raw_string_type }, > + [SECTION_ID_STREAM_GROUP_SUB_COMPONENT] = { SECTION_ID_STREAM_GROUP_SUB_COMPONENT, "subcomponent", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { SECTION_ID_STREAM_GROUP_PIECES, -1 }, .element_name = "subcomponent_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, { SECTION_ID_STREAM_GROUP_SUB_PIECES, -1 }, .unique_name = "stream_group_piece", .element_name = "piece_entry", .get_type = get_raw_string_type }, > + [SECTION_ID_STREAM_GROUP_SUB_PIECES] = { SECTION_ID_STREAM_GROUP_SUB_PIECES, "subpieces", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_SUB_PIECE, -1 }, .element_name = "subpiece" }, > + [SECTION_ID_STREAM_GROUP_SUB_PIECE] = { SECTION_ID_STREAM_GROUP_SUB_PIECE, "subpiece", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { SECTION_ID_STREAM_GROUP_BLOCKS, -1 }, .element_name = "subpiece_entry", .get_type = get_raw_string_type }, consistencty: I'd go with SUBPIECE/subpiece everywhere, also missing doc/ffprobe.xsd update > + [SECTION_ID_STREAM_GROUP_BLOCKS] = { SECTION_ID_STREAM_GROUP_BLOCKS, "blocks", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_BLOCK, -1 }, .element_name = "block" }, > + [SECTION_ID_STREAM_GROUP_BLOCK] = { SECTION_ID_STREAM_GROUP_BLOCK, "block", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name = "block_entry", .get_type = get_raw_string_type }, where are these used? [...] Thanks. _______________________________________________ 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".