diff mbox series

[FFmpeg-devel] ffprobe: allow side-data selection by element

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

Checks

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

Commit Message

Gyan Doshi Jan. 31, 2022, 5:41 a.m. UTC
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(-)

Comments

Gyan Doshi Feb. 2, 2022, 5:25 a.m. UTC | #1
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 } },
>   };
>
Gyan Doshi Feb. 3, 2022, 10:36 a.m. UTC | #2
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 mbox series

Patch

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 } },
 };