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

Gyan Doshi ffmpeg at gyani.pro
Thu Feb 3 12:36:38 EET 2022



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 at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-devel mailing list