From 3a825ef4fc4f9291184f878198f5a5575eeedbf7 Mon Sep 17 00:00:00 2001 From: Bernard Aboba Date: Thu, 9 May 2024 09:22:32 -0700 Subject: [PATCH] Remove Discovery Section Move Section 5 to Privacy Considerations and Section 5.1 to Section 4.2.4. --- index.html | 81 +++++++++++++++++++++++++++++------------------------- 1 file changed, 44 insertions(+), 37 deletions(-) diff --git a/index.html b/index.html index aa83569..01b2807 100644 --- a/index.html +++ b/index.html @@ -125,7 +125,7 @@

Dictionary {{RTCRtpEncodingParameters}} Members

A case-sensitive identifier of the scalability mode to be used for this stream. Scalability modes are defined in - Section 6. + Section 5.

@@ -302,40 +302,25 @@

{{RTCRtpSender/getParameters()}}

temporal scalability modes (e.g. [="L1T1"=],[="L1T2"=],[="L1T3"=], etc.).

- - -
-

Discovery

-

- The [[?Media-Capabilities]] API enables discovery of encoder and decoder - support for scalable video coding. {{VideoConfiguration//scalabilityMode}} - is used to query whether an encoder supports a particular - {{RTCRtpEncodingParameters/scalabilityMode}} value. The API indicates - whether the {{RTCRtpEncodingParameters/scalabilityMode}} value - is "supported", "smooth" and "power efficient". -

-

- 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 - the current resolution as a dependency. If {{VideoConfiguration/spatialScalability}} - is set to true, the decoder can decode any - {{RTCRtpEncodingParameters/scalabilityMode}} value supported by the encoder. - If {{VideoConfiguration/spatialScalability}} is set to false - or is absent, the decoder cannot decode spatial scalability modes, but can - can decode all other {{RTCRtpEncodingParameters/scalabilityMode}} values - supported by the encoder. -

-

Negotiation with an SFM

+

Negotiation Issues

- The SFM - can provide information on the codecs and scalability modes it can - decode by providing its receiver capabilities. - After exchanging capabilities, the application can compute the - intersection of codecs and {{RTCRtpEncodingParameters/scalabilityMode}} - values supported by the browser's {{RTCRtpSender}} and the + SVC is most often employed in video conferencing, where a conferencing + server such as a SFM + selectively forwards layers to participants based on their device + characteristics and available bandwidth. In such an environment, + the application will negotiate codecs to be sent and received with + the conferencing server. However, since scalability modes are not + negotiated in Offer/Answer, the application needs to determine + which scalability modes are available by other means. +

+

+ One way in which this can be achieved is for the SFM to provide + information on the codecs and scalability modes it can decode in + the form of receiver capabilities. After exchanging capabilities, + the application can compute the intersection of codecs and + {{RTCRtpEncodingParameters/scalabilityMode}} values supported + by the browser's {{RTCRtpSender}} and the SFM's receiver. This can be used to determine the arguments passed to the browser's {{RTCPeerConnection/addTransceiver()}} and {{RTCRtpSender/setParameters()}} @@ -379,7 +364,8 @@

Negotiation with an SFM

SFM may not be determined until completion of the Offer/Answer negotiation.

-
+
+

Scalability modes

@@ -388,7 +374,7 @@

Scalability modes

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 10. + [[?AV1]] Section 6.7.5, and links to dependency diagrams provided in Section 9.

While the [[?AV1]] and VP9 [[?VP9]] specifications support all the @@ -707,7 +693,7 @@

Guidelines for addition of {{RTCRtpEncodingParameters/scalabilityMode}} valu
  1. The proposed {{RTCRtpEncodingParameters/scalabilityMode}} MUST define entries to the table in - Section 6, including values for the Scalabilty Mode Identifier, spatial and + Section 5, including values for the Scalabilty Mode Identifier, spatial and temporal layers, Resolution Ratio, Inter-layer dependency and the corresponding AV1 scalability_mode_idc value (if assigned).
  2. @@ -727,7 +713,7 @@

    Guidelines for addition of {{RTCRtpEncodingParameters/scalabilityMode}} valu frames have their temporal identifier shifted upward.
  3. - A dependency diagram MUST be supplied, in the format provided in Section 10. + A dependency diagram MUST be supplied, in the format provided in Section 9.

@@ -940,6 +926,27 @@

Persistent information

is decodable for the codec in use can be obtained, which provides more information on hardware capabilities.

+

+ The [[?Media-Capabilities]] API enables discovery of encoder and decoder + support for scalable video coding. {{VideoConfiguration//scalabilityMode}} + is used to query whether an encoder supports a particular + {{RTCRtpEncodingParameters/scalabilityMode}} value. The API indicates + whether the {{RTCRtpEncodingParameters/scalabilityMode}} value + is "supported", "smooth" and "power efficient". +

+

+ 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 + the current resolution as a dependency. If {{VideoConfiguration/spatialScalability}} + is set to true, the decoder can decode any + {{RTCRtpEncodingParameters/scalabilityMode}} value supported by the encoder. + If {{VideoConfiguration/spatialScalability}} is set to false + or is absent, the decoder cannot decode spatial scalability modes, but can + can decode all other {{RTCRtpEncodingParameters/scalabilityMode}} values + supported by the encoder. +

As noted in [[?Media-Capabilities]] Section 3.1, the Media Capabilities API "will likely provide more accurate and