• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Changelog
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
7## [Unreleased]
8
9### Added
10
11-   Add a library to process ADM files into `UserMetadata`.
12-   Add support for ADM input in the encoder.
13-   Add support for binary proto input in the encoder.
14-   Add support for encoding [Standalone IAMF Representation] for Base-Enhanced
15    profile based on [IAMF v1.1.0]("Expanded" layouts, Mix Presentation Tags).
16
17### Deprecated
18
19-   Deprecate several fields and prefer using field names based on [IAMF v1.1.0]:
20    -   Deprecate `language_labels` in favor of `annotations_language`.
21    -   Deprecate `MixPresentationAnnotations` and
22        `mix_presentation_annotations_array` in favor of
23        `localized_presentation_annotations`.
24    -   Deprecate `MixPresentationElementAnnotations` and
25        `mix_presentation_element_annotations_array` in favor of
26        `localized_element_annotations`.
27    -   Deprecate `OutputMixConfig` and `output_mix_config` in favor of
28        `output_mix_gain`.
29    -   Deprecate `ElementMixConfig` and `element_mix_config` in favour of
30        `element_mix_gain`.
31-   Deprecate `channel_ids` and `channel_labels` in `AudioElementObuMetadata` in
32    favor of `ChannelMetadata`.
33
34### Removed
35
36-   Remove support for integral `deprecated_codec_id`, `deprecated_info_type`,
37    `deprecated_param_definition_type`, `deprecated_loudspeaker_layout` in favor
38    of enumeration-based fields.
39
40### Changed
41
42-   Set sensible defaults for some proto fields.
43-   Default to automatically determining the correct
44    `CodecConfig::audio_roll_distance`, instead of throwing an error when user
45    input was incorrect.
46-   Default to automatically determining the correct
47    `OpusDecoderConfig::pre_skip`, instead of throwing an error when user input
48    was incorrect.
49-   Update Simple and Base profile to be based on [IAMF v1.0.0-errata].
50
51### Fixed
52
53-   Fix parsing multi-byte UTF-8 characters on certain platforms.
54-   Fix crashes when attempting to encode audio frames without the correct
55    number of `substream_id`s.
56-   Prevent encoding Mix Presentation OBUs with an inconsistent number of
57    annotations.
58-   Fix compliance with ISO 14496-1:2010 when writing AAC Codec Config OBUs
59    (AOMediaCodec/libiamf#119).
60-   Fix issues when using AAC with a 24 kHz sample rate.
61-   Permit one fully trimmed audio frame at the end of a substream.
62
63## [1.0.0] - 2024-01-26
64
65### Added
66
67-   Add an IAMF encoder which takes in `UserMetadata` and outputs IAMF files.
68-   Add support for encoding [Standalone IAMF Representation] for Simple and
69    Base profiles based on [IAMF v1.0.0].
70-   Fork a test suite from
71    [`libiamf`](https://github.com/AOMediaCodec/libiamf/commit/f9cdea5c).
72    -   `*.proto`: A schema to describe IA Sequences and metadata to process
73        them. `UserMetadata` is the "top-level" file.
74    -   `*.textproto`: A suite of `UserMetadata` textproto files to generate
75        test IAMF files.
76
77### Deprecated
78
79-   Deprecate `deprecated_codec_id`, `deprecated_info_type`,
80    `deprecated_param_definition_type`, `deprecated_loudspeaker_layout` from the
81    forked `.protos`.
82
83[unreleased]: https://github.com/AOMediaCodec/iamf-tools/compare/v1.0.0...HEAD
84[1.0.0]: https://github.com/AOMediaCodec/iamf-tools/releases/tag/v1.0.0
85[Standalone IAMF Representation]: https://aomediacodec.github.io/iamf/#standalone
86[IAMF v1.0.0]: https://aomediacodec.github.io/iamf/v1.0.0.html
87[IAMF v1.0.0-errata]: https://aomediacodec.github.io/iamf/v1.0.0.html
88[IAMF v1.1.0]: https://aomediacodec.github.io/iamf/v1.1.0.html
89