[xiph-commits] r10628 - trunk/theora/doc
lu_zero at svn.xiph.org
lu_zero at svn.xiph.org
Sat Dec 17 16:30:13 PST 2005
Author: lu_zero
Date: 2005-12-17 16:30:09 -0800 (Sat, 17 Dec 2005)
New Revision: 10628
Modified:
trunk/theora/doc/draft-barbato-avt-rtp-theora-00.txt
trunk/theora/doc/draft-barbato-avt-rtp-theora-00.xml
Log:
Clarifications and clock rate set to 90kHz
Modified: trunk/theora/doc/draft-barbato-avt-rtp-theora-00.txt
===================================================================
--- trunk/theora/doc/draft-barbato-avt-rtp-theora-00.txt 2005-12-17 21:14:08 UTC (rev 10627)
+++ trunk/theora/doc/draft-barbato-avt-rtp-theora-00.txt 2005-12-18 00:30:09 UTC (rev 10628)
@@ -1,6 +1,7 @@
+
AVT Working Group L. Barbato
Internet-Draft Xiph.Org
Expires: April 18, 2006 October 15, 2005
@@ -64,7 +65,7 @@
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
- 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
+ 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
2. Payload Format . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. RTP Header . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Payload Header . . . . . . . . . . . . . . . . . . . . . . 5
@@ -145,7 +146,11 @@
bits per component, nor alternate color spaces such as RGB or
arbitrary multi-channel spaces. Black and white content can be
efficiently encoded, however, because the uniform chroma planes
- compress well.
+ compress well. Arbitrary frame size will be encoded rounding to the
+ upper multiple of 16 both dimension for performance reason. The
+ original width and height will be encoded in the header and the
+ decoder will use this information to clip the decoded frame to the
+ right dimensions.
Theora is similar to the Vorbis audio [10] in that it the decoder
reads the probability model for the entropy coder and all
@@ -156,11 +161,7 @@
frame packet so long as the codec has been initialized with the
associated headers.
-1.1. Terminology
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
- "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
- document are to be interpreted as described in RFC 2119 [2].
@@ -169,6 +170,13 @@
Internet-Draft draft-barbato-avt-rtp-theora-00 October 2005
+1.1. Terminology
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in RFC 2119 [2].
+
+
2. Payload Format
Each frame of digital video is encoded as a single Theora data packet
@@ -211,6 +219,13 @@
This field identifies the version of RTP. The version used by this
specification is two (2).
+
+
+Barbato Expires April 18, 2006 [Page 4]
+
+Internet-Draft draft-barbato-avt-rtp-theora-00 October 2005
+
+
Padding (P): 1 bit
Padding MAY be used with this payload format according to section 5.1
@@ -218,13 +233,6 @@
Extension (X): 1 bit
-
-
-Barbato Expires April 18, 2006 [Page 4]
-
-Internet-Draft draft-barbato-avt-rtp-theora-00 October 2005
-
-
The Extension bit is used in accordance with [3].
CSRC count (CC): 4 bits
@@ -249,10 +257,9 @@
Timestamp: 32 bits
- A timestamp representing the sampling time of the first sample of the
- first Theora packet in the RTP packet. The clock frequency MUST be
- set to the sample rate of the encoded video data and is conveyed out-
- of-band as an SDP attribute.
+ A timestamp representing the presentation time of the first sample of
+ the first Theora packet in the RTP packet. The clock frequency MUST
+ be set to 90kHz.
SSRC/CSRC identifiers:
@@ -265,13 +272,7 @@
Payload Header. This header is split into a number of bitfields
detailing the format of the following Payload Data packets.
- 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
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Configuration Ident | F |TDT|# pkts.|
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- +-+-+-+-+-+-+-+-+
@@ -281,6 +282,14 @@
Internet-Draft draft-barbato-avt-rtp-theora-00 October 2005
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Configuration Ident | F |TDT|# pkts.|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ +-+-+-+-+-+-+-+-+
+
Figure 2: Payload Header
Configuration Ident: 24 bits
@@ -309,6 +318,8 @@
2 = Legacy Theora Comment payload
3 = Reserved
+ The packets with a TDT of value 3 MUST be ignored
+
The last 4 bits are the number of complete packets in this payload.
This provides for a maximum number of 15 Theora packets in the
payload. If the packet contains fragmented data the number of
@@ -320,6 +331,13 @@
that is used to represent the size of the following data payload,
followed by the raw Theora packet data.
+
+
+Barbato Expires April 18, 2006 [Page 6]
+
+Internet-Draft draft-barbato-avt-rtp-theora-00 October 2005
+
+
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@@ -329,14 +347,6 @@
Figure 3: Payload Data
The Theora codec uses relatively unstructured raw packets containing
-
-
-
-Barbato Expires April 18, 2006 [Page 6]
-
-Internet-Draft draft-barbato-avt-rtp-theora-00 October 2005
-
-
binary integer fields of arbitrary width that often do not fall on an
octet boundary. When a Theora encoder produces packets, unused space
in the last byte of a packet is always zeroed during the encoding
@@ -360,7 +370,7 @@
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 |0|0| 0 |0| PT | sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | timestamp (in sample rate units) |
+ | timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| synchronisation source (SSRC) identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
@@ -379,15 +389,6 @@
-
-
-
-
-
-
-
-
-
Barbato Expires April 18, 2006 [Page 7]
Internet-Draft draft-barbato-avt-rtp-theora-00 October 2005
@@ -969,8 +970,9 @@
width: Determines the number of pixels per line. This is an
integer between 1 and 1048561 and MUST be in multiples of 16.
- height: Determines the number of lines per frame. This is an
- integer between 1 and 1048561 and MUST be in multiples of 16.
+ height: Determines the number of lines per frame encoded. This is
+ an integer between 1 and 1048561 and MUST be in multiples of
+ 16.
delivery-method: indicates the delivery methods in use, the
possible values are: inline, in_band, out_band/specific_name
@@ -1003,7 +1005,6 @@
-
Barbato Expires April 18, 2006 [Page 18]
Internet-Draft draft-barbato-avt-rtp-theora-00 October 2005
@@ -1072,7 +1073,7 @@
o The MIME subtype ("THEORA") goes in SDP "a=rtpmap" as the encoding
name.
- o The parameter "rate" also goes in "a=rtpmap" as clock rate.
+ o The clock rate in the "a=rtpmap" line MUST be 90000
o The mandated parameters "delivery-method" and "configuration" MUST
be included in the SDP "a=fmpt" attribute.
@@ -1342,3 +1343,4 @@
Barbato Expires April 18, 2006 [Page 24]
+
Modified: trunk/theora/doc/draft-barbato-avt-rtp-theora-00.xml
===================================================================
--- trunk/theora/doc/draft-barbato-avt-rtp-theora-00.xml 2005-12-17 21:14:08 UTC (rev 10627)
+++ trunk/theora/doc/draft-barbato-avt-rtp-theora-00.xml 2005-12-18 00:30:09 UTC (rev 10628)
@@ -61,8 +61,8 @@
</t>
<t>
-Theora I currently supports progressive video data of arbitrary dimensions at a constant frame rate in one of several Y'CbCr color spaces.
-Three different chroma subsampling formats are supported: 4:2:0, 4:2:2, and 4:4:4. The Theora I format does not support interlaced material, variable frame rates, bit-depths larger than 8 bits per component, nor alternate color spaces such as RGB or arbitrary multi-channel spaces. Black and white content can be efficiently encoded, however, because the uniform chroma planes compress well.
+Theora I currently supports progressive video data of arbitrary dimensions at a constant frame rate in one of several Y'CbCr color spaces.
+Three different chroma subsampling formats are supported: 4:2:0, 4:2:2, and 4:4:4. The Theora I format does not support interlaced material, variable frame rates, bit-depths larger than 8 bits per component, nor alternate color spaces such as RGB or arbitrary multi-channel spaces. Black and white content can be efficiently encoded, however, because the uniform chroma planes compress well. Arbitrary frame size will be encoded rounding to the upper multiple of 16 both dimension for performance reason. The original width and height will be encoded in the header and the decoder will use this information to clip the decoded frame to the right dimensions.
</t>
<t>
@@ -153,7 +153,7 @@
<t>
Timestamp: 32 bits</t><t>
-A timestamp representing the sampling time of the first sample of the first Theora packet in the RTP packet. The clock frequency MUST be set to the sample rate of the encoded video data and is conveyed out-of-band as an SDP attribute.
+A timestamp representing the presentation time of the first sample of the first Theora packet in the RTP packet. The clock frequency MUST be set to 90kHz.
</t>
<t>
@@ -218,6 +218,10 @@
<t> 3 = Reserved</t>
</list>
+<t> The packets with a TDT of value 3 MUST be ignored </t>
+
+
+
<t>
The last 4 bits are the number of complete packets in this payload. This provides for a maximum number of 15 Theora packets in the payload. If the packet contains fragmented data the number of packets MUST be set to 0.
</t>
@@ -266,7 +270,7 @@
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 |0|0| 0 |0| PT | sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | timestamp (in sample rate units) |
+ | timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| synchronisation source (SSRC) identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
@@ -769,12 +773,12 @@
<vspace blankLines="1" />
-<t hangText="width:"> Determines the number of pixels per line. This is an integer between 1 and 1048561 and MUST be in multiples of 16.
+<t hangText="width:"> Determines the number of pixels per line. This is an integer between 1 and 1048561 and MUST be in multiples of 16.
</t>
<vspace blankLines="1" />
-<t hangText="height:">Determines the number of lines per frame. This is an integer between 1 and 1048561 and MUST be in multiples of 16.
+<t hangText="height:">Determines the number of lines per frame encoded. This is an integer between 1 and 1048561 and MUST be in multiples of 16.
</t>
<vspace blankLines="1" />
@@ -897,7 +901,7 @@
<t>The MIME subtype ("THEORA") goes in SDP "a=rtpmap" as the encoding name.</t>
<vspace blankLines="1" />
-<t>The parameter "rate" also goes in "a=rtpmap" as clock rate.</t>
+<t>The clock rate in the "a=rtpmap" line MUST be 90000</t>
<vspace blankLines="1" />
<t>The mandated parameters "delivery-method" and "configuration" MUST be included in the SDP "a=fmpt" attribute.</t>
More information about the commits
mailing list