[FFmpeg-devel] [PATCH 1/2 v3] fftools/ffprobe: export Tile Grid Stream Group parameters
Stefano Sabatini
stefasab at gmail.com
Sat Mar 9 12:36:06 EET 2024
On date Friday 2024-03-08 17:24:47 -0300, James Almer wrote:
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> doc/ffprobe.xsd | 50 +++++++++++++++++
> 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 +++++++
> 6 files changed, 165 insertions(+), 11 deletions(-)
You might also want to add an entry to Changelog.
>
> I'll factorize the tests arguments later.
>
> diff --git a/doc/ffprobe.xsd b/doc/ffprobe.xsd
> index 5010c5a45f..bd52000725 100644
> --- a/doc/ffprobe.xsd
> +++ b/doc/ffprobe.xsd
> @@ -15,6 +15,7 @@
> <xsd:element name="frames" type="ffprobe:framesType" minOccurs="0" maxOccurs="1" />
> <xsd:element name="packets_and_frames" type="ffprobe:packetsAndFramesType" minOccurs="0" maxOccurs="1" />
> <xsd:element name="programs" type="ffprobe:programsType" minOccurs="0" maxOccurs="1" />
> + <xsd:element name="stream_groups" type="ffprobe:StreamGroupsType" minOccurs="0" maxOccurs="1" />
> <xsd:element name="streams" type="ffprobe:streamsType" minOccurs="0" maxOccurs="1" />
> <xsd:element name="chapters" type="ffprobe:chaptersType" minOccurs="0" maxOccurs="1" />
> <xsd:element name="format" type="ffprobe:formatType" minOccurs="0" maxOccurs="1" />
> @@ -229,6 +230,12 @@
> </xsd:sequence>
> </xsd:complexType>
>
> + <xsd:complexType name="StreamGroupsType">
consistency: streamGroupsType
> + <xsd:sequence>
> + <xsd:element name="stream_group" type="ffprobe:streamGroupType" minOccurs="0" maxOccurs="unbounded"/>
> + </xsd:sequence>
> + </xsd:complexType>
> +
> <xsd:complexType name="streamDispositionType">
> <xsd:attribute name="default" type="xsd:int" use="required" />
> <xsd:attribute name="dub" type="xsd:int" use="required" />
> @@ -325,6 +332,49 @@
> <xsd:attribute name="pcr_pid" type="xsd:int" use="required"/>
> </xsd:complexType>
>
> + <xsd:complexType name="streamGroupType">
> + <xsd:sequence>
> + <xsd:element name="disposition" type="ffprobe:streamDispositionType" minOccurs="0" maxOccurs="1"/>
> + <xsd:element name="tags" type="ffprobe:tagsType" minOccurs="0" maxOccurs="1"/>
> + <xsd:element name="streams" type="ffprobe:streamsType" minOccurs="0" maxOccurs="1"/>
> + <xsd:element name="components" type="ffprobe:streamGroupComponentList" minOccurs="0" maxOccurs="1"/>
> + </xsd:sequence>
> +
> + <xsd:attribute name="index" type="xsd:int" use="required"/>
> + <xsd:attribute name="nb_streams" type="xsd:int" use="required"/>
> + <xsd:attribute name="type" type="xsd:string" use="required"/>
> + </xsd:complexType>
> +
> + <xsd:complexType name="streamGroupComponentList">
> + <xsd:sequence>
> + <xsd:element name="component" type="ffprobe:streamGroupComponentType" minOccurs="0" maxOccurs="unbounded"/>
> + </xsd:sequence>
> + </xsd:complexType>
> +
> + <xsd:complexType name="streamGroupComponentType">
> + <xsd:sequence>
> + <xsd:element name="subcomponents" type="ffprobe:streamGroupSubComponentList" minOccurs="0" maxOccurs="1"/>
nit: here and below, probaly better to use Subcomponent as this is considered a single word
> + <xsd:element name="component_entry" type="ffprobe:streamGroupEntryType" minOccurs="0" maxOccurs="unbounded"/>
> + </xsd:sequence>
> + </xsd:complexType>
> +
> + <xsd:complexType name="streamGroupSubComponentList">
> + <xsd:sequence>
> + <xsd:element name="subcomponent" type="ffprobe:streamGroupSubComponentType" minOccurs="0" maxOccurs="unbounded"/>
> + </xsd:sequence>
> + </xsd:complexType>
> +
> + <xsd:complexType name="streamGroupSubComponentType">
> + <xsd:sequence>
> + <xsd:element name="subcomponent_entry" type="ffprobe:streamGroupEntryType" minOccurs="0" maxOccurs="unbounded"/>
> + </xsd:sequence>
> + </xsd:complexType>
> +
> + <xsd:complexType name="streamGroupEntryType">
> + <xsd:attribute name="key" type="xsd:string"/>
> + <xsd:attribute name="value" type="xsd:string"/>
> + </xsd:complexType>
> +
> <xsd:complexType name="formatType">
> <xsd:sequence>
> <xsd:element name="tags" type="ffprobe:tagsType" minOccurs="0" maxOccurs="1"/>
[...]
Looks nice to me otherwise, thanks.
More information about the ffmpeg-devel
mailing list