|
5 | 5 | <title>WebCodecs Codec Registry</title> |
6 | 6 | <meta content="NOTE-ED" name="w3c-status"> |
7 | 7 | <link href="https://www.w3.org/StyleSheets/TR/2021/W3C-ED" rel="stylesheet"> |
8 | | - <meta content="Bikeshed version 97a1608be, updated Mon Feb 3 16:09:34 2025 -0800" name="generator"> |
| 8 | + <meta content="Bikeshed version b25686b9f, updated Fri Mar 14 14:15:20 2025 -0700" name="generator"> |
9 | 9 | <link href="https://www.w3.org/TR/webcodecs-codec-registry/" rel="canonical"> |
10 | | - <meta content="011346f5edde07d8d205ef493d820bf30a279163" name="revision"> |
| 10 | + <meta content="70892e0e707636452b701469533d14e5fc5eab12" name="revision"> |
11 | 11 | <meta content="dark light" name="color-scheme"> |
12 | 12 | <link href="https://www.w3.org/StyleSheets/TR/2021/dark.css" media="(prefers-color-scheme: dark)" rel="stylesheet" type="text/css"> |
13 | 13 | <style>/* Boilerplate: style-autolinks */ |
|
569 | 569 | <div class="head"> |
570 | 570 | <p data-fill-with="logo"><a class="logo" href="https://www.w3.org/"> <img alt="W3C" height="48" src="https://www.w3.org/StyleSheets/TR/2021/logos/W3C" width="72"> </a> </p> |
571 | 571 | <h1 class="p-name no-ref" id="title">WebCodecs Codec Registry</h1> |
572 | | - <p id="w3c-state"><a href="https://www.w3.org/standards/types/#ED">Editor’s Draft</a>, <time class="dt-updated" datetime="2025-02-12">12 February 2025</time></p> |
| 572 | + <p id="w3c-state"><a href="https://www.w3.org/standards/types/#ED">Editor’s Draft</a>, <time class="dt-updated" datetime="2025-05-14">14 May 2025</time></p> |
573 | 573 | <details open> |
574 | 574 | <summary>More details about this document</summary> |
575 | 575 | <div data-fill-with="spec-metadata"> |
@@ -614,7 +614,7 @@ <h2 class="no-num no-toc no-ref heading settled" id="abstract"><span class="cont |
614 | 614 | </div> |
615 | 615 | <h2 class="no-num no-toc no-ref heading settled" id="sotd"><span class="content">Status of this document</span></h2> |
616 | 616 | <div data-fill-with="status"> |
617 | | - <p> <em>This section describes the status of this document at the time of its publication. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision of this technical report can be found in the <a href="https://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at https://www.w3.org/TR/.</em> </p> |
| 617 | + <p> <em>This section describes the status of this document at the time of its publication. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision of this technical report can be found in the <a href="https://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> standards and drafts index</a> at https://www.w3.org/TR/.</em> </p> |
618 | 618 | <p> Feedback and comments on this specification are welcome. <a href=" https://github.com/w3c/webcodecs/issues" >GitHub Issues </a> are preferred for discussion on this specification. Alternatively, you can send comments to the Media Working Group’s mailing-list, <a href=" mailto:[email protected]" >[email protected]</a> ( <a href=" https://lists.w3.org/Archives/Public/public-media-wg/" >archives </a>). |
619 | 619 | This draft highlights some of the pending issues that are still to be discussed in the working group. |
620 | 620 | No decision has been taken on the outcome of these issues including whether they are valid. </p> |
@@ -650,18 +650,18 @@ <h2 class="no-num no-toc no-ref" id="contents">Table of Contents</h2> |
650 | 650 | </nav> |
651 | 651 | <main> |
652 | 652 | <h2 class="heading settled" data-level="1" id="organization"><span class="secno">1. </span><span class="content">Organization</span><a class="self-link" href="#organization"></a></h2> |
653 | | - <p>This registry maintains a mapping between codec strings and registration |
| 653 | + <p>This registry maintains a mapping between <a data-link-type="dfn" href="https://w3c.github.io/webcodecs/#codec-string" id="ref-for-codec-string">codec strings</a> and registration |
654 | 654 | specifications as described below.</p> |
655 | 655 | <h2 class="heading settled" data-level="2" id="registration-entry-requirements"><span class="secno">2. </span><span class="content">Registration Entry Requirements</span><a class="self-link" href="#registration-entry-requirements"></a></h2> |
656 | 656 | <ol> |
657 | 657 | <li data-md> |
658 | | - <p>Each entry must include a unique codec string, a common name string, and a |
| 658 | + <p>Each entry must include a unique <a data-link-type="dfn" href="https://w3c.github.io/webcodecs/#codec-string" id="ref-for-codec-string①">codec string</a>, a common name string, and a |
659 | 659 | link to the codec’s specification.</p> |
660 | 660 | <li data-md> |
661 | | - <p>The codec string must be crafted as follows:</p> |
| 661 | + <p>The <a data-link-type="dfn" href="https://w3c.github.io/webcodecs/#codec-string" id="ref-for-codec-string②">codec string</a> must be crafted as follows:</p> |
662 | 662 | <ol> |
663 | 663 | <li data-md> |
664 | | - <p>If the codec string contains a fixed prefix with variable suffix values, |
| 664 | + <p>If the <a data-link-type="dfn" href="https://w3c.github.io/webcodecs/#codec-string" id="ref-for-codec-string③">codec string</a> contains a fixed prefix with variable suffix values, |
665 | 665 | the suffix must be represented by an asterisk and the registration’s |
666 | 666 | public specification must describe how to fully qualify the variable |
667 | 667 | portion of the string.</p> |
@@ -701,7 +701,7 @@ <h2 class="heading settled" data-level="2" id="registration-entry-requirements"> |
701 | 701 | <li data-md> |
702 | 702 | <p>Existing entries cannot be deleted or deprecated. They may be changed after |
703 | 703 | being published through the same process as candidate entries. Possible |
704 | | -changes include expansion of the codec string to better qualify the codec, |
| 704 | +changes include expansion of the <a data-link-type="dfn" href="https://w3c.github.io/webcodecs/#codec-string" id="ref-for-codec-string④">codec string</a> to better qualify the codec, |
705 | 705 | adjustments to the codec name string, and modification of the link to the |
706 | 706 | codec’s specification.</p> |
707 | 707 | </ol> |
@@ -801,42 +801,43 @@ <h3 class="no-num no-ref heading settled" id="index-defined-elsewhere"><span cla |
801 | 801 | <li><span class="dfn-paneled" id="8d8392c1">VideoDecoderConfig</span> |
802 | 802 | <li><span class="dfn-paneled" id="4c67f0b7">VideoEncoderConfig</span> |
803 | 803 | <li><span class="dfn-paneled" id="89df1b66">[[type]]</span> |
| 804 | + <li><span class="dfn-paneled" id="d8757731">Codec String</span> |
804 | 805 | </ul> |
805 | 806 | </ul> |
806 | 807 | <h2 class="no-num no-ref heading settled" id="references"><span class="content">References</span><a class="self-link" href="#references"></a></h2> |
807 | 808 | <h3 class="no-num no-ref heading settled" id="normative"><span class="content">Normative References</span><a class="self-link" href="#normative"></a></h3> |
808 | 809 | <dl> |
809 | 810 | <dt id="biblio-webcodecs">[WEBCODECS] |
810 | | - <dd>Paul Adenot; Bernard Aboba; Eugene Zemtsov. <a href="https://w3c.github.io/webcodecs/"><cite>WebCodecs</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/">https://w3c.github.io/webcodecs/</a> |
| 811 | + <dd>Paul Adenot; Eugene Zemtsov. <a href="https://w3c.github.io/webcodecs/"><cite>WebCodecs</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/">https://w3c.github.io/webcodecs/</a> |
811 | 812 | </dl> |
812 | 813 | <h3 class="no-num no-ref heading settled" id="informative"><span class="content">Informative References</span><a class="self-link" href="#informative"></a></h3> |
813 | 814 | <dl> |
814 | 815 | <dt id="biblio-webcodecs-aac-codec-registration">[WEBCODECS-AAC-CODEC-REGISTRATION] |
815 | | - <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/aac_codec_registration.html"><cite>AAC WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/aac_codec_registration.html">https://w3c.github.io/webcodecs/aac_codec_registration.html</a> |
| 816 | + <dd>Paul Adenot; Eugene Zemtsov. <a href="https://w3c.github.io/webcodecs/aac_codec_registration.html"><cite>AAC WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/aac_codec_registration.html">https://w3c.github.io/webcodecs/aac_codec_registration.html</a> |
816 | 817 | <dt id="biblio-webcodecs-alaw-codec-registration">[WEBCODECS-ALAW-CODEC-REGISTRATION] |
817 | 818 | <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/alaw_codec_registration.html"><cite>A-law PCM WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/alaw_codec_registration.html">https://w3c.github.io/webcodecs/alaw_codec_registration.html</a> |
818 | 819 | <dt id="biblio-webcodecs-av1-codec-registration">[WEBCODECS-AV1-CODEC-REGISTRATION] |
819 | | - <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/av1_codec_registration.html"><cite>AV1 WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/av1_codec_registration.html">https://w3c.github.io/webcodecs/av1_codec_registration.html</a> |
| 820 | + <dd>Paul Adenot; Eugene Zemtsov. <a href="https://w3c.github.io/webcodecs/av1_codec_registration.html"><cite>AV1 WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/av1_codec_registration.html">https://w3c.github.io/webcodecs/av1_codec_registration.html</a> |
820 | 821 | <dt id="biblio-webcodecs-avc-codec-registration">[WEBCODECS-AVC-CODEC-REGISTRATION] |
821 | | - <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/avc_codec_registration.html"><cite>AVC (H.264) WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/avc_codec_registration.html">https://w3c.github.io/webcodecs/avc_codec_registration.html</a> |
| 822 | + <dd>Paul Adenot; Eugene Zemtsov. <a href="https://w3c.github.io/webcodecs/avc_codec_registration.html"><cite>AVC (H.264) WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/avc_codec_registration.html">https://w3c.github.io/webcodecs/avc_codec_registration.html</a> |
822 | 823 | <dt id="biblio-webcodecs-flac-codec-registration">[WEBCODECS-FLAC-CODEC-REGISTRATION] |
823 | | - <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/flac_codec_registration.html"><cite>FLAC WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/flac_codec_registration.html">https://w3c.github.io/webcodecs/flac_codec_registration.html</a> |
| 824 | + <dd>Paul Adenot; Eugene Zemtsov. <a href="https://w3c.github.io/webcodecs/flac_codec_registration.html"><cite>FLAC WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/flac_codec_registration.html">https://w3c.github.io/webcodecs/flac_codec_registration.html</a> |
824 | 825 | <dt id="biblio-webcodecs-hevc-codec-registration">[WEBCODECS-HEVC-CODEC-REGISTRATION] |
825 | | - <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/hevc_codec_registration.html"><cite>HEVC (H.265) WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/hevc_codec_registration.html">https://w3c.github.io/webcodecs/hevc_codec_registration.html</a> |
| 826 | + <dd>Paul Adenot; Eugene Zemtsov. <a href="https://w3c.github.io/webcodecs/hevc_codec_registration.html"><cite>HEVC (H.265) WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/hevc_codec_registration.html">https://w3c.github.io/webcodecs/hevc_codec_registration.html</a> |
826 | 827 | <dt id="biblio-webcodecs-mp3-codec-registration">[WEBCODECS-MP3-CODEC-REGISTRATION] |
827 | 828 | <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/mp3_codec_registration.html"><cite>MP3 WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/mp3_codec_registration.html">https://w3c.github.io/webcodecs/mp3_codec_registration.html</a> |
828 | 829 | <dt id="biblio-webcodecs-opus-codec-registration">[WEBCODECS-OPUS-CODEC-REGISTRATION] |
829 | | - <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/opus_codec_registration.html"><cite>Opus WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/opus_codec_registration.html">https://w3c.github.io/webcodecs/opus_codec_registration.html</a> |
| 830 | + <dd>Paul Adenot; Eugene Zemtsov. <a href="https://w3c.github.io/webcodecs/opus_codec_registration.html"><cite>Opus WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/opus_codec_registration.html">https://w3c.github.io/webcodecs/opus_codec_registration.html</a> |
830 | 831 | <dt id="biblio-webcodecs-pcm-codec-registration">[WEBCODECS-PCM-CODEC-REGISTRATION] |
831 | 832 | <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/pcm_codec_registration.html"><cite>Linear PCM WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/pcm_codec_registration.html">https://w3c.github.io/webcodecs/pcm_codec_registration.html</a> |
832 | 833 | <dt id="biblio-webcodecs-ulaw-codec-registration">[WEBCODECS-ULAW-CODEC-REGISTRATION] |
833 | | - <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/ulaw_codec_registration.html"><cite>u-law PCM WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/ulaw_codec_registration.html">https://w3c.github.io/webcodecs/ulaw_codec_registration.html</a> |
| 834 | + <dd>Paul Adenot; Eugene Zemtsov. <a href="https://w3c.github.io/webcodecs/ulaw_codec_registration.html"><cite>u-law PCM WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/ulaw_codec_registration.html">https://w3c.github.io/webcodecs/ulaw_codec_registration.html</a> |
834 | 835 | <dt id="biblio-webcodecs-vorbis-codec-registration">[WEBCODECS-VORBIS-CODEC-REGISTRATION] |
835 | 836 | <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/vorbis_codec_registration.html"><cite>Vorbis WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/vorbis_codec_registration.html">https://w3c.github.io/webcodecs/vorbis_codec_registration.html</a> |
836 | 837 | <dt id="biblio-webcodecs-vp8-codec-registration">[WEBCODECS-VP8-CODEC-REGISTRATION] |
837 | 838 | <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/vp8_codec_registration.html"><cite>VP8 WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/vp8_codec_registration.html">https://w3c.github.io/webcodecs/vp8_codec_registration.html</a> |
838 | 839 | <dt id="biblio-webcodecs-vp9-codec-registration">[WEBCODECS-VP9-CODEC-REGISTRATION] |
839 | | - <dd>Paul Adenot; Bernard Aboba. <a href="https://w3c.github.io/webcodecs/vp9_codec_registration.html"><cite>VP9 WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/vp9_codec_registration.html">https://w3c.github.io/webcodecs/vp9_codec_registration.html</a> |
| 840 | + <dd>Paul Adenot; Eugene Zemtsov. <a href="https://w3c.github.io/webcodecs/vp9_codec_registration.html"><cite>VP9 WebCodecs Registration</cite></a>. URL: <a href="https://w3c.github.io/webcodecs/vp9_codec_registration.html">https://w3c.github.io/webcodecs/vp9_codec_registration.html</a> |
840 | 841 | </dl> |
841 | 842 | <script>/* Boilerplate: script-dom-helper */ |
842 | 843 | "use strict"; |
@@ -1044,6 +1045,7 @@ <h3 class="no-num no-ref heading settled" id="informative"><span class="content" |
1044 | 1045 | "89df1b66": {"dfnID":"89df1b66","dfnText":"[[type]]","external":true,"refSections":[{"refs":[{"id":"ref-for-dom-encodedvideochunk-type-slot"}],"title":"2. Registration Entry Requirements"}],"url":"https://w3c.github.io/webcodecs/#dom-encodedvideochunk-type-slot"}, |
1045 | 1046 | "8d8392c1": {"dfnID":"8d8392c1","dfnText":"VideoDecoderConfig","external":true,"refSections":[{"refs":[{"id":"ref-for-dictdef-videodecoderconfig"}],"title":"2. Registration Entry Requirements"}],"url":"https://w3c.github.io/webcodecs/#dictdef-videodecoderconfig"}, |
1046 | 1047 | "c3b0b371": {"dfnID":"c3b0b371","dfnText":"AudioEncoderConfig","external":true,"refSections":[{"refs":[{"id":"ref-for-dictdef-audioencoderconfig"}],"title":"2. Registration Entry Requirements"}],"url":"https://w3c.github.io/webcodecs/#dictdef-audioencoderconfig"}, |
| 1048 | +"d8757731": {"dfnID":"d8757731","dfnText":"Codec String","external":true,"refSections":[{"refs":[{"id":"ref-for-codec-string"}],"title":"1. Organization"},{"refs":[{"id":"ref-for-codec-string\u2460"},{"id":"ref-for-codec-string\u2461"},{"id":"ref-for-codec-string\u2462"},{"id":"ref-for-codec-string\u2463"}],"title":"2. Registration Entry Requirements"}],"url":"https://w3c.github.io/webcodecs/#codec-string"}, |
1047 | 1049 | "ddafb265": {"dfnID":"ddafb265","dfnText":"EncodedAudioChunk","external":true,"refSections":[{"refs":[{"id":"ref-for-encodedaudiochunk"},{"id":"ref-for-encodedaudiochunk\u2460"}],"title":"2. Registration Entry Requirements"}],"url":"https://w3c.github.io/webcodecs/#encodedaudiochunk"}, |
1048 | 1050 | }; |
1049 | 1051 |
|
@@ -1433,6 +1435,7 @@ <h3 class="no-num no-ref heading settled" id="informative"><span class="content" |
1433 | 1435 | "use strict"; |
1434 | 1436 | { |
1435 | 1437 | let refsData = { |
| 1438 | +"https://w3c.github.io/webcodecs/#codec-string": {"displayText":"Codec String","export":true,"for_":[],"level":"1","normative":true,"shortname":"webcodecs","spec":"webcodecs","status":"current","text":"codec string","type":"dfn","url":"https://w3c.github.io/webcodecs/#codec-string"}, |
1436 | 1439 | "https://w3c.github.io/webcodecs/#dictdef-audiodecoderconfig": {"displayText":"AudioDecoderConfig","export":true,"for_":[],"level":"1","normative":true,"shortname":"webcodecs","spec":"webcodecs","status":"current","text":"AudioDecoderConfig","type":"dictionary","url":"https://w3c.github.io/webcodecs/#dictdef-audiodecoderconfig"}, |
1437 | 1440 | "https://w3c.github.io/webcodecs/#dictdef-audioencoderconfig": {"displayText":"AudioEncoderConfig","export":true,"for_":[],"level":"1","normative":true,"shortname":"webcodecs","spec":"webcodecs","status":"current","text":"AudioEncoderConfig","type":"dictionary","url":"https://w3c.github.io/webcodecs/#dictdef-audioencoderconfig"}, |
1438 | 1441 | "https://w3c.github.io/webcodecs/#dictdef-videodecoderconfig": {"displayText":"VideoDecoderConfig","export":true,"for_":[],"level":"1","normative":true,"shortname":"webcodecs","spec":"webcodecs","status":"current","text":"VideoDecoderConfig","type":"dictionary","url":"https://w3c.github.io/webcodecs/#dictdef-videodecoderconfig"}, |
@@ -1521,7 +1524,12 @@ <h3 class="no-num no-ref heading settled" id="informative"><span class="content" |
1521 | 1524 | function showRefHint(link) { |
1522 | 1525 | if(link.classList.contains("dfn-link")) return; |
1523 | 1526 | const url = link.getAttribute("href"); |
1524 | | - const ref = refsData[url]; |
| 1527 | + const refHintKey = link.getAttribute("data-refhint-key"); |
| 1528 | + let key = url; |
| 1529 | + if(refHintKey) { |
| 1530 | + key = refHintKey + "_" + url; |
| 1531 | + } |
| 1532 | + const ref = refsData[key]; |
1525 | 1533 | if(!ref) return; |
1526 | 1534 |
|
1527 | 1535 | hideAllRefHints(); // Only display one at this time. |
|
0 commit comments