diff --git a/index.html b/index.html index 40ccf97..e25a2bf 100644 --- a/index.html +++ b/index.html @@ -65,8 +65,7 @@
- The term "simulcast envelope" refers to the maximum number of - simulcast streams and the order of the encoding parameters. + The term "simulcast envelope" is defined in [[!WEBRTC]] Section 5.4.1.
This specification references objects, methods, internal slots @@ -276,19 +275,22 @@
+ The [="L1T1"=] scalability mode enables SVC encoding to be turned off + using {{RTCRtpSender/setParameters()}}. If [="L1T1"=] is set using + {{RTCRtpSender/setParameters()}} then it will be returned in response + to {{RTCRtpSender/getParameters()}}. +
- The SVC capabilities of an encoder can be discovered using - extensions to the {{RTCRtpCodecCapability}} dictionary. -
-- {{RTCRtpSender.getCapabilities(kind)}} provides information on what - codecs and scalability modes and scalability modes an application can send. + The [[?Media-Capabilities]] API provides information on encoder support + for spatial scalability modes. {{VideoConfiguration//scalabilityMode}} is + used to query whether an encoder has the ability to support this mode. The SFM can provide information on the codecs and scalability modes it can decode by providing its receiver capabilities. @@ -301,7 +303,7 @@
- The [[?Media-Capabilities]] API provides information on decoder support + The [[?Media-Capabilities]] API also provides information on decoder support for spatial scalablity modes. {{VideoConfiguration/spatialScalability}} indicates whether a decoder has the ability to support spatial prediction, which requires the ability to use frames of a resolution different than @@ -313,42 +315,6 @@
partial dictionary RTCRtpCodecCapability { - sequence<DOMString> scalabilityModes; -};-
sequence<{{DOMString}}>
- A sequence of the scalability modes (defined in Section 6) supported by the encoder - implementation. -
-- In response to {{RTCRtpSender.getCapabilities(kind)}}, implementations of this - specification MUST return a sequence of scalability modes supported by each codec - of that kind. If a codec does not support encoding of scalability modes - other than [="L1T1"=], then the {{scalabilityModes}} member is not provided. The - [="L1T1"=] scalability mode enables SVC encoding to be turned off using - {{RTCRtpSender/setParameters()}}, so that it MUST be included within the sequence - of scalability modes returned by {{RTCRtpSender.getCapabilities(kind)}} in order - for it to be considered valid within {{RTCRtpSender/setParameters()}}. If [="L1T1"=] - is set using {{RTCRtpSender/setParameters()}} then it will be returned in response - to {{RTCRtpSender/getParameters()}}. -
-- In response to {{RTCRtpReceiver.getCapabilities(kind)}}, {{scalabilityModes}} are not provided. -
-@@ -378,14 +344,14 @@
For an SFM the supported - {{RTCRtpCodecCapability/scalabilityModes}} may depend on the negotiated RTP header - extensions. For example, if the SFM + {{RTCRtpEncodingParameters/scalabilityMode}} values may depend on the negotiated RTP + header extensions. For example, if the SFM 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]]) could be a prerequisite for the SFM - to forward {{RTCRtpCodecCapability/scalabilityModes}}. As a result, the - {{RTCRtpCodecCapability/scalabilityModes}} supported by an + to forward a {{RTCRtpEncodingParameters/scalabilityMode}} value. As a result, + the {{RTCRtpEncodingParameters/scalabilityMode}} values supported by an SFM may not be determined until completion of the Offer/Answer negotiation.
@@ -394,19 +360,19 @@- The scalability modes supported in this specification, as well as their associated - identifiers and characteristics, are provided in the table below. The names of the - scability modes (which are case sensitive) are provided, along with the scalability - mode identifiers assigned in [[?AV1]] Section 6.7.5, and links to dependency diagrams - provided in Section 9. + The {{RTCRtpEncodingParameters/scalabilityMode}} values supported in this specification, + as well as their associated identifiers and characteristics, are provided in the table + below. The names of the {{RTCRtpEncodingParameters/scalabilityMode}} values (which are + case sensitive) are provided, along with the scalability mode identifiers assigned in + [[?AV1]] Section 6.7.5, and links to dependency diagrams provided in Section 9.
- While the [[?AV1]] and VP9 [[?VP9]] specifications support all the modes - defined in the table, other codec specifications do not. For example, VP8 - [[?RFC6386]] only supports temporal scalability (e.g. [="L1T2"=], [="L1T3"=]); H.264/SVC - [[?RFC6190]], which supports both temporal and spatial scalability, only permits - transport of simulcast on distinct SSRCs, so that it does not support the - "S" modes, where multiple encodings are transported on a single RTP stream. + While the [[?AV1]] and VP9 [[?VP9]] specifications support all the + {{RTCRtpEncodingParameters/scalabilityMode}} values defined in the table, other codec + specifications do not. For example, VP8 [[?RFC6386]] only supports temporal scalability + (e.g. [="L1T2"=], [="L1T3"=]); H.264/SVC [[?RFC6190]], which supports both temporal and + spatial scalability, only permits transport of simulcast on distinct SSRCs, so that it + does not support "S" modes, where multiple encodings are transported on a single RTP stream.
"L1T1" | +"L1T1" | 1 | 1 | @@ -429,7 +395,7 @@N/A | |
"L1T2" | +"L1T2" | 1 | 2 | @@ -437,7 +403,7 @@SCALABILITY_L1T2 | |
"L1T3" | +"L1T3" | 1 | 3 | @@ -445,7 +411,7 @@SCALABILITY_L1T3 | |
"L2T1" | +"L2T1" | 2 | 2:1 | 1 | @@ -453,7 +419,7 @@SCALABILITY_L2T1 |
"L2T2" | +"L2T2" | 2 | 2:1 | 2 | @@ -461,7 +427,7 @@SCALABILITY_L2T2 |
"L2T3" | +"L2T3" | 2 | 2:1 | 3 | @@ -469,7 +435,7 @@SCALABILITY_L2T3 |
"L3T1" | +"L3T1" | 3 | 2:1 | 1 | @@ -477,7 +443,7 @@SCALABILITY_L3T1 |
"L3T2" | +"L3T2" | 3 | 2:1 | 2 | @@ -485,7 +451,7 @@SCALABILITY_L3T2 |
"L3T3" | +"L3T3" | 3 | 2:1 | 3 | @@ -493,7 +459,7 @@SCALABILITY_L3T3 |
"L2T1h" | +"L2T1h" | 2 | 1.5:1 | 1 | @@ -501,7 +467,7 @@SCALABILITY_L2T1h |
"L2T2h" | +"L2T2h" | 2 | 1.5:1 | 2 | @@ -509,7 +475,7 @@SCALABILITY_L2T2h |
"L2T3h" | +"L2T3h" | 2 | 1.5:1 | 3 | @@ -517,7 +483,7 @@SCALABILITY_L2T3h |
"S2T1" | +"S2T1" | 2 | 2:1 | 1 | @@ -525,7 +491,7 @@SCALABILITY_S2T1 |
"S2T2" | +"S2T2" | 2 | 2:1 | 2 | @@ -533,7 +499,7 @@SCALABILITY_S2T2 |
"S2T3" | +"S2T3" | 2 | 2:1 | 3 | @@ -541,7 +507,7 @@SCALABILITY_S2T3 |
"S2T1h" | +"S2T1h" | 2 | 1.5:1 | 1 | @@ -549,7 +515,7 @@SCALABILITY_S2T1h |
"S2T2h" | +"S2T2h" | 2 | 1.5:1 | 2 | @@ -557,7 +523,7 @@SCALABILITY_S2T2h |
"S2T3h" | +"S2T3h" | 2 | 1.5:1 | 3 | @@ -565,7 +531,7 @@SCALABILITY_S2T3h |
"S3T1" | +"S3T1" | 3 | 2:1 | 1 | @@ -573,7 +539,7 @@SCALABILITY_S3T1 |
"S3T2" | +"S3T2" | 3 | 2:1 | 2 | @@ -581,7 +547,7 @@SCALABILITY_S3T2 |
"S3T3" | +"S3T3" | 3 | 2:1 | 3 | @@ -589,7 +555,7 @@SCALABILITY_S3T3 |
"S3T1h" | +"S3T1h" | 3 | 1.5:1 | 1 | @@ -597,7 +563,7 @@SCALABILITY_S3T1h |
"S3T2h" | +"S3T2h" | 3 | 1.5:1 | 2 | @@ -605,7 +571,7 @@SCALABILITY_S3T2h |
"S3T3h" | +"S3T3h" | 3 | 1.5:1 | 3 | @@ -613,7 +579,7 @@SCALABILITY_S3T3h |
"L2T2_KEY" | +"L2T2_KEY" | 2 | 2:1 | 2 | @@ -621,7 +587,7 @@SCALABILITY_L3T2_KEY |
"L2T2_KEY_SHIFT" | +"L2T2_KEY_SHIFT" | 2 | 2:1 | 2 | @@ -629,7 +595,7 @@SCALABILITY_L3T2_KEY_SHIFT |
"L2T3_KEY" | +"L2T3_KEY" | 2 | 2:1 | 3 | @@ -637,7 +603,7 @@SCALABILITY_L3T3_KEY |
"L2T3_KEY_SHIFT" | +"L2T3_KEY_SHIFT" | 2 | 2:1 | 3 | @@ -645,7 +611,7 @@SCALABILITY_L3T3_KEY_SHIFT |
"L3T2_KEY" | +"L3T2_KEY" | 3 | 2:1 | 2 | @@ -653,7 +619,7 @@SCALABILITY_L4T5_KEY |
"L3T2_KEY_SHIFT" | +"L3T2_KEY_SHIFT" | 3 | 2:1 | 2 | @@ -661,7 +627,7 @@SCALABILITY_L4T5_KEY_SHIFT |
"L3T3_KEY" | +"L3T3_KEY" | 3 | 2:1 | 3 | @@ -669,7 +635,7 @@SCALABILITY_L4T7_KEY |
"L3T3_KEY_SHIFT" | +"L3T3_KEY_SHIFT" | 3 | 2:1 | 3 | @@ -704,7 +670,7 @@