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