Message ID | 20220131054118.63645-1-ffmpeg@gyani.pro |
---|---|
State | Accepted |
Commit | e1a14479a81f5366b95df543992a7fe637cf2dde |
Headers | show |
Series | [FFmpeg-devel] ffprobe: allow side-data selection by element | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
andriy/make_ppc | success | Make finished |
andriy/make_fate_ppc | success | Make fate finished |
andriy/make_aarch64_jetson | success | Make finished |
andriy/make_fate_aarch64_jetson | success | Make fate finished |
Plan to push tomorrow. On 2022-01-31 11:11 am, Gyan Doshi wrote: > At present, side data printing forces display for all levels i.e. > stream, packets and frames. This can bloat output and also force > decode of all frames in selected streams. > > Now, stream_side_data[=type], packet_side_data[=type] & > frame_side_data[=type] can be used with -show_entries to specify carrier > element. > --- > fftools/ffprobe.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c > index 20582ca7ac..8a8e3de540 100644 > --- a/fftools/ffprobe.c > +++ b/fftools/ffprobe.c > @@ -223,7 +223,7 @@ static struct section sections[] = { > [SECTION_ID_FRAME] = { SECTION_ID_FRAME, "frame", 0, { SECTION_ID_FRAME_TAGS, SECTION_ID_FRAME_SIDE_DATA_LIST, SECTION_ID_FRAME_LOGS, -1 } }, > [SECTION_ID_FRAME_TAGS] = { SECTION_ID_FRAME_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "frame_tags" }, > [SECTION_ID_FRAME_SIDE_DATA_LIST] ={ SECTION_ID_FRAME_SIDE_DATA_LIST, "side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA, -1 }, .element_name = "side_data", .unique_name = "frame_side_data_list" }, > - [SECTION_ID_FRAME_SIDE_DATA] = { SECTION_ID_FRAME_SIDE_DATA, "side_data", 0, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, -1 } }, > + [SECTION_ID_FRAME_SIDE_DATA] = { SECTION_ID_FRAME_SIDE_DATA, "side_data", 0, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, -1 }, .unique_name = "frame_side_data" }, > [SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST] = { SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, "timecodes", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE, -1 } }, > [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 } }, > @@ -239,7 +239,7 @@ static struct section sections[] = { > [SECTION_ID_PACKET] = { SECTION_ID_PACKET, "packet", 0, { SECTION_ID_PACKET_TAGS, SECTION_ID_PACKET_SIDE_DATA_LIST, -1 } }, > [SECTION_ID_PACKET_TAGS] = { SECTION_ID_PACKET_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "packet_tags" }, > [SECTION_ID_PACKET_SIDE_DATA_LIST] ={ SECTION_ID_PACKET_SIDE_DATA_LIST, "side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET_SIDE_DATA, -1 }, .element_name = "side_data", .unique_name = "packet_side_data_list" }, > - [SECTION_ID_PACKET_SIDE_DATA] = { SECTION_ID_PACKET_SIDE_DATA, "side_data", 0, { -1 } }, > + [SECTION_ID_PACKET_SIDE_DATA] = { SECTION_ID_PACKET_SIDE_DATA, "side_data", 0, { -1 }, .unique_name = "packet_side_data" }, > [SECTION_ID_PIXEL_FORMATS] = { SECTION_ID_PIXEL_FORMATS, "pixel_formats", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PIXEL_FORMAT, -1 } }, > [SECTION_ID_PIXEL_FORMAT] = { SECTION_ID_PIXEL_FORMAT, "pixel_format", 0, { SECTION_ID_PIXEL_FORMAT_FLAGS, SECTION_ID_PIXEL_FORMAT_COMPONENTS, -1 } }, > [SECTION_ID_PIXEL_FORMAT_FLAGS] = { SECTION_ID_PIXEL_FORMAT_FLAGS, "flags", 0, { -1 }, .unique_name = "pixel_format_flags" }, > @@ -262,7 +262,7 @@ static struct section sections[] = { > [SECTION_ID_STREAM_DISPOSITION] = { SECTION_ID_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_disposition" }, > [SECTION_ID_STREAM_TAGS] = { SECTION_ID_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "stream_tags" }, > [SECTION_ID_STREAM_SIDE_DATA_LIST] ={ SECTION_ID_STREAM_SIDE_DATA_LIST, "side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_SIDE_DATA, -1 }, .element_name = "side_data", .unique_name = "stream_side_data_list" }, > - [SECTION_ID_STREAM_SIDE_DATA] = { SECTION_ID_STREAM_SIDE_DATA, "side_data", 0, { -1 } }, > + [SECTION_ID_STREAM_SIDE_DATA] = { SECTION_ID_STREAM_SIDE_DATA, "side_data", 0, { -1 }, .unique_name = "stream_side_data" }, > [SECTION_ID_SUBTITLE] = { SECTION_ID_SUBTITLE, "subtitle", 0, { -1 } }, > }; >
On 2022-02-02 10:55 am, Gyan Doshi wrote: > Plan to push tomorrow. Pushed as e1a14479a81f5366b95df543992a7fe637cf2dde Gyan > > On 2022-01-31 11:11 am, Gyan Doshi wrote: >> At present, side data printing forces display for all levels i.e. >> stream, packets and frames. This can bloat output and also force >> decode of all frames in selected streams. >> >> Now, stream_side_data[=type], packet_side_data[=type] & >> frame_side_data[=type] can be used with -show_entries to specify carrier >> element. >> --- >> fftools/ffprobe.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c >> index 20582ca7ac..8a8e3de540 100644 >> --- a/fftools/ffprobe.c >> +++ b/fftools/ffprobe.c >> @@ -223,7 +223,7 @@ static struct section sections[] = { >> [SECTION_ID_FRAME] = { SECTION_ID_FRAME, "frame", >> 0, { SECTION_ID_FRAME_TAGS, SECTION_ID_FRAME_SIDE_DATA_LIST, >> SECTION_ID_FRAME_LOGS, -1 } }, >> [SECTION_ID_FRAME_TAGS] = { SECTION_ID_FRAME_TAGS, >> "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = >> "tag", .unique_name = "frame_tags" }, >> [SECTION_ID_FRAME_SIDE_DATA_LIST] ={ >> SECTION_ID_FRAME_SIDE_DATA_LIST, "side_data_list", >> SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA, -1 }, >> .element_name = "side_data", .unique_name = "frame_side_data_list" }, >> - [SECTION_ID_FRAME_SIDE_DATA] = { SECTION_ID_FRAME_SIDE_DATA, >> "side_data", 0, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, >> SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, -1 } }, >> + [SECTION_ID_FRAME_SIDE_DATA] = { SECTION_ID_FRAME_SIDE_DATA, >> "side_data", 0, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, >> SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, -1 }, .unique_name = >> "frame_side_data" }, >> [SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST] = { >> SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, "timecodes", >> SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE, -1 } }, >> [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 } }, >> @@ -239,7 +239,7 @@ static struct section sections[] = { >> [SECTION_ID_PACKET] = { SECTION_ID_PACKET, >> "packet", 0, { SECTION_ID_PACKET_TAGS, >> SECTION_ID_PACKET_SIDE_DATA_LIST, -1 } }, >> [SECTION_ID_PACKET_TAGS] = { SECTION_ID_PACKET_TAGS, >> "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = >> "tag", .unique_name = "packet_tags" }, >> [SECTION_ID_PACKET_SIDE_DATA_LIST] ={ >> SECTION_ID_PACKET_SIDE_DATA_LIST, "side_data_list", >> SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET_SIDE_DATA, -1 }, >> .element_name = "side_data", .unique_name = "packet_side_data_list" }, >> - [SECTION_ID_PACKET_SIDE_DATA] = { >> SECTION_ID_PACKET_SIDE_DATA, "side_data", 0, { -1 } }, >> + [SECTION_ID_PACKET_SIDE_DATA] = { >> SECTION_ID_PACKET_SIDE_DATA, "side_data", 0, { -1 }, .unique_name = >> "packet_side_data" }, >> [SECTION_ID_PIXEL_FORMATS] = { SECTION_ID_PIXEL_FORMATS, >> "pixel_formats", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PIXEL_FORMAT, -1 >> } }, >> [SECTION_ID_PIXEL_FORMAT] = { SECTION_ID_PIXEL_FORMAT, >> "pixel_format", 0, { SECTION_ID_PIXEL_FORMAT_FLAGS, >> SECTION_ID_PIXEL_FORMAT_COMPONENTS, -1 } }, >> [SECTION_ID_PIXEL_FORMAT_FLAGS] = { >> SECTION_ID_PIXEL_FORMAT_FLAGS, "flags", 0, { -1 }, .unique_name = >> "pixel_format_flags" }, >> @@ -262,7 +262,7 @@ static struct section sections[] = { >> [SECTION_ID_STREAM_DISPOSITION] = { >> SECTION_ID_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name >> = "stream_disposition" }, >> [SECTION_ID_STREAM_TAGS] = { SECTION_ID_STREAM_TAGS, >> "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = >> "tag", .unique_name = "stream_tags" }, >> [SECTION_ID_STREAM_SIDE_DATA_LIST] ={ >> SECTION_ID_STREAM_SIDE_DATA_LIST, "side_data_list", >> SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_SIDE_DATA, -1 }, >> .element_name = "side_data", .unique_name = "stream_side_data_list" }, >> - [SECTION_ID_STREAM_SIDE_DATA] = { >> SECTION_ID_STREAM_SIDE_DATA, "side_data", 0, { -1 } }, >> + [SECTION_ID_STREAM_SIDE_DATA] = { >> SECTION_ID_STREAM_SIDE_DATA, "side_data", 0, { -1 }, .unique_name = >> "stream_side_data" }, >> [SECTION_ID_SUBTITLE] = { SECTION_ID_SUBTITLE, >> "subtitle", 0, { -1 } }, >> }; > > _______________________________________________ > 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".
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 20582ca7ac..8a8e3de540 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -223,7 +223,7 @@ static struct section sections[] = { [SECTION_ID_FRAME] = { SECTION_ID_FRAME, "frame", 0, { SECTION_ID_FRAME_TAGS, SECTION_ID_FRAME_SIDE_DATA_LIST, SECTION_ID_FRAME_LOGS, -1 } }, [SECTION_ID_FRAME_TAGS] = { SECTION_ID_FRAME_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "frame_tags" }, [SECTION_ID_FRAME_SIDE_DATA_LIST] ={ SECTION_ID_FRAME_SIDE_DATA_LIST, "side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA, -1 }, .element_name = "side_data", .unique_name = "frame_side_data_list" }, - [SECTION_ID_FRAME_SIDE_DATA] = { SECTION_ID_FRAME_SIDE_DATA, "side_data", 0, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, -1 } }, + [SECTION_ID_FRAME_SIDE_DATA] = { SECTION_ID_FRAME_SIDE_DATA, "side_data", 0, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, -1 }, .unique_name = "frame_side_data" }, [SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST] = { SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, "timecodes", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE, -1 } }, [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 } }, @@ -239,7 +239,7 @@ static struct section sections[] = { [SECTION_ID_PACKET] = { SECTION_ID_PACKET, "packet", 0, { SECTION_ID_PACKET_TAGS, SECTION_ID_PACKET_SIDE_DATA_LIST, -1 } }, [SECTION_ID_PACKET_TAGS] = { SECTION_ID_PACKET_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "packet_tags" }, [SECTION_ID_PACKET_SIDE_DATA_LIST] ={ SECTION_ID_PACKET_SIDE_DATA_LIST, "side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET_SIDE_DATA, -1 }, .element_name = "side_data", .unique_name = "packet_side_data_list" }, - [SECTION_ID_PACKET_SIDE_DATA] = { SECTION_ID_PACKET_SIDE_DATA, "side_data", 0, { -1 } }, + [SECTION_ID_PACKET_SIDE_DATA] = { SECTION_ID_PACKET_SIDE_DATA, "side_data", 0, { -1 }, .unique_name = "packet_side_data" }, [SECTION_ID_PIXEL_FORMATS] = { SECTION_ID_PIXEL_FORMATS, "pixel_formats", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PIXEL_FORMAT, -1 } }, [SECTION_ID_PIXEL_FORMAT] = { SECTION_ID_PIXEL_FORMAT, "pixel_format", 0, { SECTION_ID_PIXEL_FORMAT_FLAGS, SECTION_ID_PIXEL_FORMAT_COMPONENTS, -1 } }, [SECTION_ID_PIXEL_FORMAT_FLAGS] = { SECTION_ID_PIXEL_FORMAT_FLAGS, "flags", 0, { -1 }, .unique_name = "pixel_format_flags" }, @@ -262,7 +262,7 @@ static struct section sections[] = { [SECTION_ID_STREAM_DISPOSITION] = { SECTION_ID_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_disposition" }, [SECTION_ID_STREAM_TAGS] = { SECTION_ID_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "stream_tags" }, [SECTION_ID_STREAM_SIDE_DATA_LIST] ={ SECTION_ID_STREAM_SIDE_DATA_LIST, "side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_SIDE_DATA, -1 }, .element_name = "side_data", .unique_name = "stream_side_data_list" }, - [SECTION_ID_STREAM_SIDE_DATA] = { SECTION_ID_STREAM_SIDE_DATA, "side_data", 0, { -1 } }, + [SECTION_ID_STREAM_SIDE_DATA] = { SECTION_ID_STREAM_SIDE_DATA, "side_data", 0, { -1 }, .unique_name = "stream_side_data" }, [SECTION_ID_SUBTITLE] = { SECTION_ID_SUBTITLE, "subtitle", 0, { -1 } }, };