| # Changelog |
| |
| All notable changes to this project will be documented in this file. |
| |
| The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). |
| |
| ## [Unreleased] |
| |
| ### Added |
| |
| - Add a library to process ADM files into `UserMetadata`. |
| - Add support for ADM input in the encoder. |
| - Add support for binary proto input in the encoder. |
| - Add support for encoding [Standalone IAMF Representation] for Base-Enhanced |
| profile based on [IAMF v1.1.0]("Expanded" layouts, Mix Presentation Tags). |
| |
| ### Deprecated |
| |
| - Deprecate several fields and prefer using field names based on [IAMF v1.1.0]: |
| - Deprecate `language_labels` in favor of `annotations_language`. |
| - Deprecate `MixPresentationAnnotations` and |
| `mix_presentation_annotations_array` in favor of |
| `localized_presentation_annotations`. |
| - Deprecate `MixPresentationElementAnnotations` and |
| `mix_presentation_element_annotations_array` in favor of |
| `localized_element_annotations`. |
| - Deprecate `OutputMixConfig` and `output_mix_config` in favor of |
| `output_mix_gain`. |
| - Deprecate `ElementMixConfig` and `element_mix_config` in favour of |
| `element_mix_gain`. |
| - Deprecate `channel_ids` and `channel_labels` in `AudioElementObuMetadata` in |
| favor of `ChannelMetadata`. |
| |
| ### Removed |
| |
| - Remove support for integral `deprecated_codec_id`, `deprecated_info_type`, |
| `deprecated_param_definition_type`, `deprecated_loudspeaker_layout` in favor |
| of enumeration-based fields. |
| |
| ### Changed |
| |
| - Set sensible defaults for some proto fields. |
| - Default to automatically determining the correct |
| `CodecConfig::audio_roll_distance`, instead of throwing an error when user |
| input was incorrect. |
| - Default to automatically determining the correct |
| `OpusDecoderConfig::pre_skip`, instead of throwing an error when user input |
| was incorrect. |
| - Update Simple and Base profile to be based on [IAMF v1.0.0-errata]. |
| |
| ### Fixed |
| |
| - Fix parsing multi-byte UTF-8 characters on certain platforms. |
| - Fix crashes when attempting to encode audio frames without the correct |
| number of `substream_id`s. |
| - Prevent encoding Mix Presentation OBUs with an inconsistent number of |
| annotations. |
| - Fix compliance with ISO 14496-1:2010 when writing AAC Codec Config OBUs |
| (AOMediaCodec/libiamf#119). |
| - Fix issues when using AAC with a 24 kHz sample rate. |
| - Permit one fully trimmed audio frame at the end of a substream. |
| |
| ## [1.0.0] - 2024-01-26 |
| |
| ### Added |
| |
| - Add an IAMF encoder which takes in `UserMetadata` and outputs IAMF files. |
| - Add support for encoding [Standalone IAMF Representation] for Simple and |
| Base profiles based on [IAMF v1.0.0]. |
| - Fork a test suite from |
| [`libiamf`](https://github.com/AOMediaCodec/libiamf/commit/f9cdea5c). |
| - `*.proto`: A schema to describe IA Sequences and metadata to process |
| them. `UserMetadata` is the "top-level" file. |
| - `*.textproto`: A suite of `UserMetadata` textproto files to generate |
| test IAMF files. |
| |
| ### Deprecated |
| |
| - Deprecate `deprecated_codec_id`, `deprecated_info_type`, |
| `deprecated_param_definition_type`, `deprecated_loudspeaker_layout` from the |
| forked `.protos`. |
| |
| [unreleased]: https://github.com/AOMediaCodec/iamf-tools/compare/v1.0.0...HEAD |
| [1.0.0]: https://github.com/AOMediaCodec/iamf-tools/releases/tag/v1.0.0 |
| [Standalone IAMF Representation]: https://aomediacodec.github.io/iamf/#standalone |
| [IAMF v1.0.0]: https://aomediacodec.github.io/iamf/v1.0.0.html |
| [IAMF v1.0.0-errata]: https://aomediacodec.github.io/iamf/v1.0.0.html |
| [IAMF v1.1.0]: https://aomediacodec.github.io/iamf/v1.1.0.html |