forked from w3c/webcodecs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcodec_registry.src.html
182 lines (165 loc) · 6.91 KB
/
codec_registry.src.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
<pre class='metadata'>
Title: WebCodecs Codec Registry
Repository: w3c/webcodecs
Status: NOTE-ED
Shortname: webcodecs-codec-registry
Level: none
Group: mediawg
ED: https://w3c.github.io/webcodecs/codec_registry.html
TR: https://www.w3.org/TR/webcodecs-codec-registry/
Editor: Chris Cunningham, w3cid 114832, Google Inc. https://www.google.com/
Editor: Paul Adenot, w3cid 62410, Mozilla https://www.mozilla.org/
Editor: Bernard Aboba, w3cid 65611, Microsoft Corporation https://www.microsoft.com/
Boilerplate: omit conformance
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.
Markup Shorthands:css no, markdown yes, dfn yes
!Participate: <a href="https://github.com/w3c/webcodecs">Git Repository.</a>
!Participate: <a href="https://github.com/w3c/webcodecs/issues/new">File an issue.</a>
!Version History: <a href="https://github.com/w3c/webcodecs/commits">https://github.com/w3c/webcodecs/commits</a>
</pre>
<pre class='anchors'>
spec: WEBCODECS; urlPrefix: https://w3c.github.io/webcodecs/#
type: attribute
text: AudioDecoderConfig.description; url: dom-audiodecoderconfig-description
text: VideoDecoderConfig.description; url: dom-videodecoderconfig-description
text: VideoEncoderConfig; url: video-encoder-config
text: AudioEncoderConfig; url: audio-encoder-config
</pre>
Organization {#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.
Registration Entry Requirements {#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.
4. Candidate entries must be announced by filing an issue in the
[WebCodecs GitHub issue tracker](https://github.com/w3c/webcodecs/issues/)
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.
Audio Codec Registry {#audio-codec-registry}
============================================
<table class='data'>
<tr>
<td>**codec string**</td>
<td>**common name**</td>
<td>**public specification**</td>
</tr>
<tr>
<td>flac</td>
<td>Flac</td>
<td>[FLAC codec registration](https://www.w3.org/TR/webcodecs-flac-codec-registration/) [[WEBCODECS-FLAC-CODEC-REGISTRATION]]</td>
</tr>
<tr>
<td>mp3</td>
<td>MP3</td>
<td>[MP3 WebCodecs
Registration](https://www.w3.org/TR/webcodecs-mp3-codec-registration/)
[[WEBCODECS-MP3-CODEC-REGISTRATION]]</td>
</tr>
<tr>
<td>mp4a.*</td>
<td>AAC</td>
<td>[AAC WebCodecs
Registration](https://www.w3.org/TR/webcodecs-aac-codec-registration/)
[[WEBCODECS-AAC-CODEC-REGISTRATION]]</td>
</tr>
<tr>
<td>opus</td>
<td>Opus</td>
<td>[Opus WebCodecs
Registration](https://www.w3.org/TR/webcodecs-opus-codec-registration/)
[[WEBCODECS-OPUS-CODEC-REGISTRATION]]</td>
</tr>
<tr>
<td>vorbis</td>
<td>Vorbis</td>
<td>[Vorbis WebCodecs
Registration](https://www.w3.org/TR/webcodecs-vorbis-codec-registration/)
[[WEBCODECS-VORBIS-CODEC-REGISTRATION]]</td>
</tr>
<tr>
<td>ulaw</td>
<td>u-law PCM</td>
<td>[u-law PCM WebCodecs
Registration](https://www.w3.org/TR/webcodecs-ulaw-codec-registration/)
[[WEBCODECS-ULAW-CODEC-REGISTRATION]]</td>
</tr>
<tr>
<td>alaw</td>
<td>A-law PCM</td>
<td>[A-law PCM WebCodecs
Registration](https://www.w3.org/TR/webcodecs-alaw-codec-registration/)
[[WEBCODECS-ALAW-CODEC-REGISTRATION]]</td>
</tr>
<tr>
<td>pcm-*</td>
<td>Linear PCM</td>
<td>[Linear PCM WebCodecs
Registration](https://www.w3.org/TR/webcodecs-pcm-codec-registration/)
[[WEBCODECS-ALAW-CODEC-REGISTRATION]]</td>
</tr>
</table>
Video Codec Registry {#video-codec-registry}
============================================
<table class='data'>
<tr>
<td>**codec string**</td>
<td>**common name**</td>
<td>**specification**</td>
</tr>
<tr>
<td>av01.*</td>
<td>AV1</td>
<td>[AV1 codec registration](https://www.w3.org/TR/webcodecs-av1-codec-registration/) [[WEBCODECS-AV1-CODEC-REGISTRATION]]</td>
</tr>
<tr>
<td>avc1.*</td>
<td>AVC / H.264</td>
<td>[AVC (H.264) WebCodecs Registration](https://www.w3.org/TR/webcodecs-avc-codec-registration/) [[WEBCODECS-AVC-CODEC-REGISTRATION]]</td>
</tr>
<tr>
<td>vp8</td>
<td>VP8</td>
<td>[VP8 codec registration](https://www.w3.org/TR/webcodecs-vp8-codec-registration/) [[WEBCODECS-VP8-CODEC-REGISTRATION]]</td>
</tr>
<tr>
<td>vp09.*</td>
<td>VP9</td>
<td>[VP9 codec registration](https://www.w3.org/TR/webcodecs-vp9-codec-registration/) [[WEBCODECS-VP9-CODEC-REGISTRATION]]</td>
</tr>
</table>
Privacy and Security Considerations {#privacy-and-security-considerations}
==========================================================================
Please refer to the [[WEBCODECS#privacy-considerations|Privacy Considerations]]
and [[WEBCODECS#security-considerations|Security Considerations]] sections in
[[WEBCODECS]].