Add another diagram (elementary multiplexing)

svn path=/trunk/ogg/; revision=17135
This commit is contained in:
Monty 2010-04-06 17:50:50 +00:00
parent edc5330510
commit 7df26aa6ce
3 changed files with 699 additions and 37 deletions

BIN
doc/multiplex1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

632
doc/multiplex1.svg Normal file
View File

@ -0,0 +1,632 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.46"
sodipodi:docname="multiplex1.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:export-filename="/home/xiphmont/MotherfishSVN/ogg/doc/multiplex1.png"
inkscape:export-xdpi="78.239998"
inkscape:export-ydpi="78.239998">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="414.22127"
inkscape:cy="675.05057"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1436"
inkscape:window-height="986"
inkscape:window-x="1776"
inkscape:window-y="26"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid2383" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:12;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="147.14285"
y="265.93362"
id="text3566"><tspan
sodipodi:role="line"
id="tspan3568"
x="147.14285"
y="265.93362" /></text>
<text
xml:space="preserve"
style="font-size:12;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="144.28571"
y="265.21933"
id="text3570"><tspan
sodipodi:role="line"
id="tspan3572"
x="144.28571"
y="265.21933" /></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="135.71429"
y="264.50504"
id="text3574"><tspan
sodipodi:role="line"
id="tspan3576"
x="135.71429"
y="264.50504" /></text>
<rect
style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3155"
width="90"
height="80"
x="80"
y="127.36218"
ry="0" />
<rect
ry="0"
y="127.36218"
x="580"
height="80"
width="90"
id="rect3188"
style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3196"
width="90"
height="80"
x="480"
y="127.36218"
ry="0" />
<rect
ry="0"
y="127.36218"
x="380"
height="80"
width="90"
id="rect3204"
style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3212"
width="90"
height="80"
x="280"
y="127.36218"
ry="0" />
<rect
ry="0"
y="127.36218"
x="180"
height="80"
width="90"
id="rect3220"
style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#5fd35f;fill-opacity:1;stroke:none;stroke-width:2.70000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3258"
width="620"
height="40"
x="65"
y="157.36218"
ry="4.3460864e-06" />
<path
style="fill:#5fd35f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 70,157.36218 L 70,147.36218 L 30,177.36218 L 70,207.36218 L 70,157.36218 z"
id="path3266"
sodipodi:nodetypes="ccccc" />
<path
style="font-size:24px;fill:#5fd35f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 680,157.36218 L 680,147.36218 L 720,177.36218 L 680,207.36218 L 680,157.36218 z"
id="path3268" />
<rect
style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3260"
width="620"
height="20"
x="65"
y="102.36218"
ry="0"
inkscape:export-xdpi="78.239998"
inkscape:export-ydpi="78.239998" />
<path
style="fill:#bbddbb;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 70,102.36218 L 70,92.362183 L 40,112.36218 L 70,132.36218 L 70,102.36218 z"
id="path3262" />
<path
style="fill:#bbddbb;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 680,102.36218 L 680,92.362183 L 710,112.36218 L 680,132.36218 L 680,102.36218 z"
id="path3264" />
<text
xml:space="preserve"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
x="280"
y="122.36218"
id="text3270"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3562"
x="280"
y="122.36218">elementary physical bitstream A</tspan></text>
<text
xml:space="preserve"
style="font-size:24px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="445"
y="192.36218"
id="text3274"><tspan
sodipodi:role="line"
id="tspan3276"
x="445"
y="192.36218">logical bitstream A</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="87.979683"
y="146.8571"
id="text3161"><tspan
sodipodi:role="line"
id="tspan3163"
x="87.979683"
y="146.8571">OggS</tspan></text>
<text
id="text3190"
y="146.8571"
x="587.97968"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="146.8571"
x="587.97968"
id="tspan3192"
sodipodi:role="line">OggS</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="487.97971"
y="146.8571"
id="text3198"><tspan
sodipodi:role="line"
id="tspan3200"
x="487.97971"
y="146.8571">OggS</tspan></text>
<text
id="text3206"
y="146.8571"
x="387.97971"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="146.8571"
x="387.97971"
id="tspan3208"
sodipodi:role="line">OggS</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="287.97971"
y="146.8571"
id="text3214"><tspan
sodipodi:role="line"
id="tspan3216"
x="287.97971"
y="146.8571">OggS</tspan></text>
<text
id="text3222"
y="146.8571"
x="187.97968"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="146.8571"
x="187.97968"
id="tspan3224"
sodipodi:role="line">OggS</tspan></text>
<path
sodipodi:nodetypes="ccccc"
id="path3372"
d="M 70,292.36218 L 70,282.36218 L 30,312.36218 L 70,342.36218 L 70,292.36218 z"
style="fill:#5fa3d3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
ry="9.3506489"
y="262.36218"
x="80"
height="80"
width="90"
id="rect3318"
style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3326"
width="90"
height="80"
x="580"
y="262.36218"
ry="9.3506489" />
<rect
ry="9.3506489"
y="262.36218"
x="480"
height="80"
width="90"
id="rect3334"
style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3342"
width="90"
height="80"
x="380"
y="262.36218"
ry="9.3506489" />
<rect
ry="9.3506489"
y="262.36218"
x="280"
height="80"
width="90"
id="rect3350"
style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3358"
width="90"
height="80"
x="180"
y="262.36218"
ry="9.3506489" />
<rect
ry="0.25253814"
y="292.36218"
x="65"
height="40"
width="620"
id="rect3364"
style="fill:#5fa3d3;fill-opacity:1;stroke:none;stroke-width:2.70000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3374"
d="M 680,292.36218 L 680,282.36218 L 720,312.36218 L 680,342.36218 L 680,292.36218 z"
style="font-size:24px;fill:#5fa3d3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
ry="0"
y="237.36218"
x="65"
height="20"
width="620"
id="rect3366"
style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3368"
d="M 70,237.36218 L 70,227.36218 L 40,247.36218 L 70,267.36218 L 70,237.36218 z"
style="fill:#b5cfdf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
id="path3370"
d="M 680,237.36218 L 680,227.36218 L 710,247.36218 L 680,267.36218 L 680,237.36218 z"
style="fill:#b5cfdf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
id="text3376"
y="257.36218"
x="280"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
xml:space="preserve"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3564"
x="280"
y="257.36218">elementary physical bitstream B</tspan></text>
<text
id="text3380"
y="327.36218"
x="445"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
xml:space="preserve"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3524"
x="445"
y="327.36218">logical bitstream B</tspan></text>
<text
id="text3320"
y="282.32013"
x="87.943802"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="282.32013"
x="87.943802"
id="tspan3322"
sodipodi:role="line">OggS</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="587.94385"
y="282.32013"
id="text3328"><tspan
sodipodi:role="line"
id="tspan3330"
x="587.94385"
y="282.32013">OggS</tspan></text>
<text
id="text3336"
y="282.32013"
x="487.94382"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="282.32013"
x="487.94382"
id="tspan3338"
sodipodi:role="line">OggS</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="387.94382"
y="282.32013"
id="text3344"><tspan
sodipodi:role="line"
id="tspan3346"
x="387.94382"
y="282.32013">OggS</tspan></text>
<text
id="text3352"
y="282.32013"
x="287.94382"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="282.32013"
x="287.94382"
id="tspan3354"
sodipodi:role="line">OggS</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="187.9438"
y="282.32013"
id="text3360"><tspan
sodipodi:role="line"
id="tspan3362"
x="187.9438"
y="282.32013">OggS</tspan></text>
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="444.9722"
y="496.02066"
id="text3638"><tspan
sodipodi:role="line"
id="tspan3640"></tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="M 365,352.36218 L 365,402.36218 L 335,392.36218 L 375,432.36218 L 415,392.36218 L 385,402.36218 L 385,352.36218 L 365,352.36218 z"
id="path3299" />
<rect
style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3388"
width="90"
height="80"
x="80.166489"
y="467.36224"
ry="0" />
<rect
ry="9.3506489"
y="467.36224"
x="580.1665"
height="80"
width="90"
id="rect3396"
style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3404"
width="89.833496"
height="80"
x="480.1665"
y="467.36224"
ry="0"
inkscape:export-xdpi="78.239998"
inkscape:export-ydpi="78.239998" />
<rect
ry="9.3506489"
y="467.36224"
x="380.1665"
height="80"
width="90"
id="rect3412"
style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3420"
width="90"
height="80"
x="280.1665"
y="467.36224"
ry="0" />
<rect
ry="9.3506489"
y="467.36224"
x="180.16649"
height="80"
width="90"
id="rect3428"
style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#5fd35f;fill-opacity:1;stroke:none;stroke-width:2.70000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3434"
width="615.1665"
height="40.000061"
x="65"
y="497.36218"
ry="4.3460864e-06" />
<path
style="fill:#5fd35f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 70.16649,497.36224 L 70.16649,487.36224 L 30.16649,517.36224 L 70.16649,547.36224 L 70.16649,497.36224 z"
id="path3442"
sodipodi:nodetypes="ccccc" />
<path
style="font-size:24px;fill:#5fd35f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 680.16649,497.36224 L 680.16649,487.36224 L 720.16649,517.36224 L 680.16649,547.36224 L 680.16649,497.36224 z"
id="path3444" />
<rect
style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:2.70000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3436"
width="620"
height="20"
x="65"
y="442.36218"
ry="0" />
<path
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 70.16649,442.36224 L 70.16649,432.36224 L 40.16649,452.36224 L 70.16649,472.36224 L 70.16649,442.36224 z"
id="path3438" />
<path
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 680.16649,442.36224 L 680.16649,432.36224 L 710.16649,452.36224 L 680.16649,472.36224 L 680.16649,442.36224 z"
id="path3440" />
<text
xml:space="preserve"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
x="300.1665"
y="462.36224"
id="text3446"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3526"
x="300.1665"
y="462.36224">multiplexed physical bitstream</tspan></text>
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 175.16649,492.36224 L 175.16649,547.36224"
id="path3662" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 275.16649,542.36224 L 275.16649,492.36224"
id="path3668" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 375.16649,492.36224 L 375.16649,542.36224"
id="path3670" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 475.16649,492.36224 L 475.16649,542.36224"
id="path3672" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 575.16649,492.36224 L 575.16649,542.36224"
id="path3674" />
<path
style="fill:#5fa3d3;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 176.84389,517.32564 L 176.84389,497.37512 L 225.20495,497.37512 L 273.566,497.37512 L 273.566,517.32564 L 273.566,537.27615 L 225.20495,537.27615 L 176.84389,537.27615 L 176.84389,517.32564 z"
id="path3676" />
<path
style="fill:#5fa3d3;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 376.79115,517.32564 L 376.79115,497.37512 L 425.1522,497.37512 L 473.51325,497.37512 L 473.51325,517.32564 L 473.51325,537.27615 L 425.1522,537.27615 L 376.79115,537.27615 L 376.79115,517.32564 z"
id="path3678" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 575.16649,492.36224 L 575.16649,542.36224"
id="path3680" />
<path
style="fill:#5fa3d3;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 680.18684,542.21496 L 680.18684,537.27615 L 628.5428,537.27615 L 576.89875,537.27615 L 576.89875,517.32564 L 576.89875,497.37512 L 628.5428,497.37512 L 680.18684,497.37512 L 680.18684,492.45006 L 680.18684,487.525 L 700,502.36218 C 710.89722,510.52263 719.81813,517.27102 719.82422,517.3586 C 719.83225,517.47395 684.31753,544.18376 680.64581,546.82378 C 680.20662,547.13956 680.18684,546.94102 680.18684,542.21496 z"
id="path3682" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="88.110291"
y="487.82529"
id="text3390"><tspan
sodipodi:role="line"
id="tspan3392"
x="88.110291"
y="487.82529">OggS</tspan></text>
<text
id="text3398"
y="487.82529"
x="588.11029"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="487.82529"
x="588.11029"
id="tspan3400"
sodipodi:role="line">OggS</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="488.11032"
y="487.82529"
id="text3406"><tspan
sodipodi:role="line"
id="tspan3408"
x="488.11032"
y="487.82529">OggS</tspan></text>
<text
id="text3414"
y="487.82529"
x="388.11032"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="487.82529"
x="388.11032"
id="tspan3416"
sodipodi:role="line">OggS</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="288.11032"
y="487.82529"
id="text3422"><tspan
sodipodi:role="line"
id="tspan3424"
x="288.11032"
y="487.82529">OggS</tspan></text>
<text
id="text4306"
y="487.86862"
x="183.07068"
style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="487.86862"
x="183.07068"
id="tspan4308"
sodipodi:role="line">OggS</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -424,6 +424,14 @@ physical bitstream by taking the pages in order from the physical
bitstream and redirecting them into the appropriate logical decoding
entity.
<div class="caption">
<img src="multiplex1.png">
<p>Multiple media types are mutliplexed into a single Ogg stream by
interleaving the pages from each elementary physical stream.
</div>
<p><a href="ogg-multiplex.html">Ogg Bitstream Multiplexing</a> specifies
proper multiplexing of an Ogg bitstream in detail.
@ -452,38 +460,9 @@ interleaved in order of the time stamp regardless of stream type.
Both continuous and discontinuous logical streams are used to seek
within a physical stream, however only continuous streams are used to
determine buffering depth; because discontinuous streams are stamped
by start time, they will always 'fall out' in time when buffering
tracks only the continuous streams. See 'Examples' for an
illustration of the buffering mechanism.
<h2>Mapping Requirements</h2>
<p>Each codec is allowed some freedom in deciding how its logical
bitstream is encapsulated into an Ogg bitstream (even if it is a
trivial mapping, eg, 'plop the packets in and go'). This is the
codec's <em>mapping</em>. Ogg imposes a few mapping requirements
on any codec.
<p>The <a href="framing.html">framing specification</a> defines
'beginning of stream' and 'end of stream' page markers via a header
flag (it is possible for a stream to consist of a single page). A
correct stream always consists of an integer number of pages, an easy
requirement given the variable size nature of pages.</p>
<p>The first page of an elementary Ogg bitstream consists of a single,
small 'initial header' packet that must include sufficient information
to identify the exact CODEC type. From this initial header, the codec
must also be able to determine its timebase and whether or not it is a
continuous- or discontinuous-time stream. The initial header must fit
on a single page. If a codec makes use of auxiliary headers (for
example, Vorbis uses two auxiliary headers), these headers must follow
the initial header immediately. The last header finishes its page;
data begins on a fresh page.
<p>As an example, Ogg Vorbis places the name and revision of the
Vorbis CODEC, the audio rate and the audio quality into this initial
header. Comments and detailed codec setup appears in the larger
auxiliary headers.</p>
by start time, they will always 'fall out' at the proper time when
buffering the continuous streams. See 'Examples' for an illustration
of the buffering mechanism.
<h2>Multiplexing Requirements</h2>
@ -493,24 +472,24 @@ of multiple elementary streams:
<ol>
<li> The initial header for each stream appears in sequence, each
<li><p> The initial header for each stream appears in sequence, each
header on a single page. All initial headers must appear with no
intervening data (no auxiliary header pages or packets, no data pages
or packets). Order of the initial headers is unspecified. The
'beginning of stream' flag is set on each initial header.
<li> All auxiliary headers for all streams must follow. Order
<li><p> All auxiliary headers for all streams must follow. Order
is unspecified. The final auxiliary header of each stream must flush
its page.
<li>Data pages for each stream follow, interleaved in time order.
<li><p>Data pages for each stream follow, interleaved in time order.
<li>The final page of each stream sets the 'end of stream' flag.
<li><p>The final page of each stream sets the 'end of stream' flag.
Unlike initial pages, terminal pages for the logical bitstreams need
not occur contiguously; indeed it may not be possible for them to do so.
</oL>
<p>Each grouped bitstream must have a unique serial number within the
<p><p>Each grouped bitstream must have a unique serial number within the
scope of the physical bitstream.</p>
<h3>chaining and multiplexing</h3>
@ -522,6 +501,57 @@ stand on its own as a valid physical bitstream. Chained streams do
not mix or interleave; a new segment may not begin until all streams
in the preceding segment have terminated. </p>
<h2>Codec Mapping Requirements</h2>
<p>Each codec is allowed some freedom in deciding how its logical
bitstream is encapsulated into an Ogg bitstream (even if it is a
trivial mapping, eg, 'plop the packets in and go'). This is the
codec's <em>mapping</em>. Ogg imposes a few mapping requirements
on any codec.
<ol>
<li><p>The <a href="framing.html">framing specification</a> defines
'beginning of stream' and 'end of stream' page markers via a header
flag (it is possible for a stream to consist of a single page). A
correct stream always consists of an integer number of pages, an easy
requirement given the variable size nature of pages.</p>
<li><p>The first page of an elementary Ogg bitstream consists of a single,
small 'initial header' packet that must include sufficient information
to identify the exact CODEC type. From this initial header, the codec
must also be able to determine its timebase and whether or not it is a
continuous- or discontinuous-time stream. The initial header must fit
on a single page. If a codec makes use of auxiliary headers (for
example, Vorbis uses two auxiliary headers), these headers must follow
the initial header immediately. The last header finishes its page;
data begins on a fresh page.
<p><p>As an example, Ogg Vorbis places the name and revision of the
Vorbis CODEC, the audio rate and the audio quality into this initial
header. Vorbis comments and detailed codec setup appears in the larger
auxiliary headers.</p>
<li><p>Granule positions must be translatable to an exact absolute
time value. As described above, the mux layer is permitted to query a
codec or codec stub plugin to perform this mapping. It is not
necessary for an absolute time to be mappable into a single unique
granule position value.
<li><p>Codecs are not required to use a fixed duration-per-packet (for
example, Vorbis does not). the mux layer is permitted to query a
codec or codec stub plugin for the time duration of a packet.
<li><p>Although an absolute time need not be translatable to a unique
granule position, a codec must be able to determine the unique granule
position of the current packet using the granule position of a
preceeding packet.
<li><p>Packets and pages must be arranged in ascending
granule-position and time order.
</ol>
<h2>Examples</h2>
<em>[More to come shortly; this section is currently being revised and expanded]</em>