Skip to content

Commit

Permalink
Merge pull request #98 from fippo/no-custom-av1
Browse files Browse the repository at this point in the history
Use canonical AV1-RTP-SPEC reference
  • Loading branch information
aboba authored Jan 24, 2024
2 parents 837bef9 + 4fb0a54 commit c06eaa0
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 27 deletions.
36 changes: 18 additions & 18 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ <h2>Introduction</h2>
<section>
<h2>Terminology</h2>
<p>
The term "simulcast envelope" is defined in [[!WEBRTC]] Section 5.4.1.
The term "simulcast envelope" is defined in [[!WEBRTC]] Section 5.4.1.
</p>
<p>
This specification references objects, methods, internal slots
Expand All @@ -84,10 +84,10 @@ <h2>Terminology</h2>
synchronization source (SSRC). The term "Multiple RTP stream Single
Transport" (<dfn>MRST</dfn>), also defined in [[RFC7656]] Section 3.7,
refers to implementations that transmit all layers within a single
transport, using multiple RTP streams with a distinct SSRC for each layer.
transport, using multiple RTP streams with a distinct SSRC for each layer.
This specification only supports <a>SRST</a>, not <a>MRST</a>. Codecs
with RTP payload specifications supporting <a>SRST</a> include VP8
[[?RFC7741]], VP9 [[?VP9-PAYLOAD]], AV1 [[?AV1-RTP]] and H.264/SVC
[[?RFC7741]], VP9 [[?VP9-PAYLOAD]], AV1 [[?AV1-RTP-SPEC]] and H.264/SVC
[[?RFC6190]].
</p>
<p>
Expand All @@ -104,8 +104,8 @@ <h2>Terminology</h2>
<section id="configuration">
<h2>Configuration</h2>
<p>
This specification enables the configuration of encoding parameters for SVC
by extending the {{RTCRtpEncodingParameters}} dictionary.
This specification enables the configuration of encoding parameters for SVC
by extending the {{RTCRtpEncodingParameters}} dictionary.
</p>
<section id="rtcrtpencodingparameters">
<h3>{{RTCRtpEncodingParameters}} Dictionary Extensions</h3>
Expand Down Expand Up @@ -139,7 +139,7 @@ <h2>Behavior</h2>
due to an unsupported encoding parameter, as well as other errors.
Implementations utilize {{RTCError}} and other errors
in the prescribed manner when an invalid
{{RTCRtpEncodingParameters/scalabilityMode}} value is provided to
{{RTCRtpEncodingParameters/scalabilityMode}} value is provided to
{{RTCRtpSender/setParameters()}} or {{RTCPeerConnection/addTransceiver()}}.
</p>
<section id="addTransceiver">
Expand All @@ -159,7 +159,7 @@ <h3>{{RTCPeerConnection/addTransceiver()}}</h3>
</li>
<li>
Else if <var>sendEncodings</var> contains any encoding whose
{{RTCRtpEncodingParameters/scalabilityMode}} value is
{{RTCRtpEncodingParameters/scalabilityMode}} value is
not supported by any codec in the [=RTCRtpSender/list of implemented send codecs=]
for <var>kind</var>, [= exception/throw =] an {{OperationError}}.
</li>
Expand Down Expand Up @@ -209,7 +209,7 @@ <h3>{{RTCPeerConnection/addTransceiver()}}</h3>
simulcast encodings with multiple SSRCs and RIDs, or
alternatively, to send all simulcast encodings on a single
RTP stream. Simultaneously using both simulcast transport
techniques is not permitted.
techniques is not permitted.
</p>
</section>
<section id="setparameters">
Expand All @@ -229,7 +229,7 @@ <h3>{{RTCRtpSender/setParameters()}}</h3>
<li>
Else if <var>sender</var>.{{RTCRtpSender/[[SendCodecs]]}} [=map/is empty=]
and <var>encodings</var> contains any encoding whose
{{RTCRtpEncodingParameters/scalabilityMode}} value is
{{RTCRtpEncodingParameters/scalabilityMode}} value is
not supported by any codec in the
[=RTCRtpSender/list of implemented send codecs=] for <var>kind</var>.
</li>
Expand Down Expand Up @@ -288,7 +288,7 @@ <h3>{{RTCRtpSender/getParameters()}}</h3>
</p>
<p>
If {{RTCPeerConnection/addTransceiver()}} or {{RTCRtpSender/setParameters()}}
did not provide a {{RTCRtpEncodingParameters/scalabilityMode}} value for
did not provide a {{RTCRtpEncodingParameters/scalabilityMode}} value for
an encoding in <var>encodings</var>, then after the initial negotiation
has completed, {{RTCRtpSender/getParameters()}} will not return a
{{RTCRtpEncodingParameters/scalabilityMode}} value and the encoder will use
Expand Down Expand Up @@ -369,7 +369,7 @@ <h2>Negotiation with an SFM</h2>
header extensions. For example, if the <a title="Selective Forwarding Middlebox">SFM</a>
cannot parse codec payloads (either because it is not designed to do so, or
because the payloads are encrypted), then negotiation of an RTP header extension
(such as the AV1 Dependency Descriptor defined in Appendix A of [[?AV1-RTP]])
(such as the AV1 Dependency Descriptor defined in Appendix A of [[?AV1-RTP-SPEC]])
could be a prerequisite for the <a title="Selective Forwarding Middlebox">SFM</a>
to forward a {{RTCRtpEncodingParameters/scalabilityMode}} value. As a result,
the {{RTCRtpEncodingParameters/scalabilityMode}} values supported by an
Expand Down Expand Up @@ -724,7 +724,7 @@ <h3>Guidelines for addition of {{RTCRtpEncodingParameters/scalabilityMode}} valu
</li>
<li>
A dependency diagram MUST be supplied, in the format provided in Section 10.
</li>
</li>
</ol>
</section>
</section>
Expand Down Expand Up @@ -769,7 +769,7 @@ <h4>Spatial Simulcast and Temporal Scalability</h4>
{rid: 'q', scaleResolutionDownBy: 4.0, scalabilityMode: 'L1T3'},
{rid: 'h', scaleResolutionDownBy: 2.0, scalabilityMode: 'L1T3'},
{rid: 'f', scalabilityMode: 'L1T3'}
]
]
});
} catch (err) {
console.error(err);
Expand All @@ -795,15 +795,15 @@ <h4>Spatial Simulcast and Temporal Scalability</h4>
</pre>
<p>
This is an example with two spatial layers (with a 2:1 ratio) and three temporal layers.
</p>
</p>
<pre class="example highlight">
let sendEncodings = [
{scalabilityMode: 'L2T3'}
];
</pre>
<p>
This is an example of mixed codec simulcast, with each simulcast layer having 3 temporal layers.
</p>
</p>
<pre class="example highlight">
let sendEncodings = [
{rid: 'q', codec: {clockRate: 90000, mimeType: 'video/AV1'}, scaleResolutionDownBy: 4.0, scalabilityMode: 'L1T3'},
Expand All @@ -813,11 +813,11 @@ <h4>Spatial Simulcast and Temporal Scalability</h4>
</pre>
<p>
This is an example with three spatial simulcast layers each with three temporal layers on a single SSRC.
</p>
</p>
<pre class="example highlight">
let sendEncodings = [
{scalabilityMode: 'S3T3'}
]
]
</pre>
</section>
<section id="media-capabilities-example*" class="informative">
Expand Down Expand Up @@ -923,7 +923,7 @@ <h2>Persistent information</h2>
whether it is expected to be "smooth" and "power efficient".
As a result, this specification does not extend the
fingerprinting surface.
</p>
</p>
Support for SVC encoding in hardware is not yet widely
available. While some hardware supports encoding
of the "L1T2" and "L1T3"
Expand Down
9 changes: 0 additions & 9 deletions svc-respec-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,6 @@ var respecConfig = {
"href": "https://www.iana.org/assignments/stun-parameters/stun-parameters.xhtml#stun-parameters-6",
"publisher": "IANA"
},
"AV1-RTP": {
"title": "RTP Payload Format for AV1",
"href": "https://aomediacodec.github.io/av1-rtp-spec/",
"authors": [
"AV1 RTC SG"
],
"status": "Standard",
"publisher": "Alliance for Open Media"
},
"RFC7667": {
"title": "RTP Topologies",
"href": "https://datatracker.ietf.org/doc/html/rfc7667",
Expand Down

0 comments on commit c06eaa0

Please sign in to comment.