From 7b6070f31422b9d56b920eb59b84a577d0401644 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 10 Mar 2026 21:43:13 +0000 Subject: [PATCH 1/3] Add Extended HE-AAC to AAC WebCodecs Registration Adds "mp4a.40.42" (Extended HE-AAC) to the list of fully qualified codec strings, along with a note that Extended HE-AAC should use the "aac" bitstream format. Updates the [ISO14496-3] reference to the 2019 edition and adds new bibliographic references for [ISO23003-3] (USAC) and [ISO23003-4] (DRC). Co-authored-by: Djuffin <132926+Djuffin@users.noreply.github.com> --- aac_codec_registration.src.html | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/aac_codec_registration.src.html b/aac_codec_registration.src.html index 26359dbf..0e3e9cb6 100644 --- a/aac_codec_registration.src.html +++ b/aac_codec_registration.src.html @@ -36,10 +36,22 @@
 {
   "iso14496-3": {
-    "href": "https://www.iso.org/standard/53943.html",
-    "title": "ISO/IEC 14496-3:2009 - Information technology — Coding of audio-visual objects — Part 3: Audio",
+    "href": "https://www.iso.org/standard/76383.html",
+    "title": "ISO/IEC 14496-3:2019 - Information technology — Coding of audio-visual objects — Part 3: Audio",
     "publisher": "ISO",
-    "date": "2009-09"
+    "date": "2019-12"
+  },
+  "iso23003-3": {
+    "href": "https://www.iso.org/standard/76385.html",
+    "title": "ISO/IEC 23003-3:2020 - Information technology — MPEG audio technologies — Part 3: Unified speech and audio coding",
+    "publisher": "ISO",
+    "date": "2020-06"
+  },
+  "iso23003-4": {
+    "href": "https://www.iso.org/standard/89036.html",
+    "title": "ISO/IEC 23003-4:2025 - Information technology — MPEG audio technologies — Part 4: Dynamic range control",
+    "publisher": "ISO",
+    "date": "2025-03"
   }
 }
 
@@ -54,6 +66,7 @@ - `"mp4a.40.5"` — MPEG-4 HE-AAC v1 (AAC LC + SBR) - `"mp4a.40.05"` — MPEG-4 HE-AAC v1 (AAC LC + SBR), leading 0 for Aud-OTI compatibility - `"mp4a.40.29"` — MPEG-4 HE-AAC v2 (AAC LC + SBR + PS) +- `"mp4a.40.42"` — Extended HE-AAC (MPEG-D USAC + MPEG-D DRC) as defined in [[iso23003-3]] and [[iso23003-4]] - `"mp4a.67"` — MPEG-2 AAC LC EncodedAudioChunk data {#encodedaudiochunk-data} @@ -66,7 +79,7 @@ If the bitstream is in {{AacBitstreamFormat/aac}} format, the {{EncodedAudioChunk/[[internal data]]}} of {{EncodedAudioChunk}}s are expected to be a raw AAC frame (syntax element `raw_data_block()`), as described in -section 4.4.2.1 of [[iso14496-3]]. +section 4.4.2.1 of [[iso14496-3]]. Extended HE-AAC shall be in {{AacBitstreamFormat/aac}} format. AudioDecoderConfig description {#audiodecoderconfig-description} ================================================================ From aeb58fdcf8c6ed2999d79530deae95e6274eeac2 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 10 Mar 2026 21:52:16 +0000 Subject: [PATCH 2/3] Address PR comments on AudioDecoderConfig description Fixes the grammar ("assumed to a" -> "assumed to be an"), updates the AudioSpecificConfig table reference from 1.15 to 1.19, and adds "format" after {{AacBitstreamFormat/aac}} as requested by the reviewer. Co-authored-by: Djuffin <132926+Djuffin@users.noreply.github.com> --- aac_codec_registration.src.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/aac_codec_registration.src.html b/aac_codec_registration.src.html index 0e3e9cb6..ca055a41 100644 --- a/aac_codec_registration.src.html +++ b/aac_codec_registration.src.html @@ -84,9 +84,9 @@ AudioDecoderConfig description {#audiodecoderconfig-description} ================================================================ -If {{AudioDecoderConfig/description}} is present, it is assumed to a -`AudioSpecificConfig` as defined in [[iso14496-3]] section 1.6.2.1, Table 1.15, -and the bitstream is assumed to be in {{AacBitstreamFormat/aac}}. +If {{AudioDecoderConfig/description}} is present, it is assumed to be an +`AudioSpecificConfig` as defined in [[iso14496-3]] section 1.6.2.1, Table 1.19, +and the bitstream is assumed to be in {{AacBitstreamFormat/aac}} format. If the {{AudioDecoderConfig/description}} is not present, the bitstream is assumed to be in {{AacBitstreamFormat/adts}} format. From 71f8e4a09757cab743d36e3d5b3250ee0e0519ad Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 10 Mar 2026 23:05:31 +0000 Subject: [PATCH 3/3] Implement PR feedback for Extended HE-AAC - Adds "(xHE-AAC)" to the display name of mp4a.40.42 - Changes "shall" to "must" in EncodedAudioChunk data requirement Co-authored-by: Djuffin <132926+Djuffin@users.noreply.github.com> --- aac_codec_registration.src.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aac_codec_registration.src.html b/aac_codec_registration.src.html index ca055a41..0befee6c 100644 --- a/aac_codec_registration.src.html +++ b/aac_codec_registration.src.html @@ -66,7 +66,7 @@ - `"mp4a.40.5"` — MPEG-4 HE-AAC v1 (AAC LC + SBR) - `"mp4a.40.05"` — MPEG-4 HE-AAC v1 (AAC LC + SBR), leading 0 for Aud-OTI compatibility - `"mp4a.40.29"` — MPEG-4 HE-AAC v2 (AAC LC + SBR + PS) -- `"mp4a.40.42"` — Extended HE-AAC (MPEG-D USAC + MPEG-D DRC) as defined in [[iso23003-3]] and [[iso23003-4]] +- `"mp4a.40.42"` — Extended HE-AAC (xHE-AAC) (MPEG-D USAC + MPEG-D DRC) as defined in [[iso23003-3]] and [[iso23003-4]] - `"mp4a.67"` — MPEG-2 AAC LC EncodedAudioChunk data {#encodedaudiochunk-data} @@ -79,7 +79,7 @@ If the bitstream is in {{AacBitstreamFormat/aac}} format, the {{EncodedAudioChunk/[[internal data]]}} of {{EncodedAudioChunk}}s are expected to be a raw AAC frame (syntax element `raw_data_block()`), as described in -section 4.4.2.1 of [[iso14496-3]]. Extended HE-AAC shall be in {{AacBitstreamFormat/aac}} format. +section 4.4.2.1 of [[iso14496-3]]. Extended HE-AAC must be in {{AacBitstreamFormat/aac}} format. AudioDecoderConfig description {#audiodecoderconfig-description} ================================================================