WebCodecs Codec Registry

W3C Working Draft,

This version:
https://www.w3.org/TR/2021/WD-webcodecs-codec-registry-20210514/
Latest published version:
https://www.w3.org/TR/webcodecs-codec-registry/
Editor's Draft:
https://w3c.github.io/webcodecs/codec_registry.html
Previous Versions:
Issue Tracking:
GitHub
Inline In Spec
Editors:
Chris Cunningham (Google Inc.)
Paul Adenot (Mozilla)
Bernard Aboba (Microsoft Corporation)
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. Other documents may supersede this document. 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 Working Draft.

Publication as a Working Draft does not imply endorsement by the W3C Membership.

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. The group does not expect this document to become a W3C Recommendation. 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.

This document is governed by the 15 September 2020 W3C Process Document.

1. Organization

This registry maintains a mapping between codec strings and definitions for (1) fully qualified codec string values, (2) codec-specific values for VideoDecoderConfig.description and AudioDecoderConfig.description, and (3) codec-specific members of the VideoEncoderConfig and AudioEncoderConfig dictionaries.

2. Registration Entry Requirements

  1. Each entry must include a unique codec string and a common name string.

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

  3. If the described codec requires that codec-specific bytes be provided as part of the VideoDecoderConfig.description or the AudioDecoderConfig.description, the registration must link to a public specification describing how to populate these fields.

  4. If the AudioEncoderConfig or VideoEncoderConfig dictionaries are extended with members specific to the described codec, the registration must link to a public specification describing how to populate these fields.

  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. If registry editors reach 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.

3. Audio Codec Registry

Several registrations contain TODOs which should be replaced with links to public specifications covering the mentioned definitions.

codec string common name public specification
flac Flac TODO (AudioDecoderConfig.description)
mp3 MP3 N/A
mp4a.* AAC TODO (string + AudioDecoderConfig.description)
opus Opus TODO (AudioDecoderConfig.description)
vorbis Vorbis TODO (AudoDecoderConfig.description)
ulaw PCM u-law N/A
alaw PCM a-law N/A

4. Video Codec Registry

Several registrations contain TODOs which should be replaced with links to public specifications covering the mentioned definitions.

codec string common name specification
av01.* AV1 TODO (string + VideoDecoderConfig.description)
avc1.* AVC / H.264 AVC (H.264) WebCodecs Registration [WEBCODECS-AVC-CODEC-REGISTRATION]
vp8 VP8 N/A
vp09.* VP9 TODO (string)

5. Privacy and Security Considerations

Please refer to the Privacy Considerations and Security Considerations sections in [WEBCODECS].

Index

Terms defined by reference

References

Normative References

[WEBCODECS]
Chris Cunningham; Paul Adenot; Bernard Aboba. WebCodecs. 13 May 2021. WD. URL: https://www.w3.org/TR/webcodecs/

Informative References

[WEBCODECS-AVC-CODEC-REGISTRATION]
Chris Cunningham; Paul Adenot; Bernard Aboba. AVC (H.264) WebCodecs Registration. 13 May 2021. WD. URL: https://www.w3.org/TR/webcodecs-avc-codec-registration/

Issues Index

Several registrations contain TODOs which should be replaced with links to public specifications covering the mentioned definitions.
Several registrations contain TODOs which should be replaced with links to public specifications covering the mentioned definitions.