mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 08:34:40 +00:00
Initial commit
added libraries: opus flac libsndfile updated: libvorbis libogg openal - Everything works as expected for now. Bare in mind libsndfile needed the check for whether or not it could find the xiph libraries removed in order for this to work.
This commit is contained in:
parent
05a083ca6f
commit
a745fc3757
1954 changed files with 431332 additions and 21037 deletions
26
Engine/lib/flac/doc/CMakeLists.txt
Normal file
26
Engine/lib/flac/doc/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
cmake_minimum_required(VERSION 3.9)
|
||||
|
||||
find_package(Doxygen)
|
||||
|
||||
if (NOT DOXYGEN_FOUND)
|
||||
return()
|
||||
endif()
|
||||
|
||||
option(BUILD_DOXYGEN "Enable API documentation building via Doxygen" ON)
|
||||
|
||||
if (NOT BUILD_DOXYGEN)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(top_srcdir "${PROJECT_SOURCE_DIR}")
|
||||
configure_file(Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
|
||||
|
||||
|
||||
add_custom_target(FLAC-doxygen ALL
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Generating API documentation with Doxygen"
|
||||
VERBATIM )
|
||||
|
||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/api/"
|
||||
DESTINATION "${CMAKE_INSTALL_DOCDIR}/api")
|
||||
1784
Engine/lib/flac/doc/Doxyfile.in
Normal file
1784
Engine/lib/flac/doc/Doxyfile.in
Normal file
File diff suppressed because it is too large
Load diff
62
Engine/lib/flac/doc/Makefile.am
Normal file
62
Engine/lib/flac/doc/Makefile.am
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
# flac - Command-line FLAC encoder/decoder
|
||||
# Copyright (C) 2002-2009 Josh Coalson
|
||||
# Copyright (C) 2011-2023 Xiph.Org Foundation
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
SUBDIRS = . images
|
||||
|
||||
if FLaC__HAS_DOXYGEN
|
||||
all-local: Doxyfile
|
||||
FLAC.tag: Doxyfile
|
||||
doxygen Doxyfile
|
||||
rm -rf api
|
||||
mv doxytmp/html api
|
||||
rm -rf doxytmp
|
||||
|
||||
doc_DATA = \
|
||||
FLAC.tag
|
||||
else
|
||||
if FLaC__HAS_PREBUILT_DOXYGEN
|
||||
doc_DATA = \
|
||||
FLAC.tag
|
||||
endif
|
||||
endif
|
||||
|
||||
EXTRA_DIST = Doxyfile.in doxygen.footer.html \
|
||||
isoflac.txt $(doc_DATA) CMakeLists.txt \
|
||||
api
|
||||
|
||||
if FLaC__HAS_DOXYGEN
|
||||
# The install targets don't copy whole directories so we have to
|
||||
# handle 'api/' specially:
|
||||
install-data-local:
|
||||
$(mkinstalldirs) $(DESTDIR)$(docdir)/api
|
||||
(cd $(builddir)/api && $(INSTALL_DATA) * $(DESTDIR)$(docdir)/api)
|
||||
uninstall-local:
|
||||
rm -rf $(DESTDIR)$(docdir)/api
|
||||
distclean-local:
|
||||
rm -rf FLAC.tag api doxytmp
|
||||
endif
|
||||
|
||||
if FLaC__HAS_PREBUILT_DOXYGEN
|
||||
# The install targets don't copy whole directories so we have to
|
||||
# handle 'api/' specially:
|
||||
install-data-local:
|
||||
$(mkinstalldirs) $(DESTDIR)$(docdir)/api
|
||||
(cd $(srcdir)/api && $(INSTALL_DATA) * $(DESTDIR)$(docdir)/api)
|
||||
uninstall-local:
|
||||
rm -rf $(DESTDIR)$(docdir)/api
|
||||
endif
|
||||
15
Engine/lib/flac/doc/doxygen.footer.html
Normal file
15
Engine/lib/flac/doc/doxygen.footer.html
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
<hr size="1"/>
|
||||
|
||||
Copyright (c) 2000-2009 Josh Coalson
|
||||
Copyright (c) 2011-2023 Xiph.Org Foundation
|
||||
|
||||
<!-- Copyright (c) 2000-2009 Josh Coalson -->
|
||||
<!-- Copyright (c) 2011-2023 Xiph.Org Foundation -->
|
||||
<!-- Permission is granted to copy, distribute and/or modify this document -->
|
||||
<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
|
||||
<!-- or any later version published by the Free Software Foundation; -->
|
||||
<!-- with no invariant sections. -->
|
||||
<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
|
||||
</body>
|
||||
</html>
|
||||
25
Engine/lib/flac/doc/images/Makefile.am
Normal file
25
Engine/lib/flac/doc/images/Makefile.am
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# FLAC - Free Lossless Audio Codec
|
||||
# Copyright (C) 2001-2009 Josh Coalson
|
||||
# Copyright (C) 2011-2023 Xiph.Org Foundation
|
||||
#
|
||||
# This file is part the FLAC project. FLAC is comprised of several
|
||||
# components distributed under different licenses. The codec libraries
|
||||
# are distributed under Xiph.Org's BSD-like license (see the file
|
||||
# COPYING.Xiph in this distribution). All other programs, libraries, and
|
||||
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
|
||||
# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
|
||||
# FLAC distribution contains at the top the terms under which it may be
|
||||
# distributed.
|
||||
#
|
||||
# Since this particular file is relevant to all components of FLAC,
|
||||
# it may be distributed under the Xiph.Org license, which is the least
|
||||
# restrictive of those mentioned above. See the file COPYING.Xiph in this
|
||||
# distribution.
|
||||
|
||||
logosdir = $(htmldir)/images
|
||||
|
||||
logos_DATA = \
|
||||
logo.svg \
|
||||
logo130.gif
|
||||
|
||||
EXTRA_DIST = $(logos_DATA)
|
||||
431
Engine/lib/flac/doc/images/logo.svg
Normal file
431
Engine/lib/flac/doc/images/logo.svg
Normal file
|
|
@ -0,0 +1,431 @@
|
|||
<?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"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
width="262"
|
||||
height="130"
|
||||
sodipodi:docname="logo.svg"
|
||||
inkscape:export-filename="/home/martijn/bin/flac/doc/html/images/logo130.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4747">
|
||||
<rect
|
||||
y="108.66365"
|
||||
x="58.024467"
|
||||
height="31.744326"
|
||||
width="208.41971"
|
||||
id="rect4749"
|
||||
style="fill:#ffffff;fill-opacity:0.91542287;stroke:#41b348;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="971"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="3.8432063"
|
||||
inkscape:cx="50.316519"
|
||||
inkscape:cy="46.312655"
|
||||
inkscape:window-x="-4"
|
||||
inkscape:window-y="-6"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="rect2987"
|
||||
width="262"
|
||||
height="130"
|
||||
x="0"
|
||||
y="1.7763568e-15" />
|
||||
<rect
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none"
|
||||
id="rect2989"
|
||||
width="8.3984327"
|
||||
height="11.97043"
|
||||
x="2.8360443"
|
||||
y="114.36095"
|
||||
inkscape:tile-cx="7.0352583"
|
||||
inkscape:tile-cy="120.34616"
|
||||
inkscape:tile-w="8.3984327"
|
||||
inkscape:tile-h="11.97043"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
inkscape:tile-y0="114.36095" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="114.36095"
|
||||
x="2.8360443"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4591"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="98.440277"
|
||||
x="2.8360443"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4593"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="82.5196"
|
||||
x="2.8360443"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4595"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="66.59893"
|
||||
x="2.8360443"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4597"
|
||||
style="fill:#ffff00;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="50.678257"
|
||||
x="2.8360443"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4599"
|
||||
style="fill:#ffff00;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="34.757584"
|
||||
x="2.8360443"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4601"
|
||||
style="fill:#ffff00;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="18.836912"
|
||||
x="2.8360443"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4603"
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="2.9162366"
|
||||
x="2.8360443"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4605"
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="114.36095"
|
||||
x="15.853616"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4607"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="98.440277"
|
||||
x="15.853616"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4609"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="82.5196"
|
||||
x="15.853616"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4611"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="66.59893"
|
||||
x="15.853616"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4613"
|
||||
style="fill:#ffff00;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="50.678257"
|
||||
x="15.853616"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4615"
|
||||
style="fill:#ffff00;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="34.757584"
|
||||
x="15.853616"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4617"
|
||||
style="fill:#ffff00;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="114.36095"
|
||||
x="28.871185"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4623"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="98.440277"
|
||||
x="28.871185"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4625"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="82.5196"
|
||||
x="28.871185"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4627"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="66.59893"
|
||||
x="28.871185"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4629"
|
||||
style="fill:#ffff00;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="50.678257"
|
||||
x="28.871185"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4631"
|
||||
style="fill:#ffff00;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="34.757584"
|
||||
x="28.871185"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4633"
|
||||
style="fill:#ffff00;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="18.836912"
|
||||
x="28.871185"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4635"
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="114.36095"
|
||||
x="41.888756"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4639"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="98.440277"
|
||||
x="41.888756"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4641"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="82.5196"
|
||||
x="41.888756"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4643"
|
||||
style="fill:#34a02c;fill-opacity:1;stroke:none" />
|
||||
<rect
|
||||
inkscape:tile-y0="114.36095"
|
||||
inkscape:tile-x0="2.8360419"
|
||||
y="66.59893"
|
||||
x="41.888756"
|
||||
height="11.97043"
|
||||
width="8.3984327"
|
||||
id="use4645"
|
||||
style="fill:#ffff00;fill-opacity:1;stroke:none" />
|
||||
<g
|
||||
id="g4740"
|
||||
style="fill:#ffffff;fill-opacity:1">
|
||||
<path
|
||||
id="path4719"
|
||||
d="m 167.09375,30.28125 c -4.98582,-0.05597 -10.83371,0.544011 -17.65625,2.03125 L 146.25,50.90625 c 6.2402,-3.841378 28.72275,-6.439176 29.15625,4.03125 l 0.25,6.375 c -20.10772,-13.818292 -38.48096,-0.631226 -39.0625,19.125 -0.58154,19.75623 24.38101,31.46172 38.875,16 l 0.0625,5.875 17.375,-1.53125 1.15625,-49.375 c 0.19095,-8.148311 -5.36352,-20.882474 -26.96875,-21.125 z m -1.90625,38.875 c 5.33673,0 9.65625,4.075677 9.65625,9.125 0,5.049323 -4.31952,9.15625 -9.65625,9.15625 -5.33673,0 -9.65625,-4.106927 -9.65625,-9.15625 0,-5.049323 4.31952,-9.125 9.65625,-9.125 z"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccccccccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4705"
|
||||
d="m 66.419944,102.30969 20.238764,-2.29986 0,-49.492976 10.855337,0 0,-17.662922 -11.223315,0 c 1.030499,-9.919211 4.729089,-9.43064 17.29494,-9.199438 L 98.617978,4.335674 C 88.053405,4.3210512 66.008231,6.32016 66.419944,32.669944 l -6.807584,0 -3.863764,17.662921 10.671348,0.183989 z"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 108.94803,102.30969 20.23877,-2.29986 0,-93.3270875 -20.23877,2.2078652 z"
|
||||
id="path4707"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
sodipodi:nodetypes="sssccsccccs"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4723"
|
||||
d="m 231.29725,30.118335 c -9.62029,0.652151 -17.24238,4.090284 -24.04461,11.842706 -13.60446,15.504845 -12.39784,39.604586 3.18708,53.122515 15.58492,13.517924 40.64278,8.399604 47.71564,-0.389642 L 247.34775,78.958636 c -6.47017,7.37397 -15.93762,7.267658 -23.36382,0.82638 -7.42621,-6.441278 -8.1621,-17.252972 -1.69193,-24.626942 l 0.11279,-0.112795 c 6.48447,-7.259969 17.70592,-7.662694 25.09092,-1.257152 l 10.86397,-15.411334 c -7.76321,-6.645971 -17.51834,-8.905444 -27.06243,-8.258458 z"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
|
||||
</g>
|
||||
<g
|
||||
style="font-size:17.05998611px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Swis721 BT;-inkscape-font-specification:Swis721 BT"
|
||||
id="text4751">
|
||||
<path
|
||||
d="m 70.858501,114.93679 0,1.16008 -1.484218,0 0,7.77935 -1.415979,0 0,-7.77935 -1.194199,0 0,-1.16008 1.194199,0 0,-1.51834 c -2e-6,-0.6369 0.181971,-1.13163 0.545919,-1.48422 0.375318,-0.36393 0.892803,-0.54591 1.552459,-0.54592 0.261583,10e-6 0.528855,0.0284 0.801819,0.0853 l 0,1.17714 c -0.216097,-0.0114 -0.38101,-0.017 -0.494739,-0.0171 -0.659656,1e-5 -0.989482,0.3014 -0.989479,0.90418 l 0,1.39892 1.484218,0"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4756" />
|
||||
<path
|
||||
d="m 76.510422,116.18217 c -0.955364,0.0228 -1.671883,0.24453 -2.149559,0.66534 -0.477682,0.42082 -0.716521,1.21695 -0.716519,2.38839 l 0,4.64032 -1.433039,0 0,-8.93943 1.313619,0 0,1.6207 c 0.409437,-0.67102 0.801816,-1.1487 1.177139,-1.43304 0.386689,-0.2957 0.807502,-0.44355 1.262439,-0.44356 0.125102,10e-6 0.307075,0.0171 0.54592,0.0512 l 0,1.4501"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4758" />
|
||||
<path
|
||||
d="m 85.433328,119.88418 -6.585155,0 c 0.02275,0.93262 0.261584,1.67757 0.71652,2.23486 0.466303,0.5573 1.103208,0.83594 1.910718,0.83594 1.160073,0 1.939145,-0.5971 2.337218,-1.7913 l 1.433039,0 c -0.181981,0.97811 -0.608481,1.74012 -1.279499,2.28604 -0.671033,0.54592 -1.518344,0.81888 -2.541938,0.81888 -1.251069,0 -2.240547,-0.42081 -2.968438,-1.26244 -0.727893,-0.853 -1.091839,-2.01307 -1.091839,-3.48024 0,-1.46715 0.369632,-2.6386 1.108899,-3.51435 0.750637,-0.88711 1.745802,-1.33067 2.985498,-1.33068 2.649977,10e-6 3.974968,1.73444 3.974977,5.20329 m -6.551035,-1.16008 5.032696,0 c -7e-6,-0.77338 -0.23316,-1.42165 -0.699459,-1.94483 -0.466313,-0.52317 -1.057725,-0.78476 -1.774239,-0.78476 -0.716523,0 -1.307936,0.25022 -1.774239,0.75064 -0.466308,0.48906 -0.727894,1.14871 -0.784759,1.97895"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4760" />
|
||||
<path
|
||||
d="m 94.529766,119.88418 -6.585154,0 c 0.02274,0.93262 0.261584,1.67757 0.716519,2.23486 0.466303,0.5573 1.103209,0.83594 1.910718,0.83594 1.160074,0 1.939146,-0.5971 2.337218,-1.7913 l 1.433039,0 c -0.181981,0.97811 -0.60848,1.74012 -1.279499,2.28604 -0.671032,0.54592 -1.518344,0.81888 -2.541938,0.81888 -1.251069,0 -2.240547,-0.42081 -2.968437,-1.26244 -0.727894,-0.853 -1.09184,-2.01307 -1.091839,-3.48024 -10e-7,-1.46715 0.369632,-2.6386 1.108899,-3.51435 0.750637,-0.88711 1.745802,-1.33067 2.985497,-1.33068 2.649978,10e-6 3.974969,1.73444 3.974977,5.20329 m -6.551035,-1.16008 5.032696,0 c -7e-6,-0.77338 -0.23316,-1.42165 -0.699459,-1.94483 -0.466312,-0.52317 -1.057724,-0.78476 -1.774239,-0.78476 -0.716523,0 -1.307935,0.25022 -1.774238,0.75064 -0.466309,0.48906 -0.727895,1.14871 -0.78476,1.97895"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4762" />
|
||||
<path
|
||||
d="m 102.74554,111.43949 0,12.43673 -1.43304,0 0,-12.43673 1.43304,0"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4764" />
|
||||
<path
|
||||
d="m 108.49209,114.68089 c 1.28518,10e-6 2.28034,0.42651 2.9855,1.2795 0.71651,0.84163 1.07477,2.03583 1.07478,3.58259 -1e-5,1.46717 -0.36396,2.62156 -1.09184,3.46318 -0.71653,0.84163 -1.70032,1.26244 -2.95138,1.26244 -1.27382,0 -2.26898,-0.42081 -2.9855,-1.26244 -0.70515,-0.853 -1.05772,-2.03013 -1.05772,-3.53142 0,-1.50127 0.35826,-2.67272 1.07478,-3.51435 0.71652,-0.85299 1.70031,-1.27949 2.95138,-1.2795 m 0.0171,1.31362 c -0.79614,0 -1.42167,0.31277 -1.8766,0.9383 -0.45494,0.61416 -0.6824,1.46147 -0.6824,2.54193 0,1.08047 0.22746,1.93347 0.6824,2.559 0.45493,0.61416 1.08046,0.92124 1.8766,0.92124 0.78475,0 1.4046,-0.30708 1.85954,-0.92124 0.4663,-0.62553 0.69945,-1.46147 0.69946,-2.50782 -1e-5,-1.1032 -0.22748,-1.96757 -0.6824,-2.59311 -0.44357,-0.62553 -1.0691,-0.9383 -1.8766,-0.9383"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4766" />
|
||||
<path
|
||||
d="m 115.13189,121.21486 c 0.0682,0.53455 0.25021,0.96105 0.54592,1.2795 0.30707,0.30708 0.85299,0.46062 1.63775,0.46062 0.62553,0 1.12596,-0.1251 1.50128,-0.37532 0.38669,-0.26158 0.58004,-0.60278 0.58004,-1.0236 0,-0.32982 -0.10805,-0.59141 -0.32414,-0.78476 -0.2161,-0.19334 -0.56867,-0.34688 -1.05772,-0.46062 l -1.33068,-0.32414 c -1.05772,-0.25021 -1.79698,-0.56297 -2.21779,-0.9383 -0.40944,-0.38668 -0.61416,-0.9326 -0.61416,-1.63775 0,-0.83025 0.31276,-1.4899 0.9383,-1.97896 0.62553,-0.50042 1.45578,-0.75063 2.49075,-0.75064 1.03497,10e-6 1.8311,0.23885 2.3884,0.71652 0.55729,0.47769 0.84162,1.1544 0.853,2.03014 l -1.50128,0 c -0.0341,-0.95536 -0.63122,-1.43304 -1.7913,-1.43304 -0.58004,0 -1.04066,0.12511 -1.38185,0.37532 -0.34121,0.23884 -0.51181,0.56298 -0.5118,0.97242 -10e-6,0.31846 0.13079,0.58004 0.39238,0.78476 0.26158,0.19335 0.68239,0.35826 1.26243,0.49473 l 1.3648,0.32414 c 0.88712,0.2161 1.52971,0.52318 1.92778,0.92124 0.39806,0.3867 0.59709,0.90987 0.5971,1.56952 -1e-5,0.86438 -0.33552,1.55246 -1.00654,2.06426 -0.65966,0.5118 -1.55246,0.7677 -2.67842,0.7677 -2.30878,0 -3.49729,-1.01791 -3.56553,-3.05374 l 1.50128,0"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4768" />
|
||||
<path
|
||||
d="m 123.5286,121.21486 c 0.0682,0.53455 0.25021,0.96105 0.54592,1.2795 0.30708,0.30708 0.85299,0.46062 1.63776,0.46062 0.62553,0 1.12595,-0.1251 1.50128,-0.37532 0.38668,-0.26158 0.58003,-0.60278 0.58004,-1.0236 -1e-5,-0.32982 -0.10806,-0.59141 -0.32414,-0.78476 -0.2161,-0.19334 -0.56868,-0.34688 -1.05772,-0.46062 l -1.33068,-0.32414 c -1.05772,-0.25021 -1.79699,-0.56297 -2.2178,-0.9383 -0.40944,-0.38668 -0.61416,-0.9326 -0.61416,-1.63775 0,-0.83025 0.31277,-1.4899 0.9383,-1.97896 0.62553,-0.50042 1.45578,-0.75063 2.49076,-0.75064 1.03496,10e-6 1.8311,0.23885 2.3884,0.71652 0.55728,0.47769 0.84161,1.1544 0.85299,2.03014 l -1.50127,0 c -0.0341,-0.95536 -0.63123,-1.43304 -1.7913,-1.43304 -0.58005,0 -1.04066,0.12511 -1.38186,0.37532 -0.3412,0.23884 -0.5118,0.56298 -0.5118,0.97242 0,0.31846 0.13079,0.58004 0.39238,0.78476 0.26158,0.19335 0.68239,0.35826 1.26244,0.49473 l 1.3648,0.32414 c 0.88711,0.2161 1.5297,0.52318 1.92777,0.92124 0.39806,0.3867 0.5971,0.90987 0.5971,1.56952 0,0.86438 -0.33552,1.55246 -1.00653,2.06426 -0.65966,0.5118 -1.55247,0.7677 -2.67842,0.7677 -2.30879,0 -3.4973,-1.01791 -3.56554,-3.05374 l 1.50128,0"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4770" />
|
||||
<path
|
||||
d="m 132.30063,111.43949 0,12.43673 -1.43304,0 0,-12.43673 1.43304,0"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4772" />
|
||||
<path
|
||||
d="m 142.0904,119.88418 -6.58516,0 c 0.0228,0.93262 0.26159,1.67757 0.71652,2.23486 0.4663,0.5573 1.10321,0.83594 1.91072,0.83594 1.16007,0 1.93915,-0.5971 2.33722,-1.7913 l 1.43304,0 c -0.18198,0.97811 -0.60848,1.74012 -1.2795,2.28604 -0.67103,0.54592 -1.51835,0.81888 -2.54194,0.81888 -1.25107,0 -2.24055,-0.42081 -2.96844,-1.26244 -0.72789,-0.853 -1.09184,-2.01307 -1.09184,-3.48024 0,-1.46715 0.36964,-2.6386 1.1089,-3.51435 0.75064,-0.88711 1.7458,-1.33067 2.9855,-1.33068 2.64998,10e-6 3.97497,1.73444 3.97498,5.20329 m -6.55104,-1.16008 5.0327,0 c -1e-5,-0.77338 -0.23316,-1.42165 -0.69946,-1.94483 -0.46631,-0.52317 -1.05773,-0.78476 -1.77424,-0.78476 -0.71652,0 -1.30794,0.25022 -1.77424,0.75064 -0.46631,0.48906 -0.72789,1.14871 -0.78476,1.97895"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4774" />
|
||||
<path
|
||||
d="m 144.68698,121.21486 c 0.0682,0.53455 0.25021,0.96105 0.54592,1.2795 0.30707,0.30708 0.85299,0.46062 1.63776,0.46062 0.62552,0 1.12595,-0.1251 1.50127,-0.37532 0.38669,-0.26158 0.58004,-0.60278 0.58004,-1.0236 0,-0.32982 -0.10805,-0.59141 -0.32414,-0.78476 -0.21609,-0.19334 -0.56867,-0.34688 -1.05771,-0.46062 l -1.33068,-0.32414 c -1.05773,-0.25021 -1.79699,-0.56297 -2.2178,-0.9383 -0.40944,-0.38668 -0.61416,-0.9326 -0.61416,-1.63775 0,-0.83025 0.31276,-1.4899 0.9383,-1.97896 0.62553,-0.50042 1.45578,-0.75063 2.49076,-0.75064 1.03496,10e-6 1.8311,0.23885 2.38839,0.71652 0.55729,0.47769 0.84162,1.1544 0.853,2.03014 l -1.50128,0 c -0.0341,-0.95536 -0.63122,-1.43304 -1.79129,-1.43304 -0.58005,0 -1.04067,0.12511 -1.38186,0.37532 -0.3412,0.23884 -0.5118,0.56298 -0.5118,0.97242 0,0.31846 0.13079,0.58004 0.39238,0.78476 0.26158,0.19335 0.68239,0.35826 1.26244,0.49473 l 1.3648,0.32414 c 0.88711,0.2161 1.5297,0.52318 1.92777,0.92124 0.39806,0.3867 0.5971,0.90987 0.5971,1.56952 0,0.86438 -0.33552,1.55246 -1.00654,2.06426 -0.65966,0.5118 -1.55246,0.7677 -2.67841,0.7677 -2.30879,0 -3.4973,-1.01791 -3.56554,-3.05374 l 1.50128,0"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4776" />
|
||||
<path
|
||||
d="m 153.08369,121.21486 c 0.0682,0.53455 0.25021,0.96105 0.54592,1.2795 0.30708,0.30708 0.853,0.46062 1.63776,0.46062 0.62553,0 1.12595,-0.1251 1.50128,-0.37532 0.38668,-0.26158 0.58003,-0.60278 0.58004,-1.0236 -1e-5,-0.32982 -0.10806,-0.59141 -0.32414,-0.78476 -0.2161,-0.19334 -0.56867,-0.34688 -1.05772,-0.46062 l -1.33068,-0.32414 c -1.05772,-0.25021 -1.79699,-0.56297 -2.2178,-0.9383 -0.40944,-0.38668 -0.61416,-0.9326 -0.61416,-1.63775 0,-0.83025 0.31277,-1.4899 0.9383,-1.97896 0.62553,-0.50042 1.45578,-0.75063 2.49076,-0.75064 1.03497,10e-6 1.8311,0.23885 2.3884,0.71652 0.55728,0.47769 0.84162,1.1544 0.853,2.03014 l -1.50128,0 c -0.0341,-0.95536 -0.63123,-1.43304 -1.7913,-1.43304 -0.58004,0 -1.04066,0.12511 -1.38186,0.37532 -0.3412,0.23884 -0.5118,0.56298 -0.5118,0.97242 0,0.31846 0.13079,0.58004 0.39238,0.78476 0.26158,0.19335 0.6824,0.35826 1.26244,0.49473 l 1.3648,0.32414 c 0.88711,0.2161 1.5297,0.52318 1.92778,0.92124 0.39806,0.3867 0.59709,0.90987 0.5971,1.56952 -1e-5,0.86438 -0.33552,1.55246 -1.00654,2.06426 -0.65966,0.5118 -1.55247,0.7677 -2.67842,0.7677 -2.30879,0 -3.4973,-1.01791 -3.56554,-3.05374 l 1.50128,0"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4778" />
|
||||
<path
|
||||
d="m 165.54714,117.58109 c 0.0682,-1.93346 1.26244,-2.90019 3.5826,-2.9002 1.1032,10e-6 1.93914,0.21041 2.50781,0.63122 0.56866,0.40945 0.853,1.01223 0.853,1.80836 l 0,5.25447 c 0,0.46631 0.25589,0.69946 0.7677,0.69946 0.10235,0 0.20471,-0.0114 0.30708,-0.0341 l 0,1.07478 c -0.39807,0.10236 -0.72221,0.15354 -0.97242,0.15354 -0.45494,0 -0.80182,-0.10805 -1.04066,-0.32414 -0.22747,-0.20472 -0.36964,-0.53455 -0.4265,-0.98948 -0.95536,0.87575 -1.96759,1.31362 -3.03667,1.31362 -0.8985,0 -1.61502,-0.23884 -2.14956,-0.71652 -0.52318,-0.47768 -0.78476,-1.12027 -0.78476,-1.92778 0,-0.26158 0.0228,-0.50042 0.0682,-0.71652 0.0569,-0.21609 0.11373,-0.40375 0.1706,-0.56298 0.0682,-0.17059 0.18197,-0.32413 0.3412,-0.46062 0.15922,-0.14785 0.29002,-0.26726 0.39238,-0.35826 0.11373,-0.091 0.2957,-0.17628 0.54592,-0.2559 0.26158,-0.091 0.46062,-0.15353 0.5971,-0.18766 0.13647,-0.0455 0.37531,-0.0967 0.71652,-0.15354 0.34119,-0.0569 0.59141,-0.0967 0.75064,-0.11942 0.15922,-0.0227 0.44355,-0.0625 0.853,-0.11942 0.55728,-0.0682 0.94398,-0.17628 1.16007,-0.32413 0.21609,-0.14785 0.32414,-0.36963 0.32414,-0.66534 l 0,-0.37532 c 0,-0.43218 -0.17629,-0.76201 -0.52886,-0.98948 -0.3412,-0.22746 -0.83025,-0.3412 -1.46715,-0.3412 -0.65966,0 -1.16009,0.1308 -1.50128,0.39238 -0.34121,0.25022 -0.54024,0.64828 -0.5971,1.1942 l -1.43304,0 m 2.84902,5.44213 c 0.78475,0 1.42734,-0.20472 1.92777,-0.61416 0.50043,-0.42081 0.75064,-0.87006 0.75064,-1.34774 l 0,-1.60364 c -0.28433,0.13649 -0.71652,0.25022 -1.29655,0.3412 -0.56868,0.091 -1.06341,0.17061 -1.48422,0.23884 -0.42082,0.0683 -0.80183,0.23316 -1.14302,0.49474 -0.3412,0.25022 -0.5118,0.60279 -0.5118,1.05772 0,0.45494 0.15354,0.80751 0.46062,1.05772 0.30707,0.25022 0.73926,0.37532 1.29656,0.37532"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4780" />
|
||||
<path
|
||||
d="m 182.04361,123.87622 -1.2795,0 0,-1.24538 c -0.42082,0.59142 -0.85869,1.01223 -1.31362,1.26244 -0.45493,0.25021 -1.01223,0.37532 -1.67187,0.37532 -0.86438,0 -1.55815,-0.22178 -2.08132,-0.66534 -0.5118,-0.44356 -0.7677,-1.03497 -0.7677,-1.77424 l 0,-6.89223 1.41598,0 0,6.32925 c -1e-5,0.53455 0.16491,0.96105 0.49474,1.2795 0.32982,0.31846 0.77906,0.47768 1.34773,0.47768 0.73927,0 1.33068,-0.27296 1.77424,-0.81888 0.44356,-0.55729 0.66534,-1.29087 0.66534,-2.20074 l 0,-5.06681 1.41598,0 0,8.93943"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4782" />
|
||||
<path
|
||||
d="m 191.58201,111.43949 0,12.43673 -1.26244,0 0,-1.17714 c -0.3867,0.5573 -0.80751,0.95536 -1.26244,1.1942 -0.44356,0.25021 -0.97242,0.37532 -1.58658,0.37532 -1.20557,0 -2.15524,-0.43219 -2.84901,-1.29656 -0.69378,-0.87574 -1.04066,-2.06994 -1.04066,-3.5826 0,-1.42166 0.34688,-2.55899 1.04066,-3.41199 0.70514,-0.86437 1.63775,-1.29655 2.79783,-1.29656 1.22832,10e-6 2.14387,0.46063 2.74666,1.38186 l 0,-4.62326 1.41598,0 m -3.9238,4.57208 c -0.77339,0 -1.39892,0.31846 -1.8766,0.95536 -0.47768,0.63691 -0.71652,1.47285 -0.71652,2.50781 0,1.04635 0.23884,1.88798 0.71652,2.52488 0.47768,0.62554 1.1089,0.9383 1.89366,0.9383 0.75064,0 1.35342,-0.31276 1.80836,-0.9383 0.45493,-0.62553 0.68239,-1.45578 0.6824,-2.49076 -1e-5,-1.06908 -0.22747,-1.91639 -0.6824,-2.54193 -0.45494,-0.6369 -1.06341,-0.95536 -1.82542,-0.95536"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4784" />
|
||||
<path
|
||||
d="m 195.15768,114.93679 0,8.93943 -1.41598,0 0,-8.93943 1.41598,0 m 0,-3.4973 0,1.7913 -1.43304,0 0,-1.7913 1.43304,0"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4786" />
|
||||
<path
|
||||
d="m 200.93515,114.68089 c 1.28518,10e-6 2.28034,0.42651 2.9855,1.2795 0.71651,0.84163 1.07477,2.03583 1.07478,3.58259 -1e-5,1.46717 -0.36396,2.62156 -1.09184,3.46318 -0.71653,0.84163 -1.70032,1.26244 -2.95138,1.26244 -1.27382,0 -2.26898,-0.42081 -2.9855,-1.26244 -0.70514,-0.853 -1.05772,-2.03013 -1.05772,-3.53142 0,-1.50127 0.35826,-2.67272 1.07478,-3.51435 0.71652,-0.85299 1.70031,-1.27949 2.95138,-1.2795 m 0.0171,1.31362 c -0.79614,0 -1.42167,0.31277 -1.8766,0.9383 -0.45493,0.61416 -0.6824,1.46147 -0.6824,2.54193 0,1.08047 0.22747,1.93347 0.6824,2.559 0.45493,0.61416 1.08046,0.92124 1.8766,0.92124 0.78475,0 1.4046,-0.30708 1.85954,-0.92124 0.4663,-0.62553 0.69945,-1.46147 0.69946,-2.50782 -1e-5,-1.1032 -0.22748,-1.96757 -0.6824,-2.59311 -0.44357,-0.62553 -1.0691,-0.9383 -1.8766,-0.9383"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4788" />
|
||||
<path
|
||||
d="m 218.75569,117.93935 -1.43304,0 c -0.091,-0.62553 -0.31846,-1.10321 -0.6824,-1.43304 -0.36395,-0.3412 -0.84163,-0.5118 -1.43304,-0.5118 -0.77339,0 -1.38186,0.31846 -1.82542,0.95536 -0.43219,0.62554 -0.64828,1.49559 -0.64828,2.61017 0,1.05773 0.22178,1.88798 0.66534,2.49076 0.44356,0.60279 1.05772,0.90418 1.84248,0.90418 1.21694,0 1.94483,-0.71652 2.18368,-2.14956 l 1.43304,0 c -0.091,1.09184 -0.45494,1.94484 -1.09184,2.559 -0.63691,0.60279 -1.48991,0.90418 -2.559,0.90418 -1.21695,0 -2.18368,-0.42081 -2.9002,-1.26244 -0.70514,-0.853 -1.05772,-2.0017 -1.05771,-3.44612 -1e-5,-1.47852 0.35825,-2.66135 1.07477,-3.54847 0.72789,-0.88711 1.69463,-1.33067 2.9002,-1.33068 1.03497,10e-6 1.85953,0.27865 2.4737,0.83594 0.62552,0.5573 0.9781,1.3648 1.05772,2.42252"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4790" />
|
||||
<path
|
||||
d="m 223.90541,114.68089 c 1.28518,10e-6 2.28035,0.42651 2.9855,1.2795 0.71651,0.84163 1.07477,2.03583 1.07478,3.58259 -1e-5,1.46717 -0.36396,2.62156 -1.09184,3.46318 -0.71653,0.84163 -1.70032,1.26244 -2.95138,1.26244 -1.27381,0 -2.26898,-0.42081 -2.9855,-1.26244 -0.70514,-0.853 -1.05772,-2.03013 -1.05772,-3.53142 0,-1.50127 0.35826,-2.67272 1.07478,-3.51435 0.71652,-0.85299 1.70031,-1.27949 2.95138,-1.2795 m 0.0171,1.31362 c -0.79614,0 -1.42167,0.31277 -1.8766,0.9383 -0.45493,0.61416 -0.6824,1.46147 -0.6824,2.54193 0,1.08047 0.22747,1.93347 0.6824,2.559 0.45493,0.61416 1.08046,0.92124 1.8766,0.92124 0.78475,0 1.4046,-0.30708 1.85954,-0.92124 0.4663,-0.62553 0.69945,-1.46147 0.69946,-2.50782 -1e-5,-1.1032 -0.22747,-1.96757 -0.6824,-2.59311 -0.44357,-0.62553 -1.0691,-0.9383 -1.8766,-0.9383"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4792" />
|
||||
<path
|
||||
d="m 236.97682,111.43949 0,12.43673 -1.26244,0 0,-1.17714 c -0.3867,0.5573 -0.80751,0.95536 -1.26243,1.1942 -0.44357,0.25021 -0.97243,0.37532 -1.58658,0.37532 -1.20558,0 -2.15525,-0.43219 -2.84902,-1.29656 -0.69377,-0.87574 -1.04066,-2.06994 -1.04066,-3.5826 0,-1.42166 0.34689,-2.55899 1.04066,-3.41199 0.70514,-0.86437 1.63775,-1.29655 2.79784,-1.29656 1.22831,10e-6 2.14386,0.46063 2.74665,1.38186 l 0,-4.62326 1.41598,0 m -3.92379,4.57208 c -0.77339,0 -1.39893,0.31846 -1.8766,0.95536 -0.47768,0.63691 -0.71652,1.47285 -0.71652,2.50781 0,1.04635 0.23884,1.88798 0.71652,2.52488 0.47767,0.62554 1.10889,0.9383 1.89366,0.9383 0.75063,0 1.35342,-0.31276 1.80835,-0.9383 0.45493,-0.62553 0.6824,-1.45578 0.6824,-2.49076 0,-1.06908 -0.22747,-1.91639 -0.6824,-2.54193 -0.45493,-0.6369 -1.06341,-0.95536 -1.82541,-0.95536"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4794" />
|
||||
<path
|
||||
d="m 246.57467,119.88418 -6.58516,0 c 0.0228,0.93262 0.26158,1.67757 0.71652,2.23486 0.4663,0.5573 1.10321,0.83594 1.91072,0.83594 1.16007,0 1.93914,-0.5971 2.33722,-1.7913 l 1.43304,0 c -0.18199,0.97811 -0.60849,1.74012 -1.2795,2.28604 -0.67104,0.54592 -1.51835,0.81888 -2.54194,0.81888 -1.25107,0 -2.24055,-0.42081 -2.96844,-1.26244 -0.72789,-0.853 -1.09184,-2.01307 -1.09184,-3.48024 0,-1.46715 0.36963,-2.6386 1.1089,-3.51435 0.75064,-0.88711 1.7458,-1.33067 2.9855,-1.33068 2.64998,10e-6 3.97497,1.73444 3.97498,5.20329 m -6.55104,-1.16008 5.0327,0 c -1e-5,-0.77338 -0.23316,-1.42165 -0.69946,-1.94483 -0.46632,-0.52317 -1.05773,-0.78476 -1.77424,-0.78476 -0.71652,0 -1.30794,0.25022 -1.77424,0.75064 -0.46631,0.48906 -0.72789,1.14871 -0.78476,1.97895"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4796" />
|
||||
<path
|
||||
d="m 255.10812,117.93935 -1.43304,0 c -0.091,-0.62553 -0.31846,-1.10321 -0.6824,-1.43304 -0.36395,-0.3412 -0.84163,-0.5118 -1.43304,-0.5118 -0.77339,0 -1.38186,0.31846 -1.82541,0.95536 -0.43219,0.62554 -0.64829,1.49559 -0.64828,2.61017 -1e-5,1.05773 0.22177,1.88798 0.66534,2.49076 0.44355,0.60279 1.05771,0.90418 1.84247,0.90418 1.21694,0 1.94484,-0.71652 2.18368,-2.14956 l 1.43304,0 c -0.091,1.09184 -0.45494,1.94484 -1.09184,2.559 -0.63691,0.60279 -1.48991,0.90418 -2.559,0.90418 -1.21694,0 -2.18368,-0.42081 -2.90019,-1.26244 -0.70515,-0.853 -1.05772,-2.0017 -1.05772,-3.44612 0,-1.47852 0.35826,-2.66135 1.07478,-3.54847 0.72789,-0.88711 1.69462,-1.33067 2.90019,-1.33068 1.03497,10e-6 1.85954,0.27865 2.4737,0.83594 0.62553,0.5573 0.9781,1.3648 1.05772,2.42252"
|
||||
style="word-spacing:0.97887385px;fill:#ffffff;font-family:FreeSans;-inkscape-font-specification:FreeSans"
|
||||
id="path4798" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 31 KiB |
BIN
Engine/lib/flac/doc/images/logo130.gif
Normal file
BIN
Engine/lib/flac/doc/images/logo130.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
666
Engine/lib/flac/doc/isoflac.txt
Normal file
666
Engine/lib/flac/doc/isoflac.txt
Normal file
|
|
@ -0,0 +1,666 @@
|
|||
Encapsulation of FLAC in ISO Base Media File Format
|
||||
Version 0.0.4
|
||||
|
||||
Table of Contents
|
||||
1 Scope
|
||||
2 Supporting Normative References
|
||||
3 Design Rules of Encapsulation
|
||||
3.1 File Type Identification
|
||||
3.2 Overview of Track Structure
|
||||
3.3 Definition of FLAC sample
|
||||
3.3.1 Sample entry format
|
||||
3.3.2 FLAC Specific Box
|
||||
3.3.3 Sample format
|
||||
3.3.4 Duration of FLAC sample
|
||||
3.3.5 Sub-sample
|
||||
3.3.6 Random Access
|
||||
3.3.6.1 Random Access Point
|
||||
3.4 Basic Structure (informative)
|
||||
3.4.1 Initial Movie
|
||||
3.5 Example of Encapsulation (informative)
|
||||
4 Acknowledgements
|
||||
5 Author's Address
|
||||
|
||||
1 Scope
|
||||
|
||||
This document specifies the normative mapping for encapsulation of
|
||||
FLAC coded audio bitstreams in ISO Base Media file format and its
|
||||
derivatives. The encapsulation of FLAC coded bitstreams in
|
||||
QuickTime file format is outside the scope of this specification.
|
||||
|
||||
2 Supporting Normative References
|
||||
|
||||
[1] ISO/IEC 14496-12:2012 Corrected version
|
||||
|
||||
Information technology — Coding of audio-visual objects — Part
|
||||
12: ISO base media file format
|
||||
|
||||
[2] ISO/IEC 14496-12:2012/Amd.1:2013
|
||||
|
||||
Information technology — Coding of audio-visual objects — Part
|
||||
12: ISO base media file format AMENDMENT 1: Various
|
||||
enhancements including support for large metadata
|
||||
|
||||
[3] FLAC format specification
|
||||
|
||||
https://xiph.org/flac/format.html
|
||||
|
||||
Definition of the FLAC Audio Codec stream format
|
||||
|
||||
[4] FLAC-in-Ogg mapping specification
|
||||
|
||||
https://xiph.org/flac/ogg_mapping.html
|
||||
|
||||
Ogg Encapsulation for the FLAC Audio Codec
|
||||
|
||||
[5] Matroska specification
|
||||
|
||||
3 Design Rules of Encapsulation
|
||||
|
||||
3.1 File Type Identification
|
||||
|
||||
This specification does not define any brand to declare files
|
||||
which conform to this specification. Files which conform to
|
||||
this specification shall contain at least one brand which
|
||||
supports the requirements and the requirements described in
|
||||
this clause without contradiction in the compatible brands
|
||||
list of the File Type Box. The minimal support of the
|
||||
encapsulation of FLAC bitstreams in ISO Base Media file format
|
||||
requires the 'isom' brand.
|
||||
|
||||
3.2 Overview of Track Structure
|
||||
|
||||
FLAC coded audio shall be encapsulated into the ISO Base
|
||||
Media File Format as media data within an audio track.
|
||||
|
||||
+ The handler_type field in the Handler Reference Box
|
||||
shall be set to 'soun'.
|
||||
|
||||
+ The Media Information Box shall contain the Sound Media
|
||||
Header Box.
|
||||
|
||||
+ The codingname of the sample entry is 'fLaC'.
|
||||
|
||||
This specification does not define any encapsulation
|
||||
using MP4AudioSampleEntry with objectTypeIndication
|
||||
specified by the MPEG-4 Registration Authority
|
||||
(http://www.mp4ra.org/). See section 'Sample entry
|
||||
format' for the definition of the sample entry.
|
||||
|
||||
+ The 'dfLa' box is added to the sample entry to convey
|
||||
initializing information for the decoder.
|
||||
|
||||
See section 'FLAC Specific Box' for the definition of
|
||||
the box contents.
|
||||
|
||||
+ A FLAC sample is exactly one FLAC frame as described
|
||||
in the format specification[3]. See section
|
||||
'Sample format' for details of the frame contents.
|
||||
|
||||
+ Every FLAC sample is a sync sample. No pre-roll or
|
||||
lapping is required. See section 'Random Access' for
|
||||
further details.
|
||||
|
||||
3.3 Definition of a FLAC sample
|
||||
|
||||
3.3.1 Sample entry format
|
||||
|
||||
For any track containing one or more FLAC bitstreams, a
|
||||
sample entry describing the corresponding FLAC bitstream
|
||||
shall be present inside the Sample Table Box. This version
|
||||
of the specification defines only one sample entry format
|
||||
named FLACSampleEntry whose codingname is 'fLaC'. This
|
||||
sample entry includes exactly one FLAC Specific Box
|
||||
defined in section 'FLAC specific box' as a mandatory box
|
||||
and indicates that FLAC samples described by this sample
|
||||
entry are stored by the sample format described in section
|
||||
'Sample format'.
|
||||
|
||||
The syntax and semantics of the FLACSampleEntry is shown
|
||||
as follows. The data fields of this box and native
|
||||
FLAC[3] structures encoded within FLAC blocks are both
|
||||
stored in big-endian format, though for purposes of the
|
||||
ISO BMFF container, FLAC native metadata and data blocks
|
||||
are treated as unstructured octet streams.
|
||||
|
||||
class FLACSampleEntry() extends AudioSampleEntry ('fLaC'){
|
||||
FLACSpecificBox();
|
||||
}
|
||||
|
||||
The fields of the AudioSampleEntry portion shall be set as
|
||||
follows:
|
||||
|
||||
+ channelcount:
|
||||
|
||||
The channelcount field shall be set equal to the
|
||||
channel count specified by the FLAC bitstream's native
|
||||
METADATA_BLOCK_STREAMINFO header as described in [3].
|
||||
Note that the FLAC FRAME_HEADER structure that begins
|
||||
each FLAC sample redundantly encodes channel number;
|
||||
the number of channels declared in each FRAME_HEADER
|
||||
MUST match the number of channels declared here and in
|
||||
the METADATA_BLOCK_STREAMINFO header.
|
||||
|
||||
+ samplesize:
|
||||
|
||||
The samplesize field shall be set equal to the bits
|
||||
per sample specified by the FLAC bitstream's native
|
||||
METADATA_BLOCK_STREAMINFO header as described in [3].
|
||||
Note that the FLAC FRAME_HEADER structure that begins
|
||||
each FLAC sample redundantly encodes the number of
|
||||
bits per sample; the bits per sample declared in each
|
||||
FRAME_HEADER MUST match the samplesize declared here
|
||||
and the bits per sample field declared in the
|
||||
METADATA_BLOCK_STREAMINFO header.
|
||||
|
||||
+ samplerate:
|
||||
|
||||
When possible, the samplerate field shall be set
|
||||
equal to the sample rate specified by the FLAC
|
||||
bitstream's native METADATA_BLOCK_STREAMINFO header
|
||||
as described in [3], left-shifted by 16 bits to
|
||||
create the appropriate 16.16 fixed-point
|
||||
representation.
|
||||
|
||||
When the bitstream's native sample rate is greater
|
||||
than the maximum expressible value of 65535 Hz,
|
||||
the samplerate field shall hold the greatest
|
||||
expressible regular division of that rate. I.e.
|
||||
the samplerate field shall hold 48000.0 for
|
||||
native sample rates of 96 and 192 kHz. In the
|
||||
case of unusual sample rates which do not have
|
||||
an expressible regular division, the maximum value
|
||||
of 65535.0 Hz should be used.
|
||||
|
||||
High-rate FLAC bitstreams are common, and the native
|
||||
value from the METADATA_BLOCK_STREAMINFO header in
|
||||
the FLACSpecificBox MUST be read to determine the
|
||||
correct sample rate of the bitstream.
|
||||
|
||||
Note that the FLAC FRAME_HEADER structure that begins
|
||||
each FLAC sample redundantly encodes the sample rate;
|
||||
the sample rate declared in each FRAME_HEADER MUST
|
||||
match the sample rate declared in the
|
||||
METADATA_BLOCK_STREAMINFO header, and here in the
|
||||
AudioSampleEntry portion of the FLACSampleEntry
|
||||
as much as is allowed by the encoding restrictions
|
||||
described above.
|
||||
|
||||
Finally, the FLACSpecificBox carries codec headers:
|
||||
|
||||
+ FLACSpecificBox
|
||||
|
||||
This box contains initializing information for the
|
||||
decoder as defined in section 'FLAC specific box'.
|
||||
|
||||
3.3.2 FLAC Specific Box
|
||||
|
||||
Exactly one FLAC Specific Box shall be present in each
|
||||
FLACSampleEntry. This specification defines version 0
|
||||
of this box. If incompatible changes occur in future
|
||||
versions of this specification, another version number
|
||||
will be defined. The data fields of this box and native
|
||||
FLAC[3] structures encoded within FLAC blocks are both
|
||||
stored in big-endian format, though for purposes of the
|
||||
ISO BMFF container, FLAC native metadata and data blocks
|
||||
are treated as unstructured octet streams.
|
||||
|
||||
The syntax and semantics of the FLAC Specific Box is shown
|
||||
as follows.
|
||||
|
||||
class FLACMetadataBlock {
|
||||
unsigned int(1) LastMetadataBlockFlag;
|
||||
unsigned int(7) BlockType;
|
||||
unsigned int(24) Length;
|
||||
unsigned int(8) BlockData[Length];
|
||||
}
|
||||
|
||||
aligned(8) class FLACSpecificBox
|
||||
extends FullBox('dfLa', version=0, 0){
|
||||
for (i=0; ; i++) { // to end of box
|
||||
FLACMetadataBlock();
|
||||
}
|
||||
}
|
||||
|
||||
+ Version:
|
||||
|
||||
The Version field shall be set to 0.
|
||||
|
||||
In the future versions of this specification, this
|
||||
field may be set to other values. And without support
|
||||
of those values, the reader shall not read the fields
|
||||
after this within the FLACSpecificBox.
|
||||
|
||||
+ Flags:
|
||||
|
||||
The Flags field shall be set to 0.
|
||||
|
||||
After the FullBox header, the box contains a sequence of
|
||||
FLAC[3] native-metadata block structures that fill the
|
||||
remainder of the box.
|
||||
|
||||
Each FLACMetadataBlock structure consists of three fields
|
||||
filling a total of four bytes that form a FLAC[3] native
|
||||
METADATA_BLOCK_HEADER, followed by raw octet bytes that
|
||||
comprise the FLAC[3] native METADATA_BLOCK_DATA.
|
||||
|
||||
+ LastMetadataBlockFlag:
|
||||
|
||||
The LastMetadataBlockFlag field maps semantically to
|
||||
the FLAC[3] native METADATA_BLOCK_HEADER
|
||||
Last-metadata-block flag as defined in the FLAC[3]
|
||||
file specification.
|
||||
|
||||
The LastMetadataBlockFlag is set to 1 if this
|
||||
MetadataBlock is the last metadata block in the
|
||||
FLACSpecificBox. It is set to 0 otherwise.
|
||||
|
||||
+ BlockType:
|
||||
|
||||
The BlockType field maps semantically to the FLAC[3]
|
||||
native METADATA_BLOCK_HEADER BLOCK_TYPE field as
|
||||
defined in the FLAC[3] file specification.
|
||||
|
||||
The BlockType is set to a valid FLAC[3] BLOCK_TYPE
|
||||
value that identifies the type of this native metadata
|
||||
block. The BlockType of the first FLACMetadataBlock
|
||||
must be set to 0, signifying this is a FLAC[3] native
|
||||
METADATA_BLOCK_STREAMINFO block.
|
||||
|
||||
+ Length:
|
||||
|
||||
The Length field maps semantically to the FLAC[3]
|
||||
native METADATA_BLOCK_HEADER Length field as
|
||||
defined in the FLAC[3] file specification.
|
||||
|
||||
The length field specifies the number of bytes of
|
||||
MetadataBlockData to follow.
|
||||
|
||||
+ BlockData
|
||||
|
||||
The BlockData field maps semantically to the FLAC[3]
|
||||
native METADATA_BLOCK_HEADER METADATA_BLOCK_DATA as
|
||||
defined in the FLAC[3] file specification.
|
||||
|
||||
Taken together, the bytes of the FLACMetadataBlock form a
|
||||
complete FLAC[3] native METADATA_BLOCK structure.
|
||||
|
||||
Note that a minimum of a single FLACMetadataBlock,
|
||||
consisting of a FLAC[3] native METADATA_BLOCK_STREAMINFO
|
||||
structure, is required. Should the FLACSpecificBox
|
||||
contain more than a single FLACMetadataBlock structure,
|
||||
the FLACMetadataBlock containing the FLAC[3] native
|
||||
METADATA_BLOCK_STREAMINFO must occur first in the list.
|
||||
|
||||
Other containers that package FLAC audio streams, such as
|
||||
Ogg[4] and Matroska[5], wrap FLAC[3] native metadata without
|
||||
modification similar to this specification. When
|
||||
repackaging or remuxing FLAC[3] streams from another
|
||||
format that contains FLAC[3] native metadata into an ISO
|
||||
BMFF file, the complete FLAC[3] native metadata should be
|
||||
preserved in the ISO BMFF stream as described above. It
|
||||
is also allowed to parse this native metadata and include
|
||||
contextually redundant ISO BMFF-native repackagings and/or
|
||||
reparsings of FLAC[3] native metadata, so long as the
|
||||
native metadata is also preserved.
|
||||
|
||||
3.3.3 Sample format
|
||||
|
||||
A FLAC sample is exactly one FLAC audio FRAME (as defined
|
||||
in the FLAC[3] file specification) belonging to a FLAC
|
||||
bitstreams. The FLAC sample data begins with a complete
|
||||
FLAC FRAME_HEADER, followed by one FLAC SUBFRAME per
|
||||
channel, any necessary bit padding, and ends with the
|
||||
usual FLAC FRAME_FOOTER.
|
||||
|
||||
Note that the FLAC native FRAME_HEADER structure that
|
||||
begins each FLAC sample redundantly encodes channel count,
|
||||
sample rate, and sample size. The values of these fields
|
||||
must agree both with the values declared in the FLAC
|
||||
METADATA_BLOCK_STREAMINFO structure as well as the
|
||||
FLACSampleEntry box.
|
||||
|
||||
3.3.4 Duration of a FLAC sample
|
||||
|
||||
The duration of any given FLAC sample is determined by
|
||||
dividing the decoded block size of a FLAC frame, as
|
||||
encoded in the FLAC FRAME's FRAME_HEADER structure, by the
|
||||
value of the timescale field in the Media Header Box.
|
||||
FLAC samples are permitted to have variable durations
|
||||
within a given audio stream. FLAC does not use padding
|
||||
values.
|
||||
|
||||
3.3.5 Sub-sample
|
||||
|
||||
Sub-samples are not defined for FLAC samples in this
|
||||
specification.
|
||||
|
||||
3.3.6 Random Access
|
||||
|
||||
This subclause describes the nature of the random access
|
||||
of FLAC sample.
|
||||
|
||||
3.3.6.1 Random Access Point
|
||||
|
||||
All FLAC samples can be independently decoded
|
||||
i.e. every FLAC sample is a sync sample. The Sync
|
||||
Sample Box shall not be present as long as there are
|
||||
no samples other than FLAC samples in the same
|
||||
track. The sample_is_non_sync_sample field for FLAC
|
||||
samples shall be set to 0.
|
||||
|
||||
3.4 Basic Structure (informative)
|
||||
|
||||
3.4.1 Initial Movie
|
||||
|
||||
This subclause shows a basic structure of the Movie Box as follows:
|
||||
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
|moov| | | | | | | | Movie Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| |mvhd| | | | | | | Movie Header Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| |trak| | | | | | | Track Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | |tkhd| | | | | | Track Header Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | |edts|* | | | | | Edit Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | |elst|* | | | | Edit List Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | |mdia| | | | | | Media Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | |mdhd| | | | | Media Header Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | |hdlr| | | | | Handler Reference Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | |minf| | | | | Media Information Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | |smhd| | | | Sound Media Header Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | |dinf| | | | Data Information Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | | |dref| | | Data Reference Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | | | |url | | DataEntryUrlBox |
|
||||
+----+----+----+----+----+----+ or +----+------------------------------+
|
||||
| | | | | | |urn | | DataEntryUrnBox |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | |stbl| | | | Sample Table |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | | |stsd| | | Sample Description Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | | | |fLaC| | FLACSampleEntry |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | | | | |dfLa| FLAC Specific Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | | |stts| | | Decoding Time to Sample Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | | |stsc| | | Sample To Chunk Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | | |stsz| | | Sample Size Box |
|
||||
+----+----+----+----+----+ or +----+----+------------------------------+
|
||||
| | | | | |stz2| | | Compact Sample Size Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | | | | |stco| | | Chunk Offset Box |
|
||||
+----+----+----+----+----+ or +----+----+------------------------------+
|
||||
| | | | | |co64| | | Chunk Large Offset Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| |mvex|* | | | | | | Movie Extends Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
| | |trex|* | | | | | Track Extends Box |
|
||||
+----+----+----+----+----+----+----+----+------------------------------+
|
||||
|
||||
Figure 1 - Basic structure of Movie Box
|
||||
|
||||
It is strongly recommended that the order of boxes should
|
||||
follow the above structure. Boxes marked with an asterisk
|
||||
(*) may or may not be present depending on context. For
|
||||
most boxes listed above, the definition is as is defined
|
||||
in ISO/IEC 14496-12 [1]. The additional boxes and the
|
||||
additional requirements, restrictions and recommendations
|
||||
to the other boxes are described in this specification.
|
||||
|
||||
3.5 Example of Encapsulation (informative)
|
||||
[File]
|
||||
size = 17790
|
||||
[ftyp: File Type Box]
|
||||
position = 0
|
||||
size = 24
|
||||
major_brand = mp42 : MP4 version 2
|
||||
minor_version = 0
|
||||
compatible_brands
|
||||
brand[0] = mp42 : MP4 version 2
|
||||
brand[1] = isom : ISO Base Media file format
|
||||
[moov: Movie Box]
|
||||
position = 24
|
||||
size = 757
|
||||
[mvhd: Movie Header Box]
|
||||
position = 32
|
||||
size = 108
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
creation_time = UTC 2014/12/12, 18:41:19
|
||||
modification_time = UTC 2014/12/12, 18:41:19
|
||||
timescale = 48000
|
||||
duration = 33600 (00:00:00.700)
|
||||
rate = 1.000000
|
||||
volume = 1.000000
|
||||
reserved = 0x0000
|
||||
reserved = 0x00000000
|
||||
reserved = 0x00000000
|
||||
transformation matrix
|
||||
| a, b, u | | 1.000000, 0.000000, 0.000000 |
|
||||
| c, d, v | = | 0.000000, 1.000000, 0.000000 |
|
||||
| x, y, w | | 0.000000, 0.000000, 1.000000 |
|
||||
pre_defined = 0x00000000
|
||||
pre_defined = 0x00000000
|
||||
pre_defined = 0x00000000
|
||||
pre_defined = 0x00000000
|
||||
pre_defined = 0x00000000
|
||||
pre_defined = 0x00000000
|
||||
next_track_ID = 2
|
||||
[iods: Object Descriptor Box]
|
||||
position = 140
|
||||
size = 33
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
[tag = 0x10: MP4_IOD]
|
||||
expandableClassSize = 16
|
||||
ObjectDescriptorID = 1
|
||||
URL_Flag = 0
|
||||
includeInlineProfileLevelFlag = 0
|
||||
reserved = 0xf
|
||||
ODProfileLevelIndication = 0xff
|
||||
sceneProfileLevelIndication = 0xff
|
||||
audioProfileLevelIndication = 0xfe
|
||||
visualProfileLevelIndication = 0xff
|
||||
graphicsProfileLevelIndication = 0xff
|
||||
[tag = 0x0e: ES_ID_Inc]
|
||||
expandableClassSize = 4
|
||||
Track_ID = 1
|
||||
[trak: Track Box]
|
||||
position = 173
|
||||
size = 608
|
||||
[tkhd: Track Header Box]
|
||||
position = 181
|
||||
size = 92
|
||||
version = 0
|
||||
flags = 0x000007
|
||||
Track enabled
|
||||
Track in movie
|
||||
Track in preview
|
||||
creation_time = UTC 2014/12/12, 18:41:19
|
||||
modification_time = UTC 2014/12/12, 18:41:19
|
||||
track_ID = 1
|
||||
reserved = 0x00000000
|
||||
duration = 33600 (00:00:00.700)
|
||||
reserved = 0x00000000
|
||||
reserved = 0x00000000
|
||||
layer = 0
|
||||
alternate_group = 0
|
||||
volume = 1.000000
|
||||
reserved = 0x0000
|
||||
transformation matrix
|
||||
| a, b, u | | 1.000000, 0.000000, 0.000000 |
|
||||
| c, d, v | = | 0.000000, 1.000000, 0.000000 |
|
||||
| x, y, w | | 0.000000, 0.000000, 1.000000 |
|
||||
width = 0.000000
|
||||
height = 0.000000
|
||||
[mdia: Media Box]
|
||||
position = 273
|
||||
size = 472
|
||||
[mdhd: Media Header Box]
|
||||
position = 281
|
||||
size = 32
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
creation_time = UTC 2014/12/12, 18:41:19
|
||||
modification_time = UTC 2014/12/12, 18:41:19
|
||||
timescale = 48000
|
||||
duration = 34560 (00:00:00.720)
|
||||
language = und
|
||||
pre_defined = 0x0000
|
||||
[hdlr: Handler Reference Box]
|
||||
position = 313
|
||||
size = 51
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
pre_defined = 0x00000000
|
||||
handler_type = soun
|
||||
reserved = 0x00000000
|
||||
reserved = 0x00000000
|
||||
reserved = 0x00000000
|
||||
name = Xiph Audio Handler
|
||||
[minf: Media Information Box]
|
||||
position = 364
|
||||
size = 381
|
||||
[smhd: Sound Media Header Box]
|
||||
position = 372
|
||||
size = 16
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
balance = 0.000000
|
||||
reserved = 0x0000
|
||||
[dinf: Data Information Box]
|
||||
position = 388
|
||||
size = 36
|
||||
[dref: Data Reference Box]
|
||||
position = 396
|
||||
size = 28
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
entry_count = 1
|
||||
[url : Data Entry Url Box]
|
||||
position = 412
|
||||
size = 12
|
||||
version = 0
|
||||
flags = 0x000001
|
||||
location = in the same file
|
||||
[stbl: Sample Table Box]
|
||||
position = 424
|
||||
size = 321
|
||||
[stsd: Sample Description Box]
|
||||
position = 432
|
||||
size = 79
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
entry_count = 1
|
||||
[fLaC: Audio Description]
|
||||
position = 448
|
||||
size = 63
|
||||
reserved = 0x000000000000
|
||||
data_reference_index = 1
|
||||
reserved = 0x0000
|
||||
reserved = 0x0000
|
||||
reserved = 0x00000000
|
||||
channelcount = 2
|
||||
samplesize = 16
|
||||
pre_defined = 0
|
||||
reserved = 0
|
||||
samplerate = 48000.000000
|
||||
[dfLa: FLAC Specific Box]
|
||||
position = 484
|
||||
size = 50
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
[FLACMetadataBlock]
|
||||
LastMetadataBlockFlag = 1
|
||||
BlockType = 0
|
||||
Length = 34
|
||||
BlockData[34];
|
||||
[stts: Decoding Time to Sample Box]
|
||||
position = 492
|
||||
size = 24
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
entry_count = 1
|
||||
entry[0]
|
||||
sample_count = 18
|
||||
sample_delta = 1920
|
||||
[stsc: Sample To Chunk Box]
|
||||
position = 516
|
||||
size = 40
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
entry_count = 2
|
||||
entry[0]
|
||||
first_chunk = 1
|
||||
samples_per_chunk = 13
|
||||
sample_description_index = 1
|
||||
entry[1]
|
||||
first_chunk = 2
|
||||
samples_per_chunk = 5
|
||||
sample_description_index = 1
|
||||
[stsz: Sample Size Box]
|
||||
position = 556
|
||||
size = 92
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
sample_size = 0 (variable)
|
||||
sample_count = 18
|
||||
entry_size[0] = 977
|
||||
entry_size[1] = 938
|
||||
entry_size[2] = 939
|
||||
entry_size[3] = 938
|
||||
entry_size[4] = 934
|
||||
entry_size[5] = 945
|
||||
entry_size[6] = 948
|
||||
entry_size[7] = 956
|
||||
entry_size[8] = 955
|
||||
entry_size[9] = 930
|
||||
entry_size[10] = 933
|
||||
entry_size[11] = 934
|
||||
entry_size[12] = 972
|
||||
entry_size[13] = 977
|
||||
entry_size[14] = 958
|
||||
entry_size[15] = 949
|
||||
entry_size[16] = 962
|
||||
entry_size[17] = 848
|
||||
[stco: Chunk Offset Box]
|
||||
position = 648
|
||||
size = 24
|
||||
version = 0
|
||||
flags = 0x000000
|
||||
entry_count = 2
|
||||
chunk_offset[0] = 686
|
||||
chunk_offset[1] = 12985
|
||||
[free: Free Space Box]
|
||||
position = 672
|
||||
size = 8
|
||||
[mdat: Media Data Box]
|
||||
position = 680
|
||||
size = 17001
|
||||
|
||||
4 Acknowledgements
|
||||
|
||||
This spec draws heavily from the Opus-in-ISOBMFF specification
|
||||
work done by Yusuke Nakamura <muken.the.vfrmaniac |at| gmail.com>
|
||||
|
||||
Thank you to Tim Terriberry, David Evans, and Yusuke Nakamura
|
||||
for valuable feedback. Thank you to Ralph Giles for editorial
|
||||
help.
|
||||
|
||||
5 Author Address
|
||||
|
||||
Monty Montgomery <cmontgomery@mozilla.com>
|
||||
40
Engine/lib/flac/doc/release_checklist.md
Normal file
40
Engine/lib/flac/doc/release_checklist.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
1. Change version number in
|
||||
- /configure.ac
|
||||
- /CMakeLists.txt
|
||||
- /doc/Doxyfile.in
|
||||
- /man/flac.md
|
||||
- /man/metaflac.md
|
||||
- /test/metaflac-test-files/case07-expect.meta
|
||||
1. Change version date in
|
||||
- /src/libFLAC/format.c
|
||||
- /test/metaflac-test-files/case07-expect.meta
|
||||
1. Update changelog
|
||||
1. Check copyright year and update if applicable
|
||||
1. Check libFLAC and libFLAC++ for interface changes and update
|
||||
version numbers in include/FLAC/export.h, include/FLAC++/export.h,
|
||||
src/libFLAC/Makefile.am, src/libFLAC++/Makefile.am,
|
||||
src/libFLAC/CMakeLists.txt and src/libFLAC++/CMakeLists.txt
|
||||
1. Prepare and check release tarball by running
|
||||
`git clean -ffxd && ./autogen.sh && ./configure && make distcheck`
|
||||
1. Check whether release tarball contains api documentation and
|
||||
generated man pages
|
||||
1. Prepare Windows release. Instructions are for building with MinGW-w64
|
||||
- Take last release as template
|
||||
- Update readme's if necessary
|
||||
- Copy changelog and tool documentation
|
||||
- Unpack tarball and create empty directories build64 and build32
|
||||
- Unpack most recent libogg: change
|
||||
`add_library(ogg ${OGG_HEADERS} ${OGG_SOURCES})` to
|
||||
`add_library(ogg STATIC ${OGG_HEADERS} ${OGG_SOURCES})`
|
||||
- Add `-static-libgcc` to FLAC's CFLAGS
|
||||
- Add `-static-libgcc -static-libstdc++ -Wl,-Bstatic,--whole-archive
|
||||
-lwinpthread -Wl,-Bdynamic,--no-whole-archive` to FLAC's CXXFLAGS
|
||||
- Run `CMake -DBUILD_SHARED_LIBS=ON .. && ninja` in both build64 and
|
||||
build32 in the corresponding build environments
|
||||
- Check dependencies of flac.exe, metaflac.exe, libFLAC.dll and
|
||||
libFLAC++.dll, e.g. with objdump -x *.* | grep DLL.
|
||||
Dependencies should only include KERNEL32.DLL, ADVAPI32.DLL,
|
||||
msvcrt.dll and libFLAC.dll
|
||||
- Copy flac.exe, metaflac.exe, libFLAC.dll and libFLAC++.dll of both
|
||||
builds to proper directories
|
||||
- Zip directory
|
||||
Loading…
Add table
Add a link
Reference in a new issue