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

Stefano Sabatini stefasab at gmail.com
Thu Mar 7 18:46:37 EET 2024


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?


More information about the ffmpeg-devel mailing list