WebCodecs Codec Registry

W3C Draft Registry,

More details about this document
This version:
https://www.w3.org/TR/2024/DRY-webcodecs-codec-registry-20240610/
Latest published version:
https://www.w3.org/TR/webcodecs-codec-registry/
Editor's Draft:
https://w3c.github.io/webcodecs/codec_registry.html
Previous Versions:
History:
https://www.w3.org/standards/history/webcodecs-codec-registry/
Feedback:
GitHub
Editors:
Paul Adenot (Mozilla)
Bernard Aboba (Microsoft Corporation)
Former Editor:
Chris Cunningham (Google Inc.)
Participate:
Git Repository.
File an issue.
Version History:
https://github.com/w3c/webcodecs/commits

Abstract

This registry is intended to enhance interoperability among implementations and users of [WEBCODECS]. In particular, this registry provides the means to identify and avoid collisions among codec strings and provides a mechanism to define codec-specific members of [WEBCODECS] codec configuration dictionaries.

This registry is not intended to include any information on whether a codec format is encumbered by intellectual property claims. Implementers and users are advised to seek appropriate legal counsel in this matter if they intend to implement or use a specific codec format. Implementers of WebCodecs are not required to support any particular codec nor registry entry.

This registry is non-normative.

Status of this document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

Feedback and comments on this specification are welcome. GitHub Issues are preferred for discussion on this specification. Alternatively, you can send comments to the Media Working Group’s mailing-list, public-media-wg@w3.org (archives). This draft highlights some of the pending issues that are still to be discussed in the working group. No decision has been taken on the outcome of these issues including whether they are valid.

This document was published by the Media Working Group as a Draft Registry using the Registry track.

Publication as a Draft Registry does not imply endorsement by W3C and its Members.

This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

The W3C Patent Policy does not carry any licensing requirements or commitments on this document.

This document is governed by the 03 November 2023 W3C Process Document.

1. Organization

This registry maintains a mapping between codec strings and registration specifications as described below.

2. Registration Entry Requirements

  1. Each entry must include a unique codec string, a common name string, and a link to the codec’s specification.

  2. The codec string must be crafted as follows:

    1. If the codec string contains a fixed prefix with variable suffix values, the suffix must be represented by an asterisk and the registration’s public specification must describe how to fully qualify the variable portion of the string.

    2. Otherwise, if the codec is recognized by multiple strings, a single preferred string should be listed and the registration’s specification must list the other allowed strings.

    3. Otherwise, the codec is identified by a simple fixed string.

  3. Each registration’s specification must include a sequence of sections describing:

    1. Recognized codec strings

    2. EncodedAudioChunk or EncodedVideoChunk internal data

    3. AudioDecoderConfig or VideoDecoderConfig description bytes

    4. Expectations for EncodedAudioChunk or EncodedVideoChunk [[type]]

  4. Where applicable, a registration specification may include a section describing extensions to VideoEncoderConfig or AudioEncoderConfig dictionaries.

  5. Candidate entries must be announced by filing an issue in the WebCodecs GitHub issue tracker so they can be discussed and evaluated for compliance before being added to the registry. The Media Working Group may seek expertise from outside the Working Group as part of its evaluation, e.g., from the codec specification editors or relevant standards group. If the codec specification is not publicly available, it must be made available to the Working Group for evaluation. If the Working Group reaches consensus to accept the candidate, a pull request should be drafted (either by editors or by the party requesting the candidate registration) to register the candidate. The registry editors will review and merge the pull request.

  6. Existing entries cannot be deleted or deprecated. They may be changed after being published through the same process as candidate entries. Possible changes include expansion of the codec string to better qualify the codec, adjustments to the codec name string, and modification of the link to the codec’s specification.

3. Audio Codec Registry

codec string common name public specification
flac Flac FLAC codec registration [WEBCODECS-FLAC-CODEC-REGISTRATION]
mp3 MP3 MP3 WebCodecs Registration [WEBCODECS-MP3-CODEC-REGISTRATION]
mp4a.* AAC AAC WebCodecs Registration [WEBCODECS-AAC-CODEC-REGISTRATION]
opus Opus Opus WebCodecs Registration [WEBCODECS-OPUS-CODEC-REGISTRATION]
vorbis Vorbis Vorbis WebCodecs Registration [WEBCODECS-VORBIS-CODEC-REGISTRATION]
ulaw u-law PCM u-law PCM WebCodecs Registration [WEBCODECS-ULAW-CODEC-REGISTRATION]
alaw A-law PCM A-law PCM WebCodecs Registration [WEBCODECS-ALAW-CODEC-REGISTRATION]
pcm-* Linear PCM Linear PCM WebCodecs Registration [WEBCODECS-PCM-CODEC-REGISTRATION]

4. Video Codec Registry

codec string common name specification
av01.* AV1 AV1 codec registration [WEBCODECS-AV1-CODEC-REGISTRATION]
avc1.*, avc3.* AVC / H.264 AVC (H.264) WebCodecs Registration [WEBCODECS-AVC-CODEC-REGISTRATION]
hev1.*, hvc1.* HEVC / H.265 HEVC (H.265) WebCodecs Registration [WEBCODECS-HEVC-CODEC-REGISTRATION]
vp8 VP8 VP8 codec registration [WEBCODECS-VP8-CODEC-REGISTRATION]
vp09.* VP9 VP9 codec registration [WEBCODECS-VP9-CODEC-REGISTRATION]

5. Privacy Considerations

Please refer to the section Privacy Considerations in [WEBCODECS].

6. Security Considerations

Please refer to the section Security Considerations in [WEBCODECS].

Index

Terms defined by reference

References

Normative References

[WEBCODECS]
Paul Adenot; Bernard Aboba; Eugene Zemtsov. WebCodecs. 20 May 2024. WD. URL: https://www.w3.org/TR/webcodecs/

Informative References

[WEBCODECS-AAC-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. AAC WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-aac-codec-registration/
[WEBCODECS-ALAW-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. A-law PCM WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-alaw-codec-registration/
[WEBCODECS-AV1-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. AV1 WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-av1-codec-registration/
[WEBCODECS-AVC-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. AVC (H.264) WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-avc-codec-registration/
[WEBCODECS-FLAC-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. FLAC WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-flac-codec-registration/
[WEBCODECS-HEVC-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. HEVC (H.265) WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-hevc-codec-registration/
[WEBCODECS-MP3-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. MP3 WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-mp3-codec-registration/
[WEBCODECS-OPUS-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. Opus WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-opus-codec-registration/
[WEBCODECS-PCM-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. Linear PCM WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-pcm-codec-registration/
[WEBCODECS-ULAW-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. u-law PCM WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-ulaw-codec-registration/
[WEBCODECS-VORBIS-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. Vorbis WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-vorbis-codec-registration/
[WEBCODECS-VP8-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. VP8 WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-vp8-codec-registration/
[WEBCODECS-VP9-CODEC-REGISTRATION]
Paul Adenot; Bernard Aboba. VP9 WebCodecs Registration. 20 May 2024. NOTE. URL: https://www.w3.org/TR/webcodecs-vp9-codec-registration/