forked from w3c/webcodecs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcodec_registry.src.html
More file actions
205 lines (183 loc) · 8.15 KB
/
codec_registry.src.html
File metadata and controls
205 lines (183 loc) · 8.15 KB
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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<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: Paul Adenot, w3cid 62410, Mozilla https://www.mozilla.org/
Editor: Eugene Zemtsov, w3cid 139375, Google LLC https://www.google.com/
Former Editor: Bernard Aboba, w3cid 65611, Microsoft Corporation https://www.microsoft.com/
Former Editor: Chris Cunningham, w3cid 114832, Google Inc. https://www.google.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>
Organization {#organization}
============================
This registry maintains a mapping between <a>codec strings</a> and registration
specifications as described below.
Registration Entry Requirements {#registration-entry-requirements}
==================================================================
To register an entry, file an issue in the
[WebCodecs GitHub issue tracker](https://github.com/w3c/webcodecs/issues/)
so it can be discussed and evaluated for compliance before being added to
the registry.
The Media Working Group might 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. For the entry to be included, there needs
to be interest from at least one implementer in the Working Group. If the Working Group
reaches consensus to accept the candidate entry, send a pull request (either by editors
or by the party requesting the candidate registration) that meets the following requirements:
1. A unique <a>codec string</a>, a common name string, and a
link to the codec's public <dfn>registration specification</dfn>.
2. The <a>codec string</a> requirements are as follows:
1. If the <a>codec string</a> 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}}
{{EncodedVideoChunk/[[type]]}}.
4. Where applicable, a registration specification may include a section describing [=partial dictionary|extensions to the dictionaries=] used in the `configure()`, `decode()` and `encode()` methods of the decoder and encoder interfaces (e.g., {{AudioDecoderConfig}}, {{VideoDecoderConfig}}, {{AudioEncoderConfig}}, {{VideoEncoderConfig}}, {{VideoEncoderEncodeOptions}}).
Once consensus is reached by the Working Group, the registry editors will review and merge the pull request.
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 <a>codec string</a> to better qualify the codec,
adjustments to the codec name string, and modification of the link to the
codec's specification.
Audio Codec Registry {#audio-codec-registry}
============================================
<table class='data'>
<thead>
<tr>
<th>Codec string</th>
<th>Common name</th>
<th>Registration specification</th>
</tr>
</thead>
<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-PCM-CODEC-REGISTRATION]]</td>
</tr>
</table>
Video Codec Registry {#video-codec-registry}
============================================
<table class='data'>
<thead>
<tr>
<th>Codec string</th>
<th>Common name</th>
<th>Registration specification</th>
</tr>
</thead>
<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.\*, avc3.\*</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>hev1.\*, hvc1.\*</td>
<td>HEVC / H.265</td>
<td>[HEVC (H.265) WebCodecs Registration](https://www.w3.org/TR/webcodecs-hevc-codec-registration/) [[WEBCODECS-HEVC-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 Considerations {#privacy-considerations}
==========================================================================
Please refer to the section [[WEBCODECS#privacy-considerations|Privacy
Considerations]] in [[WEBCODECS]].
Security Considerations {#security-considerations}
==========================================================================
Please refer to the section [[WEBCODECS#security-considerations|Security
Considerations]] in [[WEBCODECS]].