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

Stefano Sabatini stefasab at gmail.com
Sat Mar 9 12:58:06 EET 2024


On date Friday 2024-03-08 17:24:48 -0300, James Almer wrote:
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>  doc/ffprobe.xsd                         |  39 ++++++
>  fftools/ffprobe.c                       | 160 +++++++++++++++++++++++-
>  tests/fate/iamf.mak                     |  12 +-
>  tests/fate/mov.mak                      |   8 +-
>  tests/ref/fate/iamf-5_1_4               |  92 ++++++++++++++
>  tests/ref/fate/iamf-7_1_4               |  92 ++++++++++++++
>  tests/ref/fate/iamf-ambisonic_1         |  39 ++++++
>  tests/ref/fate/iamf-stereo              |  67 ++++++++++
>  tests/ref/fate/mov-mp4-iamf-5_1_4       |  92 ++++++++++++++
>  tests/ref/fate/mov-mp4-iamf-7_1_4       |  92 ++++++++++++++
>  tests/ref/fate/mov-mp4-iamf-ambisonic_1 |  39 ++++++
>  tests/ref/fate/mov-mp4-iamf-stereo      |  67 ++++++++++
>  12 files changed, 787 insertions(+), 12 deletions(-)

You might also want to add a changelog entry.

> 
> diff --git a/doc/ffprobe.xsd b/doc/ffprobe.xsd
> index bd52000725..6d5d094d97 100644
> --- a/doc/ffprobe.xsd
> +++ b/doc/ffprobe.xsd
> @@ -366,10 +366,49 @@
>  
>    <xsd:complexType name="streamGroupSubComponentType">
>      <xsd:sequence>
> +      <xsd:element name="pieces" type="ffprobe:streamGroupPieceList" minOccurs="0" maxOccurs="1"/>
>        <xsd:element name="subcomponent_entry" type="ffprobe:streamGroupEntryType" minOccurs="0" maxOccurs="unbounded"/>
>      </xsd:sequence>
>    </xsd:complexType>
>  
> +  <xsd:complexType name="streamGroupPieceList">
> +    <xsd:sequence>
> +      <xsd:element name="piece" type="ffprobe:streamGroupPieceType" minOccurs="0" maxOccurs="unbounded"/>
> +    </xsd:sequence>
> +  </xsd:complexType>
> +
> +  <xsd:complexType name="streamGroupPieceType">
> +    <xsd:sequence>
> +      <xsd:element name="subpieces" type="ffprobe:streamGroupSubPieceList" minOccurs="0" maxOccurs="1"/>
> +      <xsd:element name="piece_entry" type="ffprobe:streamGroupEntryType" minOccurs="0" maxOccurs="unbounded"/>
> +    </xsd:sequence>
> +  </xsd:complexType>
> +

> +  <xsd:complexType name="streamGroupSubPieceList">

nit: I'd use Subpiece since it's considered as a single word

> +    <xsd:sequence>
> +      <xsd:element name="subpiece" type="ffprobe:streamGroupSubPieceType" minOccurs="0" maxOccurs="unbounded"/>
> +    </xsd:sequence>
> +  </xsd:complexType>
> +
> +  <xsd:complexType name="streamGroupSubPieceType">
> +    <xsd:sequence>
> +      <xsd:element name="blocks" type="ffprobe:streamGroupBlockList" minOccurs="0" maxOccurs="1"/>
> +      <xsd:element name="subpiece_entry" type="ffprobe:streamGroupEntryType" minOccurs="0" maxOccurs="unbounded"/>
> +    </xsd:sequence>
> +  </xsd:complexType>
> +
> +  <xsd:complexType name="streamGroupBlockList">
> +    <xsd:sequence>
> +      <xsd:element name="block" type="ffprobe:streamGroupBlockType" minOccurs="0" maxOccurs="unbounded"/>
> +    </xsd:sequence>
> +  </xsd:complexType>
> +
> +  <xsd:complexType name="streamGroupBlockType">
> +    <xsd:sequence>
> +      <xsd:element name="block_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"/>

[...]

No more comments from me, looks nice otherwise, thanks.


More information about the ffmpeg-devel mailing list