|
5 | 5 | <title>HEVC (H.265) WebCodecs Registration</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-hevc-codec-registration/" rel="canonical"> |
10 | | - <meta content="011346f5edde07d8d205ef493d820bf30a279163" name="revision"> |
| 10 | + <meta content="71fd3381db93c6a9b9cf3926b07a91ece8d031c6" 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 */ |
|
695 | 695 | <div class="head"> |
696 | 696 | <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> |
697 | 697 | <h1 class="p-name no-ref" id="title">HEVC (H.265) WebCodecs Registration</h1> |
698 | | - <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> |
| 698 | + <p id="w3c-state"><a href="https://www.w3.org/standards/types/#ED">Editor’s Draft</a>, <time class="dt-updated" datetime="2025-05-13">13 May 2025</time></p> |
699 | 699 | <details open> |
700 | 700 | <summary>More details about this document</summary> |
701 | 701 | <div data-fill-with="spec-metadata"> |
@@ -740,7 +740,7 @@ <h2 class="no-num no-toc no-ref heading settled" id="abstract"><span class="cont |
740 | 740 | </div> |
741 | 741 | <h2 class="no-num no-toc no-ref heading settled" id="sotd"><span class="content">Status of this document</span></h2> |
742 | 742 | <div data-fill-with="status"> |
743 | | - <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> |
| 743 | + <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> |
744 | 744 | <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:public-media-wg@w3.org">public-media-wg@w3.org</a> (<a href="https://lists.w3.org/Archives/Public/public-media-wg/">archives</a>). |
745 | 745 | This draft highlights some of the pending issues that are still to be discussed in the working group. |
746 | 746 | No decision has been taken on the outcome of these issues including whether they are valid. </p> |
@@ -795,19 +795,19 @@ <h2 class="no-num no-toc no-ref" id="contents">Table of Contents</h2> |
795 | 795 | <main> |
796 | 796 | <h2 class="heading settled" data-level="1" id="fully-qualified-codec-strings"><span class="secno">1. </span><span class="content">Fully qualified codec strings</span><a class="self-link" href="#fully-qualified-codec-strings"></a></h2> |
797 | 797 | <p>The codec string begins with the prefix "hev1." or "hvc1.", with a suffix of |
798 | | -four dot-separated fields as described in Section E.3 of <a data-link-type="biblio" href="#biblio-iso14496-15" title="ISO/IEC 14496-15:2019 Information technology — Coding of audio-visual objects — Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format">[iso14496-15]</a>.</p> |
| 798 | +four dot-separated fields as described in Section E.3 of <a data-link-type="biblio" href="#biblio-iso14496-15" title="ISO/IEC 14496-15:2024 Information technology — Coding of audio-visual objects — Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format">[iso14496-15]</a>.</p> |
799 | 799 | <h2 class="heading settled" data-level="2" id="encodedvideochunk-data"><span class="secno">2. </span><span class="content">EncodedVideoChunk data</span><a class="self-link" href="#encodedvideochunk-data"></a></h2> |
800 | 800 | <p><code class="idl"><a data-link-type="idl" href="https://w3c.github.io/webcodecs/#encodedvideochunk" id="ref-for-encodedvideochunk②">EncodedVideoChunk</a></code> <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/webcodecs/#dom-encodedvideochunk-internal-data-slot" id="ref-for-dom-encodedvideochunk-internal-data-slot①">[[internal data]]</a></code> is expected to be |
801 | 801 | an access unit as defined in <a data-link-type="biblio" href="#biblio-itu-t-rec-h265" title="H.265 : High efficiency video coding">[ITU-T-REC-H.265]</a> section 7.4.2.4.</p> |
802 | 802 | <p class="note" role="note"><span class="marker">NOTE:</span> An access unit contains exactly one base layer coded picture.</p> |
803 | 803 | <p>If the bitstream is in <code class="idl"><a data-link-type="idl" href="#dom-hevcbitstreamformat-hevc" id="ref-for-dom-hevcbitstreamformat-hevc">hevc</a></code> format, <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/webcodecs/#dom-encodedvideochunk-internal-data-slot" id="ref-for-dom-encodedvideochunk-internal-data-slot②">[[internal data]]</a></code> is assumed to be in canonical format, as |
804 | | -defined in <a data-link-type="biblio" href="#biblio-iso14496-15" title="ISO/IEC 14496-15:2019 Information technology — Coding of audio-visual objects — Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format">[iso14496-15]</a> section 8.3.2.</p> |
| 804 | +defined in <a data-link-type="biblio" href="#biblio-iso14496-15" title="ISO/IEC 14496-15:2024 Information technology — Coding of audio-visual objects — Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format">[iso14496-15]</a> section 8.3.2.</p> |
805 | 805 | <p>If the bitstream is in <code class="idl"><a data-link-type="idl" href="#dom-hevcbitstreamformat-annexb" id="ref-for-dom-hevcbitstreamformat-annexb">annexb</a></code> format, <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/webcodecs/#dom-encodedvideochunk-internal-data-slot" id="ref-for-dom-encodedvideochunk-internal-data-slot③">[[internal data]]</a></code> is assumed to be in Annex B format, |
806 | 806 | as defined in <a data-link-type="biblio" href="#biblio-itu-t-rec-h265" title="H.265 : High efficiency video coding">[ITU-T-REC-H.265]</a> Annex B.</p> |
807 | 807 | <p class="note" role="note"><span class="marker">NOTE:</span> Since <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/webcodecs/#dom-encodedvideochunk-internal-data-slot" id="ref-for-dom-encodedvideochunk-internal-data-slot④">[[internal data]]</a></code> is inherently byte-aligned, |
808 | 808 | implementations are not required to recover byte-alignment.</p> |
809 | 809 | <h2 class="heading settled" data-level="3" id="videodecoderconfig-description"><span class="secno">3. </span><span class="content">VideoDecoderConfig description</span><a class="self-link" href="#videodecoderconfig-description"></a></h2> |
810 | | - <p>If the <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/webcodecs/#dom-videodecoderconfig-description" id="ref-for-dom-videodecoderconfig-description①">description</a></code> is present, it is assumed to be an <code>HEVCDecoderConfigurationRecord</code>, as defined by <a data-link-type="biblio" href="#biblio-iso14496-15" title="ISO/IEC 14496-15:2019 Information technology — Coding of audio-visual objects — Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format">[iso14496-15]</a>, section |
| 810 | + <p>If the <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/webcodecs/#dom-videodecoderconfig-description" id="ref-for-dom-videodecoderconfig-description①">description</a></code> is present, it is assumed to be an <code>HEVCDecoderConfigurationRecord</code>, as defined by <a data-link-type="biblio" href="#biblio-iso14496-15" title="ISO/IEC 14496-15:2024 Information technology — Coding of audio-visual objects — Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format">[iso14496-15]</a>, section |
811 | 811 | 8.3.3.1, and the bitstream is assumed to be in <code class="idl"><a data-link-type="idl" href="#dom-hevcbitstreamformat-hevc" id="ref-for-dom-hevcbitstreamformat-hevc①">hevc</a></code> format.</p> |
812 | 812 | <p class="note" role="note"><span class="marker">NOTE:</span> This format is commonly used in .MP4 files, where the player generally |
813 | 813 | has random access to the media data.</p> |
@@ -869,7 +869,7 @@ <h3 class="heading settled" data-level="5.2" id="hevc-bitstream-format"><span cl |
869 | 869 | <dd> |
870 | 870 | Parameter sets are not included in the bitstream and are instead emitted |
871 | 871 | via the <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/webcodecs/#dom-videoencoder-output-callback-slot" id="ref-for-dom-videoencoder-output-callback-slot">[[output callback]]</a></code> as the <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/webcodecs/#dom-videodecoderconfig-description" id="ref-for-dom-videodecoderconfig-description④">description</a></code> of the <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/webcodecs/#dom-encodedvideochunkmetadata-decoderconfig" id="ref-for-dom-encodedvideochunkmetadata-decoderconfig">EncodedVideoChunkMetadata.decoderConfig</a></code>. |
872 | | - <p class="note" role="note"><span class="marker">NOTE:</span> This format is described in greater detail by <a data-link-type="biblio" href="#biblio-iso14496-15" title="ISO/IEC 14496-15:2019 Information technology — Coding of audio-visual objects — Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format">[iso14496-15]</a>, |
| 872 | + <p class="note" role="note"><span class="marker">NOTE:</span> This format is described in greater detail by <a data-link-type="biblio" href="#biblio-iso14496-15" title="ISO/IEC 14496-15:2024 Information technology — Coding of audio-visual objects — Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format">[iso14496-15]</a>, |
873 | 873 | section 8.3. This format is commonly used in .MP4 files, where the |
874 | 874 | player generally has random access to the media data.</p> |
875 | 875 | </dl> |
@@ -975,14 +975,14 @@ <h3 class="no-num no-ref heading settled" id="normative"><span class="content">N |
975 | 975 | <dt id="biblio-rfc2119">[RFC2119] |
976 | 976 | <dd>S. Bradner. <a href="https://datatracker.ietf.org/doc/html/rfc2119"><cite>Key words for use in RFCs to Indicate Requirement Levels</cite></a>. March 1997. Best Current Practice. URL: <a href="https://datatracker.ietf.org/doc/html/rfc2119">https://datatracker.ietf.org/doc/html/rfc2119</a> |
977 | 977 | <dt id="biblio-webcodecs">[WEBCODECS] |
978 | | - <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> |
| 978 | + <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> |
979 | 979 | <dt id="biblio-webidl">[WEBIDL] |
980 | 980 | <dd>Edgar Chen; Timothy Gu. <a href="https://webidl.spec.whatwg.org/"><cite>Web IDL Standard</cite></a>. Living Standard. URL: <a href="https://webidl.spec.whatwg.org/">https://webidl.spec.whatwg.org/</a> |
981 | 981 | </dl> |
982 | 982 | <h3 class="no-num no-ref heading settled" id="informative"><span class="content">Informative References</span><a class="self-link" href="#informative"></a></h3> |
983 | 983 | <dl> |
984 | 984 | <dt id="biblio-iso14496-15">[ISO14496-15] |
985 | | - <dd><a href="https://www.iso.org/standard/74429.html"><cite>ISO/IEC 14496-15:2019 Information technology — Coding of audio-visual objects — Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format</cite></a>. September 2019. URL: <a href="https://www.iso.org/standard/74429.html">https://www.iso.org/standard/74429.html</a> |
| 985 | + <dd><a href="https://www.iso.org/standard/89118.html"><cite>ISO/IEC 14496-15:2024 Information technology — Coding of audio-visual objects — Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format</cite></a>. October 2024. URL: <a href="https://www.iso.org/standard/89118.html">https://www.iso.org/standard/89118.html</a> |
986 | 986 | <dt id="biblio-itu-t-rec-h265">[ITU-T-REC-H.265] |
987 | 987 | <dd><a href="https://www.itu.int/rec/T-REC-H.265"><cite>H.265 : High efficiency video coding</cite></a>. August 2021. URL: <a href="https://www.itu.int/rec/T-REC-H.265">https://www.itu.int/rec/T-REC-H.265</a> |
988 | 988 | <dt id="biblio-webcodecs-codec-registry">[WEBCODECS-CODEC-REGISTRY] |
@@ -1723,7 +1723,12 @@ <h2 class="no-num no-ref heading settled" id="idl-index"><span class="content">I |
1723 | 1723 | function showRefHint(link) { |
1724 | 1724 | if(link.classList.contains("dfn-link")) return; |
1725 | 1725 | const url = link.getAttribute("href"); |
1726 | | - const ref = refsData[url]; |
| 1726 | + const refHintKey = link.getAttribute("data-refhint-key"); |
| 1727 | + let key = url; |
| 1728 | + if(refHintKey) { |
| 1729 | + key = refHintKey + "_" + url; |
| 1730 | + } |
| 1731 | + const ref = refsData[key]; |
1727 | 1732 | if(!ref) return; |
1728 | 1733 |
|
1729 | 1734 | hideAllRefHints(); // Only display one at this time. |
|
0 commit comments