[FFmpeg-devel] [PATCH 1/2 v2] fftools/ffprobe: export Tile Grid Stream Group parameters

James Almer jamrial at gmail.com
Thu Mar 7 19:53:14 EET 2024


On 3/7/2024 1:46 PM, Stefano Sabatini wrote:
> On date Thursday 2024-03-07 17:17:06 +0100, Stefano Sabatini wrote:
>> On date Wednesday 2024-03-06 21:49:51 -0300, James Almer wrote:
>>> Signed-off-by: James Almer <jamrial at gmail.com>
>>> ---
>>>   fftools/ffprobe.c                             | 53 ++++++++++++++++---
>>>   tests/fate/mov.mak                            |  6 +--
>>>   .../ref/fate/mov-heic-demux-still-image-grid  | 29 ++++++++++
>>>   .../ref/fate/mov-heic-demux-still-image-iovl  | 19 +++++++
>>>   .../fate/mov-heic-demux-still-image-iovl-2    | 19 +++++++
>>>   5 files changed, 115 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
>>> index 4d4a85b5b0..c2ed8336f9 100644
>>> --- a/fftools/ffprobe.c
>>> +++ b/fftools/ffprobe.c
>>> @@ -113,6 +113,7 @@ static int do_show_frames  = 0;
>>>   static int do_show_packets = 0;
>>>   static int do_show_programs = 0;
>>>   static int do_show_stream_groups = 0;
>>> +static int do_show_stream_group_components = 0;
>>>   static int do_show_streams = 0;
>>>   static int do_show_stream_disposition = 0;
>>>   static int do_show_stream_group_disposition = 0;
>>> @@ -209,6 +210,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_SUB_COMPONENTS,
>>> +    SECTION_ID_STREAM_GROUP_SUB_COMPONENT,
>>>       SECTION_ID_STREAM_GROUP_STREAMS,
>>>       SECTION_ID_STREAM_GROUP_STREAM,
>>>       SECTION_ID_STREAM_GROUP_DISPOSITION,
>>> @@ -309,7 +314,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", 0, { SECTION_ID_STREAM_GROUP_TAGS, SECTION_ID_STREAM_GROUP_DISPOSITION, SECTION_ID_STREAM_GROUP_COMPONENTS, SECTION_ID_STREAM_GROUP_STREAMS, -1 } },
>>> +    [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 },
>>
>> consistency: subcomponent or sub_component (probably I'd go with
>> SUBCOMPONENT/subcomponent everywhere).
> 
> also, missing ffprobe.xsd update?

Ok.


More information about the ffmpeg-devel mailing list