ptime update
authorJean-Marc Valin <jean-marc.valin@octasic.com>
Thu, 5 Mar 2009 15:03:38 +0000 (10:03 -0500)
committerJean-Marc Valin <jean-marc.valin@octasic.com>
Thu, 5 Mar 2009 15:03:38 +0000 (10:03 -0500)
doc/ietf/draft-valin-celt-rtp-profile.xml

index 5ccb99a..0ada49f 100644 (file)
@@ -102,15 +102,15 @@ An optional padding terminator may also be used.
 <t>
 <figure>
 <artwork><![CDATA[
-      0                   1                   2                   3
-      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     |                         RTP Header                            |
-     +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-     |                 one or more frames of CELT ....              |
-     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     |        one or more frames of CELT ....                       |
-     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+     0                   1                   2                   3
+     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    |                         RTP Header                            |
+    +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+    |       s           one or more frames of CELT ....             |
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+            one or more frames of CELT ....                       |
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ]]></artwork>
 </figure>
 </t>
@@ -122,18 +122,18 @@ An optional padding terminator may also be used.
 <t>
 <figure>
 <artwork><![CDATA[
-      0                   1                   2                   3
-      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     |V=2|P|X|  CC   |M|     PT      |       sequence number         |
-     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     |                           timestamp                           |
-     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     |           synchronization source (SSRC) identifier            |
-     +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-     |            contributing source (CSRC) identifiers             |
-     |                              ...                              |
-     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+     0                   1                   2                   3
+     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    |V=2|P|X|  CC   |M|     PT      |       sequence number         |
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    |                           timestamp                           |
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    |           synchronization source (SSRC) identifier            |
+    +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+    |            contributing source (CSRC) identifiers             |
+    |                              ...                              |
+    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ]]></artwork>
 </figure>
 </t>
@@ -448,11 +448,11 @@ The SDP parameters have the following interpretation with respect to CELT:
 <list style="empty">
 <t>b=AS: The maximum bandwidth (in kbit/s) allowed for CELT, excluding the header overhead. The default is 64 kbit/s.</t>
 
-<t>ptime: The desired packetization time. If multiple frame sizes are offered, ptime is the minimum packetization time desired. The default is 20 ms as specified in []</t>
+<t>ptime: The desired packetization time. The sender SHOULD choose a number of frames per packet that corresponds to the smallest packetization time greater or equal to the specified ptime for the selected frame size. The default is 20 ms as specified in <xref target="rfc3551"></xref></t>
 
-<t>maxptime: The maximum packetization time desired. The default is "no maximum".</t>
+<t>maxptime: The maximum packetization time desired. If the maximum is lower than the smallest packetization time determined from the chosen frame size (as described above), then that packtization time SHOULD be used despite the maxptime value. The default is "no maximum".</t>
 
-</list>        
+</list>
 </t>
 
 <t>
@@ -462,9 +462,7 @@ following parameters are defined for use in this way:
 
 <t>
 <list style="empty">
-<t>frame-size: duration of each frame in samples. The default is 256.</t>
-
-<t>nb-frames: number of frames per packet (per stream). The default is 1.</t>
+<t>frame-size: The frame size is the duration of each frame in samples. If more than one frame size is supported, a comma-separated list can be used. The default is 480.</t>
 
 <t>mapping: Optional string describing the multi-channel mapping. </t>
 
@@ -483,7 +481,7 @@ value of 256, and if the size 256 is supported it MUST be offered.
 </t>
 
 <t>
-Care must be taken when setting the value of max-size and nb-frames so that the 
+Care must be taken when setting the value of ptime: and b=AS: so that the
 RTP packet size does not exceed the path MTU.
 </t>
 
@@ -506,7 +504,7 @@ definition to be 'mapped' to the CELT codec at a 48kHz sampling
 frequency using the 'a=rtpmap' line.  Any number from 96 to 127
 could have been chosen (the allowed range for dynamic types). If there
 is more than one channel being encoded the rtpmap MUST specify the channel
-count.  
+count.
 </t>
 
 <t>
@@ -537,8 +535,9 @@ payload types that may be proposed in the media line ("m=").
 <vspace blankLines="1" />
 <list style="empty">
        <t>m=audio 8008 RTP/AVP 97</t>
+       <t>a=ptime: 21</t>
        <t>a=rtpmap:97 CELT/44100</t>
-       <t>a=fmtp:97 frame-size=512;nb-frames=2;</t>
+       <t>a=fmtp:97 frame-size=512;</t>
 </list>        
 </t>
 
@@ -586,7 +585,7 @@ mapping=2,1,2,1,1/SLguitar,SRguitar,OheadsetG,SLkeyboard,SRkeyboard,OheadsetK,SM
 
 <t>
 Ambisonic channels MUST follow the Furse-Malham naming and weighing
-conventions for up to third order spherical<xref target="Higher-order-Ambisonic-systems"></xref>.
+conventions for up to third order spherical<xref target="Ambisonic"></xref>.
 Higher order ambisonic support is application defined but MUST NOT reuse any of WXYZRSTUVKLMNOPQ
 for higher order components. For example, second order spherical ambisonics SHOULD use the
 mapping "mapping=1,1,1,1,1,1,1,1,1/AW,AX,AY,AZ,AR,AS,AT,AU,AV". Any set of Ambisonic channels
@@ -610,8 +609,9 @@ For example a stereo configuration might signal:
 <vspace blankLines="1" />
 <list style="empty">
 <t>m=audio 8008 RTP/AVP 97</t>
+<t>a=ptime: 5</t>
 <t>a=rtpmap:97 CELT/44100/2</t>
-<t>a=fmtp:97 frame-size=256;nb-frames=1;</t>
+<t>a=fmtp:97 frame-size=256;</t>
 </list> 
 Which specifies a single two-channel CELT stream according to the default
 mapping.
@@ -826,7 +826,7 @@ CELT and AVT communities for their input:
 <seriesInfo name="CELT website" value="http://www.celt-codec.org/" />
 </reference> 
 
-<reference anchor="Higher-order-Ambisonic-systems">
+<reference anchor="Ambisonic">
 <front>
 <title>Higher order Ambisonic systems</title>
 <author initials="D." surname="Malham" fullname="Dave