Skip to content

Commit

Permalink
Update "v1.1.0" related links and langauge.
Browse files Browse the repository at this point in the history
  - The spec has been published as "v1.1.0". Prefer documentation refers to this instead of "v1.1".
  - Update `CHANGELOG.md` to refer to the v1.1.0 permalinks (vs. `latest-draft`).
  - Prefer mentioning "IAMF [VERSION_NUMBER]" when referring to the spec. This may help avoid conflating spec versions vs. library versions.
  - Update various comments that are still accurate as of IAMF v1.1.0.

PiperOrigin-RevId: 695836784
  • Loading branch information
jwcullen committed Nov 13, 2024
1 parent 0b613f9 commit bbea373
Show file tree
Hide file tree
Showing 13 changed files with 26 additions and 27 deletions.
8 changes: 3 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- 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 latest draft]("Expanded" layouts, Mix Presentation Tags).
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 latest draft]:
- 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
Expand Down Expand Up @@ -86,4 +84,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.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 Latest Draft]: https://aomediacodec.github.io/iamf/latest-draft.html
[IAMF v1.1.0]: https://aomediacodec.github.io/iamf/v1.1.0.html
2 changes: 1 addition & 1 deletion docs/external/encoding_with_external_tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ underlying audio elements at 64 kbps per channel.
>
> If a different channel order is used, change the input channel indices
> indicated by `channelmap`. The [IAMF specification (Coupled stereo
> channels)](https://aomediacodec.github.io/iamf/v1.0.0-errata.html#coupled_substream_count)
> channels)](https://aomediacodec.github.io/iamf/v1.1.0.html#coupled_substream_count)
> requires that the result groups specific channels as either a stereo pair or
> a mono channel, and additionally that they follow a specific order. In the
> ffmpeg command, this is defined by the order of the `-map "[]"` options.
Expand Down
2 changes: 1 addition & 1 deletion iamf/cli/adm_to_user_metadata/iamf/audio_frame_handler.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ namespace adm_to_user_metadata {
* In `iamf-tools` this metadata is typically associated in a 1:1 mapping with
* an audio element.
*
* IAMF v1.0 REQUIRES certain fields to be consistent across all audio
* IAMF v1.1.0 REQUIRES certain fields to be consistent across all audio
* substreams in a given IAMF stream (e.g. `num_samples_to_trim_at_end`,
* `num_samples_to_trim_at_start`). This class helps enforce that by
* generating consistent audio frame metadata.
Expand Down
2 changes: 1 addition & 1 deletion iamf/cli/channel_label.cc
Original file line number Diff line number Diff line change
Expand Up @@ -544,7 +544,7 @@ ChannelLabel::LookupLabelsToReconstructFromScalableLoudspeakerLayout(
RETURN_IF_NOT_OK(ValidateHasValue(expanded_loudspeaker_layout,
"expanded_loudspeaker_layout"));
// OK. Expanded layouts may only exist in a single-layer and thus never need
// to be reconstructed as of IAMF v1.1.
// to be reconstructed as of IAMF v1.1.0.
return absl::flat_hash_set<ChannelLabel::Label>{};
}
// Reconstruct the highest layer.
Expand Down
2 changes: 1 addition & 1 deletion iamf/cli/parameter_block_partitioner.cc
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ absl::Status ParameterBlockPartitioner::FindPartitionDuration(
if (primary_profile != PROFILE_VERSION_SIMPLE &&
primary_profile != PROFILE_VERSION_BASE &&
primary_profile != PROFILE_VERSION_BASE_ENHANCED) {
// This function only implements limitations described in IAMF V1.1 are for
// This function only implements limitations described in IAMF v1.1.0 for
// simple, base, base-enhanced profile.
return absl::InvalidArgumentError(
absl::StrCat("FindPartitionDuration() only works with Simple, Base, or "
Expand Down
1 change: 0 additions & 1 deletion iamf/cli/proto_to_obu/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,6 @@ cc_library(
"//iamf/obu:param_definitions",
"//iamf/obu:types",
"@com_google_absl//absl/base:no_destructor",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/log",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
Expand Down
3 changes: 2 additions & 1 deletion iamf/cli/proto_to_obu/audio_element_generator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -744,7 +744,8 @@ absl::Status CopyLoudspeakerLayoutAndExpandedLoudspeakerLayout(
expanded_loudspeaker_layout));
output_expanded_loudspeaker_layout = expanded_loudspeaker_layout;
} else {
// Ignore user input since it would not be in the bitstream as of IAMF v1.1.
// Ignore user input since it would not be in the bitstream as of IAMF
// v1.1.0.
output_expanded_loudspeaker_layout = std::nullopt;
}

Expand Down
17 changes: 9 additions & 8 deletions iamf/cli/proto_to_obu/mix_presentation_generator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
#include <vector>

#include "absl/base/no_destructor.h"
#include "absl/container/flat_hash_map.h"
#include "absl/log/log.h"
#include "absl/status/status.h"
#include "absl/strings/str_cat.h"
Expand All @@ -46,7 +45,7 @@ void FillAnnotationsLanguageAndAnnotations(
count_label = mix_presentation_metadata.count_label();

annotations_language.reserve(mix_presentation_metadata.count_label());
// Prioritize the `annotations_language` field from version 1.1.
// Prioritize the `annotations_language` field from IAMF v1.1.0.
if (!mix_presentation_metadata.annotations_language().empty()) {
for (const auto& language :
mix_presentation_metadata.annotations_language()) {
Expand All @@ -63,7 +62,8 @@ void FillAnnotationsLanguageAndAnnotations(

localized_presentation_annotations.reserve(
mix_presentation_metadata.count_label());
// Prioritize the `localized_presentation_annotations` field from version 1.1.
// Prioritize the `localized_presentation_annotations` field from
// IAMF v1.1.0.
if (!mix_presentation_metadata.localized_presentation_annotations().empty()) {
for (const auto& localized_presentation_annotation :
mix_presentation_metadata.localized_presentation_annotations()) {
Expand Down Expand Up @@ -168,8 +168,9 @@ absl::Status FillRenderingConfig(
return absl::OkStatus();
}

// Prefers selecting `element_mix_gain` (V1.1 field) if it present over
// `element_mix_config.mix_gain` (deprecated in the proto based on V1.0 spec).
// Prefers selecting `element_mix_gain` (IAMF v1.1.0 field) if it present over
// `element_mix_config.mix_gain` (deprecated in the proto based on IAMF v1.0
// spec).
const iamf_tools_cli_proto::MixGainParamDefinition& SelectElementMixConfig(
const iamf_tools_cli_proto::SubMixAudioElement& sub_mix_audio_element) {
if (sub_mix_audio_element.has_element_mix_gain()) {
Expand All @@ -181,9 +182,9 @@ const iamf_tools_cli_proto::MixGainParamDefinition& SelectElementMixConfig(
}
}

// Prefers selecting `output_mix_gain` (V1.1 field) if it present over
// `output_mix_config.output_mix_gain` (deprecated in the proto based on V1.0
// spec).
// Prefers selecting `output_mix_gain` (IAMF v1.1.0 field) if it present over
// `output_mix_config.output_mix_gain` (deprecated in the proto based on IAMF
// v1.0 spec).
const iamf_tools_cli_proto::MixGainParamDefinition& SelectOutputMixConfig(
const iamf_tools_cli_proto::MixPresentationSubMix&
mix_presentation_sub_mix) {
Expand Down
2 changes: 1 addition & 1 deletion iamf/cli/testdata/test_000709.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ test_vector_metadata {
file_name_prefix: "test_000709"
# The encoder typically would not produce files with reserved profile values.
is_valid: false
# As of V1.1, profile 255 is not defined.
# As of IAMF v1.1.0, profile 255 is not defined.
is_valid_to_decode: false
validate_user_loudness: true
mp4_fixed_timestamp: "2024-08-14 00:00:00"
Expand Down
2 changes: 1 addition & 1 deletion iamf/obu/audio_element.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ struct AudioElementParam {
/*!\brief An element of the `ScalableChannelLayoutConfig` vector.
*
* Implements the `ChannelAudioLayerConfig` as defined by section 3.6.2 of
* https://aomediacodec.github.io/iamf/v1.0.0-errata.html.
* https://aomediacodec.github.io/iamf/v1.1.0.html.
*/
struct ChannelAudioLayerConfig {
/*!\brief A 4-bit enum for the type of layout. */
Expand Down
2 changes: 1 addition & 1 deletion iamf/obu/decoder_config/aac_decoder_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class AudioSpecificConfig {

/*!\brief The `CodecConfig` `decoder_config` field for AAC.
*
* As defined in IAMF v1.0.0-errata section 3.11.2
* As defined in IAMF v1.1.0 section 3.11.2
* https://aomediacodec.github.io/iamf/#aac-lc-specific. Many fields are fixed
* by the IAMF spec and should typically never be changed from their default
* values.
Expand Down
2 changes: 1 addition & 1 deletion iamf/obu/mix_presentation.cc
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ absl::Status Layout::ReadAndValidate(ReadBitBuffer& rb) {
case kLayoutTypeReserved0:
case kLayoutTypeReserved1:
// Reserved layouts are identical to binaural layouts as of IAMF
// v1.0-errata aomediacodec.github.io/iamf/v1.0.0-errata.html#syntax-layout.
// v1.1.0 aomediacodec.github.io/iamf/v1.1.0.html#syntax-layout.
case kLayoutTypeBinaural:
specific_layout = LoudspeakersReservedOrBinauralLayout();
return std::get<LoudspeakersReservedOrBinauralLayout>(specific_layout)
Expand Down
8 changes: 4 additions & 4 deletions iamf/obu/mix_presentation.h
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ struct LoudnessInfo {
/*!\brief Layout is defined using the sound system convention of ITU2051-3.
*
* Implements syntax and utility functions when the `Layout` defined in
* https://aomediacodec.github.io/iamf/v1.0.0-errata.html#syntax-layout is
* https://aomediacodec.github.io/iamf/v1.1.0.html#syntax-layout is
* `LOUDSPEAKERS_SS_CONVENTION`.
*/
struct LoudspeakersSsConventionLayout {
Expand Down Expand Up @@ -201,7 +201,7 @@ struct LoudspeakersSsConventionLayout {
/*!\brief Layout is binaural or reserved.
*
* Implements syntax and utility functions when the `Layout` defined in
* https://aomediacodec.github.io/iamf/v1.0.0-errata.html#syntax-layout is
* https://aomediacodec.github.io/iamf/v1.1.0.html#syntax-layout is
* `BINAURAL` or `RESERVED`.
*/
struct LoudspeakersReservedOrBinauralLayout {
Expand Down Expand Up @@ -234,7 +234,7 @@ struct LoudspeakersReservedOrBinauralLayout {
/*!\brief Specifies either a binaural system or physical loudspeaker positions.
*
* Implements syntax and utility functions related to the `Layout` defined in
* https://aomediacodec.github.io/iamf/v1.0.0-errata.html#syntax-layout.
* https://aomediacodec.github.io/iamf/v1.1.0.html#syntax-layout.
*/
struct Layout {
/*!\brief A 2-bit enum for the type of layout. */
Expand Down Expand Up @@ -430,7 +430,7 @@ class MixPresentationObu : public ObuBase {

std::vector<MixPresentationSubMix> sub_mixes_;

// Implicitly included based on `obu_size` after writing the v1.0.0-errata
// Implicitly included based on `obu_size` after writing the IAMF v1.1.0
// payload.
std::optional<MixPresentationTags> mix_presentation_tags_;

Expand Down

0 comments on commit bbea373

Please sign in to comment.