reorganized doc directory
This commit is contained in:
parent
ceacff2b18
commit
5e5fc016e1
946
doc/Doxyfile
Normal file
946
doc/Doxyfile
Normal file
@ -0,0 +1,946 @@
|
||||
# Doxyfile 1.2.16
|
||||
|
||||
# This file describes the settings to be used by the documentation system
|
||||
# doxygen (www.doxygen.org) for a project
|
||||
#
|
||||
# All text after a hash (#) is considered a comment and will be ignored
|
||||
# The format is:
|
||||
# TAG = value [value, ...]
|
||||
# For lists items can also be appended using:
|
||||
# TAG += value [value, ...]
|
||||
# Values that contain spaces should be placed between quotes (" ")
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# General configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
|
||||
# by quotes) that should identify the project.
|
||||
|
||||
PROJECT_NAME = FLAC
|
||||
|
||||
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
|
||||
# This could be handy for archiving the generated documentation or
|
||||
# if some version control system is used.
|
||||
|
||||
PROJECT_NUMBER = 1.0.3
|
||||
|
||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||
# base path where the generated documentation will be put.
|
||||
# If a relative path is entered, it will be relative to the location
|
||||
# where doxygen was started. If left blank the current directory will be used.
|
||||
|
||||
OUTPUT_DIRECTORY = doxytmp
|
||||
|
||||
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
|
||||
# documentation generated by doxygen is written. Doxygen will use this
|
||||
# information to generate all constant output in the proper language.
|
||||
# The default language is English, other supported languages are:
|
||||
# Brazilian, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
|
||||
# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Korean,
|
||||
# Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Slovene,
|
||||
# Spanish, Swedish and Ukrainian.
|
||||
|
||||
OUTPUT_LANGUAGE = English
|
||||
|
||||
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
|
||||
# documentation are documented, even if no documentation was available.
|
||||
# Private class members and static file members will be hidden unless
|
||||
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
|
||||
|
||||
EXTRACT_ALL = NO
|
||||
|
||||
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
|
||||
# will be included in the documentation.
|
||||
|
||||
EXTRACT_PRIVATE = NO
|
||||
|
||||
# If the EXTRACT_STATIC tag is set to YES all static members of a file
|
||||
# will be included in the documentation.
|
||||
|
||||
EXTRACT_STATIC = NO
|
||||
|
||||
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
|
||||
# defined locally in source files will be included in the documentation.
|
||||
# If set to NO only classes defined in header files are included.
|
||||
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
|
||||
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
|
||||
# undocumented members of documented classes, files or namespaces.
|
||||
# If set to NO (the default) these members will be included in the
|
||||
# various overviews, but no documentation section is generated.
|
||||
# This option has no effect if EXTRACT_ALL is enabled.
|
||||
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
|
||||
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
|
||||
# undocumented classes that are normally visible in the class hierarchy.
|
||||
# If set to NO (the default) these class will be included in the various
|
||||
# overviews. This option has no effect if EXTRACT_ALL is enabled.
|
||||
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
|
||||
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
|
||||
# include brief member descriptions after the members that are listed in
|
||||
# the file and class documentation (similar to JavaDoc).
|
||||
# Set to NO to disable this.
|
||||
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
|
||||
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
|
||||
# the brief description of a member or function before the detailed description.
|
||||
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
|
||||
# brief descriptions will be completely suppressed.
|
||||
|
||||
REPEAT_BRIEF = YES
|
||||
|
||||
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
|
||||
# Doxygen will generate a detailed section even if there is only a brief
|
||||
# description.
|
||||
|
||||
ALWAYS_DETAILED_SEC = NO
|
||||
|
||||
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
|
||||
# members of a class in the documentation of that class as if those members were
|
||||
# ordinary class members. Constructors, destructors and assignment operators of
|
||||
# the base classes will not be shown.
|
||||
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
|
||||
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
|
||||
# path before files name in the file list and in the header files. If set
|
||||
# to NO the shortest path that makes the file name unique will be used.
|
||||
|
||||
FULL_PATH_NAMES = YES
|
||||
|
||||
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
|
||||
# can be used to strip a user defined part of the path. Stripping is
|
||||
# only done if one of the specified strings matches the left-hand part of
|
||||
# the path. It is allowed to use relative paths in the argument list.
|
||||
|
||||
STRIP_FROM_PATH =
|
||||
|
||||
# The INTERNAL_DOCS tag determines if documentation
|
||||
# that is typed after a \internal command is included. If the tag is set
|
||||
# to NO (the default) then the documentation will be excluded.
|
||||
# Set it to YES to include the internal documentation.
|
||||
|
||||
INTERNAL_DOCS = NO
|
||||
|
||||
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
||||
# doxygen to hide any special comment blocks from generated source code
|
||||
# fragments. Normal C and C++ comments will always remain visible.
|
||||
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
|
||||
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
|
||||
# file names in lower case letters. If set to YES upper case letters are also
|
||||
# allowed. This is useful if you have classes or files whose names only differ
|
||||
# in case and if your file system supports case sensitive file names. Windows
|
||||
# users are adviced to set this option to NO.
|
||||
|
||||
CASE_SENSE_NAMES = YES
|
||||
|
||||
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
|
||||
# (but less readable) file names. This can be useful is your file systems
|
||||
# doesn't support long names like on DOS, Mac, or CD-ROM.
|
||||
|
||||
SHORT_NAMES = NO
|
||||
|
||||
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
|
||||
# will show members with their full class and namespace scopes in the
|
||||
# documentation. If set to YES the scope will be hidden.
|
||||
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
|
||||
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
|
||||
# will generate a verbatim copy of the header file for each class for
|
||||
# which an include is specified. Set to NO to disable this.
|
||||
|
||||
VERBATIM_HEADERS = YES
|
||||
|
||||
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
|
||||
# will put list of the files that are included by a file in the documentation
|
||||
# of that file.
|
||||
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
|
||||
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
|
||||
# will interpret the first line (until the first dot) of a JavaDoc-style
|
||||
# comment as the brief description. If set to NO, the JavaDoc
|
||||
# comments will behave just like the Qt-style comments (thus requiring an
|
||||
# explict @brief command for a brief description.
|
||||
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
|
||||
# If the DETAILS_AT_TOP tag is set to YES then Doxygen
|
||||
# will output the detailed description near the top, like JavaDoc.
|
||||
# If set to NO, the detailed description appears after the member
|
||||
# documentation.
|
||||
|
||||
DETAILS_AT_TOP = YES
|
||||
|
||||
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
|
||||
# member inherits the documentation from any documented member that it
|
||||
# reimplements.
|
||||
|
||||
INHERIT_DOCS = YES
|
||||
|
||||
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
|
||||
# is inserted in the documentation for inline members.
|
||||
|
||||
INLINE_INFO = YES
|
||||
|
||||
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
|
||||
# will sort the (detailed) documentation of file and class members
|
||||
# alphabetically by member name. If set to NO the members will appear in
|
||||
# declaration order.
|
||||
|
||||
SORT_MEMBER_DOCS = NO
|
||||
|
||||
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
|
||||
# tag is set to YES, then doxygen will reuse the documentation of the first
|
||||
# member in the group (if any) for the other members of the group. By default
|
||||
# all members of a group must be documented explicitly.
|
||||
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
|
||||
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
|
||||
# Doxygen uses this value to replace tabs by spaces in code fragments.
|
||||
|
||||
TAB_SIZE = 4
|
||||
|
||||
# The GENERATE_TODOLIST tag can be used to enable (YES) or
|
||||
# disable (NO) the todo list. This list is created by putting \todo
|
||||
# commands in the documentation.
|
||||
|
||||
GENERATE_TODOLIST = YES
|
||||
|
||||
# The GENERATE_TESTLIST tag can be used to enable (YES) or
|
||||
# disable (NO) the test list. This list is created by putting \test
|
||||
# commands in the documentation.
|
||||
|
||||
GENERATE_TESTLIST = YES
|
||||
|
||||
# The GENERATE_BUGLIST tag can be used to enable (YES) or
|
||||
# disable (NO) the bug list. This list is created by putting \bug
|
||||
# commands in the documentation.
|
||||
|
||||
GENERATE_BUGLIST = YES
|
||||
|
||||
# This tag can be used to specify a number of aliases that acts
|
||||
# as commands in the documentation. An alias has the form "name=value".
|
||||
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
|
||||
# put the command \sideeffect (or @sideeffect) in the documentation, which
|
||||
# will result in a user defined paragraph with heading "Side Effects:".
|
||||
# You can put \n's in the value part of an alias to insert newlines.
|
||||
|
||||
ALIASES = "assert=\par Assertions:\n"
|
||||
|
||||
# The ENABLED_SECTIONS tag can be used to enable conditional
|
||||
# documentation sections, marked by \if sectionname ... \endif.
|
||||
|
||||
ENABLED_SECTIONS =
|
||||
|
||||
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
|
||||
# the initial value of a variable or define consist of for it to appear in
|
||||
# the documentation. If the initializer consists of more lines than specified
|
||||
# here it will be hidden. Use a value of 0 to hide initializers completely.
|
||||
# The appearance of the initializer of individual variables and defines in the
|
||||
# documentation can be controlled using \showinitializer or \hideinitializer
|
||||
# command in the documentation regardless of this setting.
|
||||
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
|
||||
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
|
||||
# only. Doxygen will then generate output that is more tailored for C.
|
||||
# For instance some of the names that are used will be different. The list
|
||||
# of all members will be omitted, etc.
|
||||
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
|
||||
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
|
||||
# only. Doxygen will then generate output that is more tailored for Java.
|
||||
# For instance namespaces will be presented as packages, qualified scopes
|
||||
# will look different, etc.
|
||||
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
|
||||
# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
|
||||
# at the bottom of the documentation of classes and structs. If set to YES the
|
||||
# list will mention the files that were used to generate the documentation.
|
||||
|
||||
SHOW_USED_FILES = YES
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# The QUIET tag can be used to turn on/off the messages that are generated
|
||||
# by doxygen. Possible values are YES and NO. If left blank NO is used.
|
||||
|
||||
QUIET = NO
|
||||
|
||||
# The WARNINGS tag can be used to turn on/off the warning messages that are
|
||||
# generated by doxygen. Possible values are YES and NO. If left blank
|
||||
# NO is used.
|
||||
|
||||
WARNINGS = YES
|
||||
|
||||
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
|
||||
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
|
||||
# automatically be disabled.
|
||||
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
|
||||
# The WARN_FORMAT tag determines the format of the warning messages that
|
||||
# doxygen can produce. The string should contain the $file, $line, and $text
|
||||
# tags, which will be replaced by the file and line number from which the
|
||||
# warning originated and the warning text.
|
||||
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
|
||||
# The WARN_LOGFILE tag can be used to specify a file to which warning
|
||||
# and error messages should be written. If left blank the output is written
|
||||
# to stderr.
|
||||
|
||||
WARN_LOGFILE =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# The INPUT tag can be used to specify the files and/or directories that contain
|
||||
# documented source files. You may enter file names like "myfile.cpp" or
|
||||
# directories like "/usr/src/myproject". Separate the files or directories
|
||||
# with spaces.
|
||||
|
||||
INPUT = ../include/FLAC ../include/FLAC++
|
||||
|
||||
# If the value of the INPUT tag contains directories, you can use the
|
||||
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||
# and *.h) to filter out the source-files in the directories. If left
|
||||
# blank the following patterns are tested:
|
||||
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
|
||||
# *.h++ *.idl *.odl
|
||||
|
||||
FILE_PATTERNS =
|
||||
|
||||
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
|
||||
# should be searched for input files as well. Possible values are YES and NO.
|
||||
# If left blank NO is used.
|
||||
|
||||
RECURSIVE = NO
|
||||
|
||||
# The EXCLUDE tag can be used to specify files and/or directories that should
|
||||
# excluded from the INPUT source files. This way you can easily exclude a
|
||||
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
||||
|
||||
EXCLUDE =
|
||||
|
||||
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
|
||||
# that are symbolic links (a Unix filesystem feature) are excluded from the input.
|
||||
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
|
||||
# If the value of the INPUT tag contains directories, you can use the
|
||||
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
|
||||
# certain files from those directories.
|
||||
|
||||
EXCLUDE_PATTERNS =
|
||||
|
||||
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
||||
# directories that contain example code fragments that are included (see
|
||||
# the \include command).
|
||||
|
||||
EXAMPLE_PATH =
|
||||
|
||||
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
|
||||
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||
# and *.h) to filter out the source-files in the directories. If left
|
||||
# blank all files are included.
|
||||
|
||||
EXAMPLE_PATTERNS =
|
||||
|
||||
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
|
||||
# searched for input files to be used with the \include or \dontinclude
|
||||
# commands irrespective of the value of the RECURSIVE tag.
|
||||
# Possible values are YES and NO. If left blank NO is used.
|
||||
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
|
||||
# The IMAGE_PATH tag can be used to specify one or more files or
|
||||
# directories that contain image that are included in the documentation (see
|
||||
# the \image command).
|
||||
|
||||
IMAGE_PATH =
|
||||
|
||||
# The INPUT_FILTER tag can be used to specify a program that doxygen should
|
||||
# invoke to filter for each input file. Doxygen will invoke the filter program
|
||||
# by executing (via popen()) the command <filter> <input-file>, where <filter>
|
||||
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
|
||||
# input file. Doxygen will then use the output that the filter program writes
|
||||
# to standard output.
|
||||
|
||||
INPUT_FILTER =
|
||||
|
||||
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
|
||||
# INPUT_FILTER) will be used to filter the input files when producing source
|
||||
# files to browse.
|
||||
|
||||
FILTER_SOURCE_FILES = NO
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
|
||||
# be generated. Documented entities will be cross-referenced with these sources.
|
||||
|
||||
SOURCE_BROWSER = NO
|
||||
|
||||
# Setting the INLINE_SOURCES tag to YES will include the body
|
||||
# of functions and classes directly in the documentation.
|
||||
|
||||
INLINE_SOURCES = NO
|
||||
|
||||
# If the REFERENCED_BY_RELATION tag is set to YES (the default)
|
||||
# then for each documented function all documented
|
||||
# functions referencing it will be listed.
|
||||
|
||||
REFERENCED_BY_RELATION = YES
|
||||
|
||||
# If the REFERENCES_RELATION tag is set to YES (the default)
|
||||
# then for each documented function all documented entities
|
||||
# called/used by that function will be listed.
|
||||
|
||||
REFERENCES_RELATION = YES
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
|
||||
# of all compounds will be generated. Enable this if the project
|
||||
# contains a lot of classes, structs, unions or interfaces.
|
||||
|
||||
ALPHABETICAL_INDEX = YES
|
||||
|
||||
# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
|
||||
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
|
||||
# in which this list will be split (can be a number in the range [1..20])
|
||||
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
|
||||
# In case all classes in a project start with a common prefix, all
|
||||
# classes will be put under the same header in the alphabetical index.
|
||||
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
|
||||
# should be ignored while generating the index headers.
|
||||
|
||||
IGNORE_PREFIX =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
|
||||
# generate HTML output.
|
||||
|
||||
GENERATE_HTML = YES
|
||||
|
||||
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
|
||||
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||
# put in front of it. If left blank `html' will be used as the default path.
|
||||
|
||||
HTML_OUTPUT = html
|
||||
|
||||
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
|
||||
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
|
||||
# doxygen will generate files with .html extension.
|
||||
|
||||
HTML_FILE_EXTENSION = .html
|
||||
|
||||
# The HTML_HEADER tag can be used to specify a personal HTML header for
|
||||
# each generated HTML page. If it is left blank doxygen will generate a
|
||||
# standard header.
|
||||
|
||||
HTML_HEADER =
|
||||
|
||||
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
|
||||
# each generated HTML page. If it is left blank doxygen will generate a
|
||||
# standard footer.
|
||||
|
||||
HTML_FOOTER =
|
||||
|
||||
# The HTML_STYLESHEET tag can be used to specify a user defined cascading
|
||||
# style sheet that is used by each HTML page. It can be used to
|
||||
# fine-tune the look of the HTML output. If the tag is left blank doxygen
|
||||
# will generate a default style sheet
|
||||
|
||||
HTML_STYLESHEET =
|
||||
|
||||
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
|
||||
# files or namespaces will be aligned in HTML using tables. If set to
|
||||
# NO a bullet list will be used.
|
||||
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
|
||||
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
|
||||
# will be generated that can be used as input for tools like the
|
||||
# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
|
||||
# of the generated HTML documentation.
|
||||
|
||||
GENERATE_HTMLHELP = NO
|
||||
|
||||
# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
|
||||
# controls if a separate .chi index file is generated (YES) or that
|
||||
# it should be included in the master .chm file (NO).
|
||||
|
||||
GENERATE_CHI = NO
|
||||
|
||||
# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
|
||||
# controls whether a binary table of contents is generated (YES) or a
|
||||
# normal table of contents (NO) in the .chm file.
|
||||
|
||||
BINARY_TOC = NO
|
||||
|
||||
# The TOC_EXPAND flag can be set to YES to add extra items for group members
|
||||
# to the contents of the Html help documentation and to the tree view.
|
||||
|
||||
TOC_EXPAND = NO
|
||||
|
||||
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
|
||||
# top of each HTML page. The value NO (the default) enables the index and
|
||||
# the value YES disables it.
|
||||
|
||||
DISABLE_INDEX = NO
|
||||
|
||||
# This tag can be used to set the number of enum values (range [1..20])
|
||||
# that doxygen will group on one line in the generated HTML documentation.
|
||||
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
|
||||
# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
|
||||
# generated containing a tree-like index structure (just like the one that
|
||||
# is generated for HTML Help). For this to work a browser that supports
|
||||
# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+,
|
||||
# or Internet explorer 4.0+). Note that for large projects the tree generation
|
||||
# can take a very long time. In such cases it is better to disable this feature.
|
||||
# Windows users are probably better off using the HTML help feature.
|
||||
|
||||
GENERATE_TREEVIEW = NO
|
||||
|
||||
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
|
||||
# used to set the initial width (in pixels) of the frame in which the tree
|
||||
# is shown.
|
||||
|
||||
TREEVIEW_WIDTH = 250
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
|
||||
# generate Latex output.
|
||||
|
||||
GENERATE_LATEX = YES
|
||||
|
||||
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
|
||||
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||
# put in front of it. If left blank `latex' will be used as the default path.
|
||||
|
||||
LATEX_OUTPUT = latex
|
||||
|
||||
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be invoked. If left blank `latex' will be used as the default command name.
|
||||
|
||||
LATEX_CMD_NAME = latex
|
||||
|
||||
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
|
||||
# generate index for LaTeX. If left blank `makeindex' will be used as the
|
||||
# default command name.
|
||||
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
|
||||
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
|
||||
# LaTeX documents. This may be useful for small projects and may help to
|
||||
# save some trees in general.
|
||||
|
||||
COMPACT_LATEX = NO
|
||||
|
||||
# The PAPER_TYPE tag can be used to set the paper type that is used
|
||||
# by the printer. Possible values are: a4, a4wide, letter, legal and
|
||||
# executive. If left blank a4wide will be used.
|
||||
|
||||
PAPER_TYPE = a4wide
|
||||
|
||||
# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
|
||||
# packages that should be included in the LaTeX output.
|
||||
|
||||
EXTRA_PACKAGES =
|
||||
|
||||
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
|
||||
# the generated latex document. The header should contain everything until
|
||||
# the first chapter. If it is left blank doxygen will generate a
|
||||
# standard header. Notice: only use this tag if you know what you are doing!
|
||||
|
||||
LATEX_HEADER =
|
||||
|
||||
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
|
||||
# is prepared for conversion to pdf (using ps2pdf). The pdf file will
|
||||
# contain links (just like the HTML output) instead of page references
|
||||
# This makes the output suitable for online browsing using a pdf viewer.
|
||||
|
||||
PDF_HYPERLINKS = NO
|
||||
|
||||
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
|
||||
# plain latex in the generated Makefile. Set this option to YES to get a
|
||||
# higher quality PDF documentation.
|
||||
|
||||
USE_PDFLATEX = NO
|
||||
|
||||
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
|
||||
# command to the generated LaTeX files. This will instruct LaTeX to keep
|
||||
# running if errors occur, instead of asking the user for help.
|
||||
# This option is also used when generating formulas in HTML.
|
||||
|
||||
LATEX_BATCHMODE = NO
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
|
||||
# The RTF output is optimised for Word 97 and may not look very pretty with
|
||||
# other RTF readers or editors.
|
||||
|
||||
GENERATE_RTF = NO
|
||||
|
||||
# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
|
||||
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||
# put in front of it. If left blank `rtf' will be used as the default path.
|
||||
|
||||
RTF_OUTPUT = rtf
|
||||
|
||||
# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
|
||||
# RTF documents. This may be useful for small projects and may help to
|
||||
# save some trees in general.
|
||||
|
||||
COMPACT_RTF = NO
|
||||
|
||||
# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
|
||||
# will contain hyperlink fields. The RTF file will
|
||||
# contain links (just like the HTML output) instead of page references.
|
||||
# This makes the output suitable for online browsing using WORD or other
|
||||
# programs which support those fields.
|
||||
# Note: wordpad (write) and others do not support links.
|
||||
|
||||
RTF_HYPERLINKS = NO
|
||||
|
||||
# Load stylesheet definitions from file. Syntax is similar to doxygen's
|
||||
# config file, i.e. a series of assigments. You only have to provide
|
||||
# replacements, missing definitions are set to their default value.
|
||||
|
||||
RTF_STYLESHEET_FILE =
|
||||
|
||||
# Set optional variables used in the generation of an rtf document.
|
||||
# Syntax is similar to doxygen's config file.
|
||||
|
||||
RTF_EXTENSIONS_FILE =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
|
||||
# generate man pages
|
||||
|
||||
GENERATE_MAN = YES
|
||||
|
||||
# The MAN_OUTPUT tag is used to specify where the man pages will be put.
|
||||
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||
# put in front of it. If left blank `man' will be used as the default path.
|
||||
|
||||
MAN_OUTPUT = man
|
||||
|
||||
# The MAN_EXTENSION tag determines the extension that is added to
|
||||
# the generated man pages (default is the subroutine's section .3)
|
||||
|
||||
MAN_EXTENSION = .3
|
||||
|
||||
# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
|
||||
# then it will generate one additional man file for each entity
|
||||
# documented in the real man page(s). These additional files
|
||||
# only source the real man page, but without them the man command
|
||||
# would be unable to find the correct page. The default is NO.
|
||||
|
||||
MAN_LINKS = NO
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the GENERATE_XML tag is set to YES Doxygen will
|
||||
# generate an XML file that captures the structure of
|
||||
# the code including all documentation. Note that this
|
||||
# feature is still experimental and incomplete at the
|
||||
# moment.
|
||||
|
||||
GENERATE_XML = NO
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
|
||||
# generate an AutoGen Definitions (see autogen.sf.net) file
|
||||
# that captures the structure of the code including all
|
||||
# documentation. Note that this feature is still experimental
|
||||
# and incomplete at the moment.
|
||||
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
|
||||
# evaluate all C-preprocessor directives found in the sources and include
|
||||
# files.
|
||||
|
||||
ENABLE_PREPROCESSING = YES
|
||||
|
||||
# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
|
||||
# names in the source code. If set to NO (the default) only conditional
|
||||
# compilation will be performed. Macro expansion can be done in a controlled
|
||||
# way by setting EXPAND_ONLY_PREDEF to YES.
|
||||
|
||||
MACRO_EXPANSION = NO
|
||||
|
||||
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
|
||||
# then the macro expansion is limited to the macros specified with the
|
||||
# PREDEFINED and EXPAND_AS_PREDEFINED tags.
|
||||
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
|
||||
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
|
||||
# in the INCLUDE_PATH (see below) will be search if a #include is found.
|
||||
|
||||
SEARCH_INCLUDES = YES
|
||||
|
||||
# The INCLUDE_PATH tag can be used to specify one or more directories that
|
||||
# contain include files that are not input files but should be processed by
|
||||
# the preprocessor.
|
||||
|
||||
INCLUDE_PATH =
|
||||
|
||||
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
|
||||
# patterns (like *.h and *.hpp) to filter out the header-files in the
|
||||
# directories. If left blank, the patterns specified with FILE_PATTERNS will
|
||||
# be used.
|
||||
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
|
||||
# The PREDEFINED tag can be used to specify one or more macro names that
|
||||
# are defined before the preprocessor is started (similar to the -D option of
|
||||
# gcc). The argument of the tag is a list of macros of the form: name
|
||||
# or name=definition (no spaces). If the definition and the = are
|
||||
# omitted =1 is assumed.
|
||||
|
||||
PREDEFINED =
|
||||
|
||||
# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
|
||||
# this tag can be used to specify a list of macro names that should be expanded.
|
||||
# The macro definition that is found in the sources will be used.
|
||||
# Use the PREDEFINED tag if you want to use a different macro definition.
|
||||
|
||||
EXPAND_AS_DEFINED =
|
||||
|
||||
# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
|
||||
# doxygen's preprocessor will remove all function-like macros that are alone
|
||||
# on a line and do not end with a semicolon. Such function macros are typically
|
||||
# used for boiler-plate code, and will confuse the parser if not removed.
|
||||
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# The TAGFILES tag can be used to specify one or more tagfiles.
|
||||
|
||||
TAGFILES =
|
||||
|
||||
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
|
||||
# a tag file that is based on the input files it reads.
|
||||
|
||||
GENERATE_TAGFILE = FLAC.tag
|
||||
|
||||
# If the ALLEXTERNALS tag is set to YES all external classes will be listed
|
||||
# in the class index. If set to NO only the inherited external classes
|
||||
# will be listed.
|
||||
|
||||
ALLEXTERNALS = NO
|
||||
|
||||
# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
|
||||
# in the modules index. If set to NO, only the current project's groups will
|
||||
# be listed.
|
||||
|
||||
EXTERNAL_GROUPS = YES
|
||||
|
||||
# The PERL_PATH should be the absolute path and name of the perl script
|
||||
# interpreter (i.e. the result of `which perl').
|
||||
|
||||
PERL_PATH = /usr/bin/perl
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
|
||||
# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or
|
||||
# super classes. Setting the tag to NO turns the diagrams off. Note that this
|
||||
# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
|
||||
# recommended to install and use dot, since it yield more powerful graphs.
|
||||
|
||||
CLASS_DIAGRAMS = YES
|
||||
|
||||
# If set to YES, the inheritance and collaboration graphs will hide
|
||||
# inheritance and usage relations if the target is undocumented
|
||||
# or is not a class.
|
||||
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
|
||||
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
|
||||
# available from the path. This tool is part of Graphviz, a graph visualization
|
||||
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
|
||||
# have no effect if this option is set to NO (the default)
|
||||
|
||||
HAVE_DOT = NO
|
||||
|
||||
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
||||
# will generate a graph for each documented class showing the direct and
|
||||
# indirect inheritance relations. Setting this tag to YES will force the
|
||||
# the CLASS_DIAGRAMS tag to NO.
|
||||
|
||||
CLASS_GRAPH = YES
|
||||
|
||||
# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
||||
# will generate a graph for each documented class showing the direct and
|
||||
# indirect implementation dependencies (inheritance, containment, and
|
||||
# class references variables) of the class with other documented classes.
|
||||
|
||||
COLLABORATION_GRAPH = YES
|
||||
|
||||
# If set to YES, the inheritance and collaboration graphs will show the
|
||||
# relations between templates and their instances.
|
||||
|
||||
TEMPLATE_RELATIONS = YES
|
||||
|
||||
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
|
||||
# tags are set to YES then doxygen will generate a graph for each documented
|
||||
# file showing the direct and indirect include dependencies of the file with
|
||||
# other documented files.
|
||||
|
||||
INCLUDE_GRAPH = YES
|
||||
|
||||
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
|
||||
# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
|
||||
# documented header file showing the documented files that directly or
|
||||
# indirectly include this file.
|
||||
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
|
||||
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
|
||||
# will graphical hierarchy of all classes instead of a textual one.
|
||||
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
|
||||
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
|
||||
# generated by dot. Possible values are png, jpg, or gif
|
||||
# If left blank png will be used.
|
||||
|
||||
DOT_IMAGE_FORMAT = png
|
||||
|
||||
# The tag DOT_PATH can be used to specify the path where the dot tool can be
|
||||
# found. If left blank, it is assumed the dot tool can be found on the path.
|
||||
|
||||
DOT_PATH =
|
||||
|
||||
# The DOTFILE_DIRS tag can be used to specify one or more directories that
|
||||
# contain dot files that are included in the documentation (see the
|
||||
# \dotfile command).
|
||||
|
||||
DOTFILE_DIRS =
|
||||
|
||||
# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
|
||||
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
|
||||
# this value, doxygen will try to truncate the graph, so that it fits within
|
||||
# the specified constraint. Beware that most browsers cannot cope with very
|
||||
# large images.
|
||||
|
||||
MAX_DOT_GRAPH_WIDTH = 1024
|
||||
|
||||
# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
|
||||
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
|
||||
# this value, doxygen will try to truncate the graph, so that it fits within
|
||||
# the specified constraint. Beware that most browsers cannot cope with very
|
||||
# large images.
|
||||
|
||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||
|
||||
# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
|
||||
# generate a legend page explaining the meaning of the various boxes and
|
||||
# arrows in the dot generated graphs.
|
||||
|
||||
GENERATE_LEGEND = YES
|
||||
|
||||
# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
|
||||
# remove the intermedate dot files that are used to generate
|
||||
# the various graphs.
|
||||
|
||||
DOT_CLEANUP = YES
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# The SEARCHENGINE tag specifies whether or not a search engine should be
|
||||
# used. If set to NO the values of all tags below this one will be ignored.
|
||||
|
||||
SEARCHENGINE = NO
|
||||
|
||||
# The CGI_NAME tag should be the name of the CGI script that
|
||||
# starts the search engine (doxysearch) with the correct parameters.
|
||||
# A script with this name will be generated by doxygen.
|
||||
|
||||
CGI_NAME = search.cgi
|
||||
|
||||
# The CGI_URL tag should be the absolute URL to the directory where the
|
||||
# cgi binaries are located. See the documentation of your http daemon for
|
||||
# details.
|
||||
|
||||
CGI_URL =
|
||||
|
||||
# The DOC_URL tag should be the absolute URL to the directory where the
|
||||
# documentation is located. If left blank the absolute path to the
|
||||
# documentation, with file:// prepended to it, will be used.
|
||||
|
||||
DOC_URL =
|
||||
|
||||
# The DOC_ABSPATH tag should be the absolute path to the directory where the
|
||||
# documentation is located. If left blank the directory on the local machine
|
||||
# will be used.
|
||||
|
||||
DOC_ABSPATH =
|
||||
|
||||
# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
|
||||
# is installed.
|
||||
|
||||
BIN_ABSPATH = /usr/local/bin/
|
||||
|
||||
# The EXT_DOC_PATHS tag can be used to specify one or more paths to
|
||||
# documentation generated for other projects. This allows doxysearch to search
|
||||
# the documentation for these projects as well.
|
||||
|
||||
EXT_DOC_PATHS =
|
33
doc/Makefile.am
Normal file
33
doc/Makefile.am
Normal file
@ -0,0 +1,33 @@
|
||||
# flac - Command-line FLAC encoder/decoder
|
||||
# Copyright (C) 2002 Josh Coalson
|
||||
#
|
||||
# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
SUBDIRS = . html
|
||||
|
||||
FLAC.tag: Doxyfile
|
||||
doxygen Doxyfile
|
||||
rm -rf html/api
|
||||
mv doxytmp/html html/api
|
||||
rm -rf doxytmp
|
||||
|
||||
docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
|
||||
|
||||
doc_DATA = \
|
||||
FLAC.tag
|
||||
|
||||
EXTRA_DIST = Doxyfile $(doc_DATA)
|
37
doc/html/Makefile.am
Normal file
37
doc/html/Makefile.am
Normal file
@ -0,0 +1,37 @@
|
||||
# FLAC - Free Lossless Audio Codec
|
||||
# Copyright (C) 2001,2002 Josh Coalson
|
||||
#
|
||||
# This program is part of FLAC; 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
SUBDIRS = ru images
|
||||
|
||||
docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html
|
||||
|
||||
doc_DATA = \
|
||||
comparison.html \
|
||||
developers.html \
|
||||
documentation.html \
|
||||
download.html \
|
||||
features.html \
|
||||
format.html \
|
||||
goals.html \
|
||||
id.html \
|
||||
index.html \
|
||||
news.html \
|
||||
api
|
||||
|
||||
EXTRA_DIST = $(doc_DATA)
|
1067
doc/html/comparison.html
Normal file
1067
doc/html/comparison.html
Normal file
File diff suppressed because it is too large
Load Diff
170
doc/html/developers.html
Normal file
170
doc/html/developers.html
Normal file
@ -0,0 +1,170 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>FLAC - developers</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
|
||||
|
||||
<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo.jpg" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="index.html">home</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="news.html">news</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="download.html">download</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="features.html">features</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="goals.html">goals</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="format.html">format</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="id.html">id</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="comparison.html">comparison</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="documentation.html">documentation</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> developers </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#EEEED4">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> english </TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="ru/developers.html">russian</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<CENTER>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
|
||||
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">FLAC developers</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
FLAC is an open source project and we are happy to enlist the help of anyone who wants to contribute. You can do this to a limited extent through the <A HREF="http://sourceforge.net/mail/?group_id=13478">mailing list</A> but if you have major changes to make to the code it's best to <A HREF="http://sourceforge.net/project/memberlist.php?group_id=13478">sign up as a developer</A>. In either case, make sure to check out the <A HREF="goals.html">FLAC goals</A> first; there are some thing the we <B>don't</B> want added to FLAC, like copy protection and lossy compression.
|
||||
</P>
|
||||
<P>
|
||||
High priority items are:
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
More input plugins. Currently there are plugins for XMMS and Winamp; Freeamp is in the works. More is better!
|
||||
</LI>
|
||||
<LI>
|
||||
Improving the compression methods.
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<P>
|
||||
Some other "nice-to-haves":
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
Fix the MSVC makefiles to make libFLAC.dll (instead of just the .lib).
|
||||
</LI>
|
||||
<LI>
|
||||
Configurable ID3V1 support and ID3V2 support in the plugins.
|
||||
</LI>
|
||||
<LI>
|
||||
Support more input types than just WAVE and raw in <TT><B>flac</B></TT>.
|
||||
</LI>
|
||||
<LI>
|
||||
A better logo! Gimp jedi I'm not...
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<P>
|
||||
Things that are in the works (check the flac-dev mailing list):
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
Windows ACM codec.
|
||||
</LI>
|
||||
<LI>
|
||||
FLAC module for <A HREF="http://oss.sgi.com/projects/audiofile/">Audiofile</A>.
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">third-party developers</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
FLAC is open to third-party developers who want to add support for FLAC into their programs. All the necessary functionality is contained the library libFLAC which is licensed under the <A HREF="http://www.gnu.org/copyleft/lesser.html">LGPL</A>. The relevant documentation here is:
|
||||
<UL>
|
||||
<LI>The <A HREF="documentation.html#libflac">libFLAC API documentation</A> and <A HREF="documentation.html#libflacpp">libFLAC++ API documentation</A></LI>
|
||||
<LI>The <A HREF="format.html">formal description</A> of the FLAC format.</LI>
|
||||
<LI>The <A HREF="id.html">ID registration page</A> for registering an ID if you need to write custom metadata.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<P>
|
||||
There also are several examples in the FLAC code base of the use of libFLAC and libFLAC++ that may also be helpful. Visit the <A HREF="download.html">download page</A> for instructions on how to get the source.
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
</CENTER>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
1095
doc/html/documentation.html
Normal file
1095
doc/html/documentation.html
Normal file
File diff suppressed because it is too large
Load Diff
141
doc/html/download.html
Normal file
141
doc/html/download.html
Normal file
@ -0,0 +1,141 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>FLAC - download</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
|
||||
|
||||
<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo.jpg" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="index.html">home</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="news.html">news</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> download </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="features.html">features</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="goals.html">goals</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="format.html">format</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="id.html">id</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="comparison.html">comparison</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="documentation.html">documentation</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="developers.html">developers</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#EEEED4">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> english </TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="ru/download.html">russian</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<CENTER>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
|
||||
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">download</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
Currently all releases are made through SourceForge and can be found <A HREF="http://sourceforge.net/project/showfiles.php?group_id=13478">here</A>. For each version there is a source release and binary releases for Linux, Windows, Solaris, and Darwin (includes OS X).
|
||||
</P>
|
||||
<P>
|
||||
Debian packages can be found <A HREF="http://packages.debian.org/cgi-bin/search_packages.pl?keywords=flac+libflac+1.0&searchon=all&subword=1&version=all&release=all">here</A>.
|
||||
</P>
|
||||
<P>
|
||||
You can also get the nightly CVS tarball <A HREF="http://cvs.sourceforge.net/cvstarballs/flac-cvsroot.tar.gz">here</A>.
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">extras</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
<B>GUI front-ends:</B>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>Windows</B>
|
||||
<UL>
|
||||
<LI><A HREF="http://home.wanadoo.nl/~w.speek/flac.htm">FLAC frontend</A>, a Windows GUI.</LI>
|
||||
<LI><A HREF="http://www.inf.ufpr.br/~rja00/lossless.html">FLACdrop</A>, an Oggdrop-like frontend for Windows.</LI>
|
||||
<LI><A HREF="http://www.monkeysaudio.com/">Monkey's Audio</A> can be fooled into supporting FLAC as an external encoder; <A HREF="documentation.html#monkey">here's how</A>.</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>
|
||||
<B>Unix</B>
|
||||
<UL>
|
||||
<LI><A HREF="http://www.nostatic.org/grip/">Grip</A> is a great ripping and encoding front end and can be easily configured to use flac.</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
</CENTER>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
171
doc/html/features.html
Normal file
171
doc/html/features.html
Normal file
@ -0,0 +1,171 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>FLAC - features</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
|
||||
|
||||
<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo.jpg" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="index.html">home</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="news.html">news</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="download.html">download</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> features </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="goals.html">goals</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="format.html">format</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="id.html">id</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="comparison.html">comparison</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="documentation.html">documentation</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="developers.html">developers</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#EEEED4">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> english </TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="ru/features.html">russian</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<CENTER>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
|
||||
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">features</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
FLAC stands for Free Lossless Audio Codec. The FLAC project consists of:
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>the stream format</LI>
|
||||
<LI><B><TT>libFLAC</TT></B>, a library of reference encoders and decoders, and a metadata interface</LI>
|
||||
<LI><B><TT>libFLAC++</TT></B>, an object wrapper around libFLAC</LI>
|
||||
<LI><B><TT>flac</TT></B>, a command-line wrapper around libFLAC to encode and decode .flac files</LI>
|
||||
<LI><B><TT>metaflac</TT></B>, a command-line metadata editor for .flac files</LI>
|
||||
<LI>input plugins for various music players (Winamp, XMMS, and more in the works)</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<P>
|
||||
"Free" means that the specification of the stream format is in the public domain (the FLAC project reserves the right to set the FLAC specification and certify compliance), and that neither the FLAC format nor any of the implemented encoding/decoding methods are covered by any patent. It also means that the sources for <B><TT>libFLAC</TT></B> and <B><TT>libFLAC++</TT></B> are available under the <A HREF="http://www.opensource.org/licenses/lgpl-license.html">LGPL</A> and the sources for <B><TT>flac</TT></B>, <B><TT>metaflac</TT></B>, and the plugins are available under the <A HREF="http://www.opensource.org/licenses/gpl-license.html">GPL</A>.
|
||||
</P>
|
||||
<P>
|
||||
FLAC compiles on many platforms: most Unixes (Linux, *BSD, Solaris, OS X), Windows, BeOS, and OS/2. There are build systems for autoconf/automake, MSVC, Watcom C, and Project Builder.
|
||||
</P>
|
||||
<P>
|
||||
What FLAC is:
|
||||
</P>
|
||||
<UL>
|
||||
<P><LI>
|
||||
FLAC is patent free. The FLAC format or encoding/decoding methods are not covered by any patents.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
FLAC is lossless. The encoding of PCM data incurs no loss of information, and the decoded audio is bit-for-bit identical to what went into the encoder. Each frame contains a 16-bit CRC of the frame data for detecting transmission errors. The integrity of the audio data is further insured by storing an <A HREF="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5 signature</A> of the original unencoded audio data in the file header, which can be compared against later during decoding or testing.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
FLAC is designed to compress audio data. Technically, <B><TT>flac</TT></B> can "compress" other kinds of data losslessly (if you pass it in as a mono 8-bit raw file), but the output files tend to be bigger.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
The compression capabilities of FLAC are extendable, meaning that new methods can be added to future versions of the format without breaking older streams or decoders.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
The currently implemented compression methods in the reference encoder yield streams smaller than shorten. The encoding time is variable, but is generally between that of <A HREF="http://www.softsound.com/Shorten.html">shorten</A>, and that of, say, <A HREF="http://www.mp3dev.org/mp3/">LAME</A>. The most aggressive compression however can be quite slow. For more info see the <A HREF="comparison.html">comparison page</A>.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
FLAC is asymmetric in favor of decode speed. Decoding requires only integer arithmetic, and is much less compute-intensive than for most perceptual codecs. Real-time decode performance is easily achievable on even modest hardare.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
FLAC is suitable for archiving, since there is no information loss. You are not locked into the format since there is no generation loss if you decide to convert your data to another format in the future. In addition to the frame CRCs and MD5 signature, <B><TT>flac</TT></B> has a verify option that decodes the encoded stream in parallel with the encoding process and compares the result to the original, aborting with an error if there is a mismatch.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
FLAC is suitable for streaming. Each FLAC frame contains enough data to decode that frame. FLAC does not even rely on previous or following frames. FLAC uses sync codes and CRCs (similar to MPEG and other formats), which, along with framing, allow decoders to pick up in the middle of a stream with a minimum of delay.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
FLAC supports fast sample-accurate seeking. Not only is this useful for playback, it makes FLAC files suitable for use in editing applications.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
FLAC has an extendable metadata system. New metadata blocks can be defined and implemented in future versions of FLAC without breaking older streams or decoders. Applications can write their own <A HREF="format.html#def_APPLICATION">APPLICATION</A> metadata once they <A HREF="id.html">register an ID</A>. ID3 and ID3V2 tags may be attached to .flac files without disrupting the decoder.
|
||||
</LI></P>
|
||||
</UL>
|
||||
<P>
|
||||
Some things that follow from the features:
|
||||
</P>
|
||||
<UL>
|
||||
<P><LI>
|
||||
FLAC streams can be played back consecutively with no audible gaps in between, unlike say, MP3s (this is one of the minor <A HREF="goals.html">goals</A>). For example, you can encode a live album as individual tracks and still play them back seamlessly.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
The sample-accurate seeking allows versatile playback: a sophisticated player could do index points, complex looping, or other structured playback. This could be useful in for say DJs, or practice sessions where you want to play along through specific passages.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
Basically, you get the versatility of a WAV file in a compressed streamable format.
|
||||
</LI></P>
|
||||
</UL>
|
||||
<P>
|
||||
What FLAC is <B>not</B>:
|
||||
</P>
|
||||
<UL>
|
||||
<P><LI>
|
||||
Lossy. FLAC is intended for lossless compression only, as there are many good lossy formats already, such as <A HREF="http://www.mp3-tech.org/">MP3</A> (see <A HREF="http://www.mp3dev.org/mp3/">LAME</A> for an excellent open-source implementation), and <A HREF="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</A>.
|
||||
</LI></P>
|
||||
<P><LI>
|
||||
SDMI compliant, et cetera. There is no intention to support any methods of copy protection, which are, for all practical purposes, a complete waste of bits. (Another way to look at it is that since copy protection is futile, it really carries no information, so you might say FLAC already losslessly compresses all possible copy protection information down to zero bits!) Of course, we can't stop what some misguided person does with proprietary meta-data blocks, but then again, non-proprietary decoders will skip them anyway.
|
||||
</LI></P>
|
||||
</UL>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
</CENTER>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
1331
doc/html/format.html
Normal file
1331
doc/html/format.html
Normal file
File diff suppressed because it is too large
Load Diff
136
doc/html/goals.html
Normal file
136
doc/html/goals.html
Normal file
@ -0,0 +1,136 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>FLAC - goals</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
|
||||
|
||||
<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo.jpg" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="index.html">home</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="news.html">news</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="download.html">download</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="features.html">features</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> goals </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="format.html">format</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="id.html">id</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="comparison.html">comparison</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="documentation.html">documentation</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="developers.html">developers</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#EEEED4">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> english </TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="ru/goals.html">russian</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<CENTER>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
|
||||
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">goals</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
Since FLAC is an open-source project, it's important to have a set of goals that everyone works to. They may change slightly from time to time but they're a good guideline. Changes should be in line with the goals and should not attempt to embrace any of the anti-goals!
|
||||
</P>
|
||||
<P>
|
||||
<B>Goals</B>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
FLAC should be and stay an open format. The source code is all either LGPL'd or GPL'd.
|
||||
</LI>
|
||||
<LI>
|
||||
FLAC should be lossless. This seems obvious but lossy compression seems to creep into every audio codec. This goal also means that flac should stay archival quality and be truly lossless for all input. Testing of releases should be thorough.
|
||||
</LI>
|
||||
<LI>
|
||||
FLAC should yield respectable compression, on par or better than other lossless codecs.
|
||||
</LI>
|
||||
<LI>
|
||||
FLAC should allow at least realtime decoding on even modest hardware.
|
||||
</LI>
|
||||
<LI>
|
||||
FLAC should support fast sample-accurate seeking.
|
||||
</LI>
|
||||
<LI>
|
||||
FLAC should allow gapless playback of consecutive streams. This follows from the lossless goal.
|
||||
</LI>
|
||||
<LI>
|
||||
The FLAC project owes a lot to the many people who have advanced the audio compression field so freely, and aims also to contribute through the open-source development of new ideas.
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<P>
|
||||
<B>Anti-goals</B>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
Lossy compression. There are already many suitable lossy format (<A HREF="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</A>, <A HREF="http://www.mp3-tech.org/">MP3</A>, etc.).
|
||||
</LI>
|
||||
<LI>
|
||||
Copy protection of any kind. Don't get me started, just see the <A HREF="features.html">features page</A> for the short answer.
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
</CENTER>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
199
doc/html/id.html
Normal file
199
doc/html/id.html
Normal file
@ -0,0 +1,199 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>FLAC - id</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
|
||||
|
||||
<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo.jpg" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="index.html">home</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="news.html">news</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="download.html">download</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="features.html">features</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="goals.html">goals</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="format.html">format</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> id </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="comparison.html">comparison</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="documentation.html">documentation</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="developers.html">developers</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#EEEED4">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> english </TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="ru/id.html">russian</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<CENTER>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
|
||||
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">register</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
FLAC allows third-party applications to register an ID for use with FLAC <A HREF="format.html#def_APPLICATION">APPLICATION metadata blocks</A>. Use the following form to request an ID, or to submit a change to an existing ID.
|
||||
</P>
|
||||
<P>
|
||||
<FORM NAME="register" METHOD="GET" ENCTYPE="text/plain" ACTION="mailto:jcoalson@users.sourceforge.net">
|
||||
<CENTER>
|
||||
<TABLE BORDER="0" WIDTH="90%">
|
||||
<TR>
|
||||
<TD>* Application ID: <INPUT TYPE=TEXT NAME="id" SIZE="8" MAXLENGTH="8"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>* Application name: <INPUT TYPE=TEXT NAME="name" SIZE="40"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>* Contact e-mail: <INPUT TYPE=TEXT NAME="email" SIZE="40"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>Application URL: <INPUT TYPE=TEXT NAME="appurl" SIZE="40"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>Specification URL: <INPUT TYPE=TEXT NAME="specurl" SIZE="40"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>Comment:</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><TEXTAREA NAME="comment" COLS="72" ROWS="5" WRAP="OFF"></TEXTAREA></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>(* = mandatory)</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</CENTER>
|
||||
<P>
|
||||
The ID request should be 8 hexadecimal digits and not conflict with any existing IDs (see the table below for all currently registered IDs). This 32-bit number will be stored big-endian in the block.
|
||||
</P>
|
||||
<P>
|
||||
Information about your application (but not your e-mail address) will show up on this page in the ID directory. You can also provide a URL to your application and a URL reference to the specification of your application's APPLICATION block.
|
||||
</P>
|
||||
<P>
|
||||
You will be notified via e-mail about your submission.
|
||||
</P>
|
||||
<CENTER><INPUT TYPE=SUBMIT VALUE="Submit request"></CENTER>
|
||||
</FORM>
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">id directory</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
Here is a list of all registered IDs and their applications:
|
||||
</P>
|
||||
<P>
|
||||
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0" BGCOLOR="#EEEED4"><TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER="1" BGCOLOR="#EEEED4">
|
||||
<TR>
|
||||
<TD BGCOLOR="#D3D4C5">
|
||||
<FONT SIZE="+1"><B>ID</B></FONT>
|
||||
</TD>
|
||||
<TD BGCOLOR="#D3D4C5">
|
||||
<FONT SIZE="+1"><B>Application</B></FONT>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
|
||||
<TT>46746F6C - "Ftol"</TT>
|
||||
</TD>
|
||||
<TD>
|
||||
<A HREF="http://flac-tools.sourceforge.net/">flac-tools</A>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
|
||||
<TT>5346464C - "SFFL"</TT>
|
||||
</TD>
|
||||
<TD>
|
||||
Sound Font FLAC
|
||||
</TD>
|
||||
</TR>
|
||||
<!--
|
||||
<TR>
|
||||
<TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
|
||||
deadbeef
|
||||
</TD>
|
||||
<TD>
|
||||
<A HREF="x">Application1</A> (<A HREF="y">specification</A>)
|
||||
</TD>
|
||||
</TR>
|
||||
-->
|
||||
</TABLE>
|
||||
</TD></TR></TABLE>
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
</CENTER>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
BIN
doc/html/images/1x1.gif
Normal file
BIN
doc/html/images/1x1.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 61 B |
27
doc/html/images/Makefile.am
Normal file
27
doc/html/images/Makefile.am
Normal file
@ -0,0 +1,27 @@
|
||||
# FLAC - Free Lossless Audio Codec
|
||||
# Copyright (C) 2001,2002 Josh Coalson
|
||||
#
|
||||
# This program is part of FLAC; 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/images
|
||||
|
||||
doc_DATA = \
|
||||
1x1.gif \
|
||||
cafebug.gif \
|
||||
logo.jpg
|
||||
|
||||
EXTRA_DIST = $(doc_DATA)
|
BIN
doc/html/images/cafebug.gif
Normal file
BIN
doc/html/images/cafebug.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
BIN
doc/html/images/logo.jpg
Normal file
BIN
doc/html/images/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.0 KiB |
294
doc/html/index.html
Normal file
294
doc/html/index.html
Normal file
@ -0,0 +1,294 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>FLAC - Free Lossless Audio Codec</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
|
||||
|
||||
<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo.jpg" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> home </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="news.html">news</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="download.html">download</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="features.html">features</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="goals.html">goals</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="format.html">format</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="id.html">id</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="comparison.html">comparison</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="documentation.html">documentation</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="developers.html">developers</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#EEEED4">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> english </TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="ru/index.html">russian</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<CENTER>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE cellspacing="0" cellpadding="3" border="0" width="100%" bgcolor="#99CC99">
|
||||
<TR>
|
||||
<TD align="center" valign="top">
|
||||
|
||||
<TABLE WIDTH="100%">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">status</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>FLAC 1.0.3 is out. This release includes a decoder speedup, 24-bit input support, more robust plugins, a new metadata block for Vorbis-style tags, a vastly improved metadata editor, and for developers, a new C++ object wrapper library around <B><TT>libFLAC</TT></B>, among other things. For a complete list see <A HREF="news.html#20020703">here</A>.</P>
|
||||
<P>Also note that <A HREF="http://www.phatnoise.com/">PhatNoise</A> now officially supports FLAC in both the PhatBox/Kenwood Music Keg firmware and the PhatNoise Music Manager software; see the announcement <A HREF="http://www.phatnoise.com/forum/showthread.php?threadid=74">here</A> for more info.</P>
|
||||
<P>If you use FLAC and have suggestions or patches, please <A HREF="http://sourceforge.net/mail/?group_id=13478">join the mailing list</A> or <A HREF="http://sourceforge.net/project/memberlist.php?group_id=13478">developers group</A>. Bugs can be filed <A HREF="http://sourceforge.net/bugs/?func=addbug&group_id=13478">here</A>, but make sure to check the <A HREF="documentation.html#bugs">known bugs</A> section first.</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
<TABLE WIDTH="100%">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">what is FLAC?</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
FLAC stands for Free Lossless Audio Codec. Grossly oversimplified, FLAC is similar to MP3, but lossless. The FLAC project consists of:
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>the stream format</LI>
|
||||
<LI><B><TT>libFLAC</TT></B>, a library of reference encoders and decoders, and a metadata interface</LI>
|
||||
<LI><B><TT>libFLAC++</TT></B>, an object wrapper around libFLAC</LI>
|
||||
<LI><B><TT>flac</TT></B>, a command-line wrapper around libFLAC to encode and decode .flac files</LI>
|
||||
<LI><B><TT>metaflac</TT></B>, a command-line metadata editor for .flac files</LI>
|
||||
<LI>input plugins for various music players (Winamp, XMMS, and more in the works)</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<P>
|
||||
"Free" means that the specification of the stream format is in the public domain (the FLAC project reserves the right to set the FLAC specification and certify compliance), and that neither the FLAC format nor any of the implemented encoding/decoding methods are covered by any patent. It also means that the sources for <B><TT>libFLAC</TT></B> and <B><TT>libFLAC++</TT></B> are available under the <A HREF="http://www.opensource.org/licenses/lgpl-license.html">LGPL</A> and the sources for <B><TT>flac</TT></B>, <B><TT>metaflac</TT></B>, and the plugins are available under the <A HREF="http://www.opensource.org/licenses/gpl-license.html">GPL</A>.
|
||||
</P>
|
||||
<P>
|
||||
FLAC compiles on many platforms: most Unixes (Linux, *BSD, Solaris, OS X), Windows, BeOS, and OS/2. There are build systems for autoconf/automake, MSVC, Watcom C, and Project Builder.
|
||||
</P>
|
||||
<P>
|
||||
See the <A HREF="features.html">features page</A>, <A HREF="documentation.html">documentation page</A>, or <A HREF="format.html">FLAC format page</A> for more info, the <A HREF="comparison.html">comparison page</A> to see how the reference encoder measures up, or the <A HREF="goals.html">goals page</A> for what the FLAC project hopes to achieve.
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
|
||||
<TABLE WIDTH="100%">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">download</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
Visit the <A HREF="download.html">download page</A> for links to the source code or pre-built binaries, or go directly to the <A HREF="http://www.sourceforge.net/projects/flac/">source</A> on SourceForge.
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
|
||||
<TABLE WIDTH="100%">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">documentation</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
The documentation is available online as well as in the distributions. The general installation and usage documentation for <B><TT>flac</TT></B> and the plugins is <A HREF="documentation.html">here</A>. For a detailed description of the FLAC format and reference encoder see the <A HREF="format.html">FLAC format page</A>.
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
|
||||
<TABLE WIDTH="100%">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">id registration</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<P>
|
||||
If you have an application that uses FLAC and would like it to be able to tag .flac files with custom metadata, visit the <A HREF="id.html">registration page</A> to register an ID for your application.
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
|
||||
</TD>
|
||||
|
||||
|
||||
<TD width="26%" valign="top" align="center">
|
||||
|
||||
|
||||
<TABLE WIDTH="95%">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD ALIGN="center"><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B>news</B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20020703">03-Jul-2002</A> :<BR> Version 1.0.3 released<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20020213">13-Feb-2002</A> :<BR> FLAC goes hardware<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20011203">03-Dec-2001</A> :<BR> Version 1.0.2 released<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20011114">14-Nov-2001</A> :<BR> Version 1.0.1 released<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20010720">20-Jul-2001</A> :<BR> FLAC 1.0 is here!<BR></FONT></SMALL></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE><BR><P>
|
||||
|
||||
|
||||
<TABLE WIDTH="95%">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD ALIGN="center"><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B>links</B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.sourceforge.net/projects/flac/">SourceForge project page</A><BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://freshmeat.net/projects/flac">Freshmeat page</A><BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.firstpr.com.au/audiocomp/lossless/">First Principles</A><BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><B>Hardware supporting FLAC:</B><BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.phatnoise.com/">PhatNoise</A> car audio system: <A HREF="http://www.phatnoise.com/forum/showthread.php?threadid=74">Phatbox + FLAC</A><BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><B>Software supporting FLAC:</B><BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.bagu.dhs.org/flac.html">Patch</A> for <A HREF="http://lly.org/~rcw/abcde/page/">abcde</A> (A Better CD Encoder)<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://easytag.sourceforge.net/">EasyTAG</A> versatile tagger<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://home.wanadoo.nl/~w.speek/flac.htm">FLAC frontend</A> (Windows GUI)<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://flac-tools.sourceforge.net/">flac-tools</A><BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.gstreamer.net/">GStreamer</A> streaming media framework<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://mediaxw.sourceforge.net/">MediaXW</A> includes FLAC DirectShow filter<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://rawrec.sourceforge.net/">rawrec/rawplay</A> recording/playback tools<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://rip.sourceforge.net/">rip</A> command-line ripper/encoder<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.icculus.org/SDL_sound/">SDL_sound</A> audio add-on to SDL<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://shnutils.etree.org/shntool/">shntool</A><BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.lammerts.org/software/soepkiptng/">Soepkip TNG</A> music playing daemon + web interface<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.cyclooctane.com/sonice/">sonice</A> FLAC to Vorbis transcoder<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.lameb.fsnet.co.uk/">Split_wav</A> WAV+CUE splitter<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.saunalahti.fi/~cse/html/tag.html">Tag</A> comprehensive tagger (<A HREF="http://home.wanadoo.nl/~w.speek/tag.htm">frontend</A> available)<BR></FONT></SMALL></TD></TR>
|
||||
<!-- not released yet...
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://arson.sourceforge.net/">Arson</A>: KDE ripper/burner<BR></FONT></SMALL></TD></TR>
|
||||
-->
|
||||
<!-- no FLAC support yet...
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://audacity.sourceforge.net/">Audacity</A> Cross-Platform Audio Editor<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://smurf.sourceforge.net/">Smurf</A> Sound Font Editor<BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.rm-r.net/~meff/otto2/">otto2</A><BR></FONT></SMALL></TD></TR>
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://cdwave.com/">CD Wave</A><BR></FONT></SMALL></TD></TR>
|
||||
etree.org?
|
||||
-->
|
||||
<!-- not open source yet...
|
||||
<TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="http://www.baudline.com/">Baudline</A> signal analyzer<BR></FONT></SMALL></TD></TR>
|
||||
-->
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE><BR><P>
|
||||
|
||||
|
||||
<A HREF="http://sourceforge.net"><IMG SRC="http://sourceforge.net/sflogo.php?group_id=13478&type=1" WIDTH="88" HEIGHT="31" BORDER="0" ALT="SourceForge Logo"></A><BR><P>
|
||||
|
||||
<A HREF="http://www.eff.org/cafe/"><IMG SRC="images/cafebug.gif" ALT="CAFE Logo" BORDER=0></A><BR>
|
||||
|
||||
|
||||
<BR></FONT>
|
||||
</TD></TR></TABLE>
|
||||
|
||||
|
||||
</CENTER>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
356
doc/html/news.html
Normal file
356
doc/html/news.html
Normal file
@ -0,0 +1,356 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>FLAC - news</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
|
||||
|
||||
<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo.jpg" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="index.html">home</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> news </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="download.html">download</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="features.html">features</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="goals.html">goals</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="format.html">format</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="id.html">id</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="comparison.html">comparison</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="documentation.html">documentation</A> </TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="developers.html">developers</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER" BGCOLOR="#EEEED4">
|
||||
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<TR>
|
||||
<TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> english </TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
|
||||
<TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP> <A CLASS="topnav" HREF="ru/news.html">russian</A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
|
||||
|
||||
<CENTER>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
|
||||
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
<B><FONT SIZE="+2">news</FONT></B>
|
||||
</FONT></TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
<TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
|
||||
<TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
|
||||
|
||||
<P>
|
||||
<A NAME="20020703">03-Jul-2002:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC 1.0.3 released</B> Although by version number only a 0.0.1 increment, this release is significant. Remember, micro-revisions mean the FLAC format remains both forward and backward compatible, however, the libFLAC API has changed for the better.
|
||||
<P>
|
||||
New features:
|
||||
<UL>
|
||||
<LI>24-bit input support restored in <B><TT>flac</TT></B>.</LI>
|
||||
<LI>Decoder speedup in <B><TT>libFLAC</TT></B>, which is directly passed on to the command-line decoder and plugins.</LI>
|
||||
<LI>New <TT>-F</TT> option to <B><TT>flac</TT></B> to continue decoding in spite of errors.</LI>
|
||||
<LI>Correctly set granulepos in Ogg packets so seeking Ogg FLAC streams will be easier.</LI>
|
||||
<LI>New <A HREF="format.html#metadata_block_vorbis_comment">VORBIS_COMMENT</A> metadata block for tagging with Vorbis-style comments.</LI>
|
||||
<LI>Vastly improved <B><TT>metaflac</TT></B>, now with many editing and tagging options.</LI>
|
||||
<LI>Partial id3v1 support in Winamp plugins.</LI>
|
||||
<LI>Updated Winamp 3 plugin.</LI>
|
||||
<LI>Note: new semantics for -P option in <B><TT>flac</TT></B>.</LI>
|
||||
<LI>Note: removed -R option in <B><TT>flac</TT></B>.</LI>
|
||||
</UL>
|
||||
<P>
|
||||
New library features:
|
||||
<UL>
|
||||
<LI>Previously mentioned decoder speedup in <B><TT>libFLAC</TT></B>.</LI>
|
||||
<LI>New metadata interface to <B><TT>libFLAC</TT></B> for manipulating metadata in FLAC files.</LI>
|
||||
<LI>New <B><TT><A HREF="documentation.html#libflacpp">libFLAC++</A></TT></B> API, an object wrapper around <B><TT>libFLAC</TT></B>.</LI>
|
||||
<LI>New <A HREF="format.html#metadata_block_vorbis_comment">VORBIS_COMMENT</A> metadata block for tagging with Vorbis-style comments.</LI>
|
||||
<LI>Customizable metadata filtering by type in decoders.</LI>
|
||||
<LI>Stream encoder can take an arbitrary list of metadata blocks, instead of just one SEEKTABLE and/or PADDING block.</LI>
|
||||
</UL>
|
||||
<P>
|
||||
Bugs fixed:
|
||||
<UL>
|
||||
<LI>Fixed bug with using pipes under Windows.</LI>
|
||||
<LI>Fixed several bugs in the plugins and made them more robust in general.</LI>
|
||||
<LI>Fixed bug in <B><TT>flac</TT></B> where decoding to WAVE of a FLAC file with 0 for total_samples in the STREAMINFO block yielded a WAVE chunk of 0 size.</LI>
|
||||
<LI>Fixed bug in Ogg packet numbering.</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20020213">13-Feb-2002:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC goes hardware!</B> <A HREF="http://www.phatnoise.com/">Phatnoise</A> has become the first commercial hardware platform to support FLAC. Firmware is now available for the Phatbox player to play FLAC files. See <A HREF="http://www.phatnoise.com/forum/showthread.php?threadid=74">here</A> for details.
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20011203">03-Dec-2001:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC 1.0.2 released</B> This release is only to fix a bug that was causing some of the plugins to crash sporadically. It can also affect <B><TT>libFLAC</B></TT> users that reuse one file decoder instance for multiple files; see <A HREF="http://www.geocrawler.com/lists/3/SourceForge/7206/0/7231340">here</A> for more.
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20011114">14-Nov-2001:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC 1.0.1 released</B> The core codec is unchanged but there have been some features added and some bugs fixed:
|
||||
<P>
|
||||
New features for users:
|
||||
<UL>
|
||||
<LI>Support for Ogg-FLAC, i.e. <B><TT>flac</TT></B> can now read and write FLAC streams using Ogg as the transport layer.</LI>
|
||||
<LI>New Winamp 3 plugin based on the Wasabi Beta 1 SDK.</LI>
|
||||
<LI>New utilities for adding FLAC support to the Monkey's Audio GUI (see <A HREF="documentation.html#monkey">how</A>).</LI>
|
||||
<LI>Mac OS X support. The download area now contains an OS X binary release.</LI>
|
||||
<LI>Mingw32 support.</LI>
|
||||
<LI>Better handling of MS-specific 'fmt' chunks in WAVE files.</LI>
|
||||
</UL>
|
||||
<P>
|
||||
New features for developers:
|
||||
<UL>
|
||||
<LI>Added a SeekableStreamDecoder layer between StreamDecoder and FileDecoder. This makes it easier to use libFLAC in situations where files have been abstracted away. See the latest <A HREF="documentation.html#libflac">documentation</A> for more. The interface for the StreamDecoder and FileDecoder remain the same and are still binary-compatible with libFLAC 1.0.</LI>
|
||||
<LI>Drastically reduced the stack requirements of the encoder.</LI>
|
||||
</UL>
|
||||
<P>
|
||||
Bug fixes:
|
||||
<UL>
|
||||
<LI>Fixed a serious bug with <B><TT>flac</TT></B> and raw input where the encoder was trying to rewind when it shouldn't, which would add 12 junk samples to the encoded file. This was not present in WAVE encoding.</LI>
|
||||
<LI>Fixed a minor bug in <B><TT>libFLAC</TT></B> with setting the file name to stdin on a file decoder.</LI>
|
||||
<LI>Fixed a minor bug in <B><TT>libFLAC</TT></B> where multiple calls to setting the file name on a file decoder caused leaked memory.</LI>
|
||||
<LI>Fixed a minor bug in <B><TT>metaflac</TT></B>, now correctly skips an id3v2 tag if present.</LI>
|
||||
<LI>Fixed a minor bug in <B><TT>metaflac</TT></B>, now correctly skips long metadata blocks.</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20010720">20-Jul-2001:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC 1.0 is out!</B> It's finally here. There are a few new features but mostly it is minor bug fixes since 0.10:
|
||||
<UL>
|
||||
<LI>New '--sector-align' option to <B><TT>flac</TT></B> which aligns a group of encoded files on CD audio sector boundaries.</LI>
|
||||
<LI>New '--output-prefix' option to <B><TT>flac</TT></B> to allow the user to prepend a prefix to all output filenames (useful, for example, for encoding/decoding to a different directory).</LI>
|
||||
<LI>Better WAVE autodetection (doesn't rely on ungetc() anymore).</LI>
|
||||
<LI>Cleaner one-line encoding/decoding stats.</LI>
|
||||
<LI>Changes to the libFLAC interface and type names to make binary compatibility easier to maintain in the future.</LI>
|
||||
<LI>New '--sse-os' option to 'configure' to enable faster SSE-based routines.</LI>
|
||||
<LI>Another (hopefully last) fix to the Winamp 2 plugin.</LI>
|
||||
<LI>Slightly improved Rice parameter estimation.</LI>
|
||||
<LI>Bug fixes for some very rare corner cases when encoding.</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20010607">07-Jun-2001:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC 0.10 released.</B> This is probably the final beta. There have been many improvements in the last two months:
|
||||
<UL>
|
||||
<LI>Both the encoder and decoder have been significantly sped up. Aside from C improvements, the code base now has an assembly infrastructure that allows assembly routines for different architectures to be easily integrated. Many key routines have now have faster IA-32 implementations (thanks to Miroslav).</LI>
|
||||
<LI>A new metadata block <A HREF="format.html#def_SEEKTABLE">SEEKTABLE</A> has been defined to hold an arbitrary number of seek points, which speeds up seeking within a stream.</LI>
|
||||
<LI><B><TT>flac</TT></B> now has a command-line usage similar to 'gzip'; make sure to see the latest <A HREF="documentation.html">documentation</A> for the new usage. It also attempts to preserve the input file's timestamp and permissions.</LI>
|
||||
<LI>The -# options in <B><TT>flac</TT></B> have been tweaked to yield the best compression-to-encode-time ratios. The new default is -5.</LI>
|
||||
<LI><B><TT>flac</TT></B> can now usually autodetect WAVE files when encoding so that -fw is usually not needed when encoding from stdin.</LI>
|
||||
<LI>The WAVE reader in <B><TT>flac</TT></B> now just ignores (with a warning) unsupported sub-chunks instead of aborting with an error.</LI>
|
||||
<LI>Added an option '--delete-input-file' to <B><TT>flac</TT></B> which automatically deletes the input after a successful encode/decode.</LI>
|
||||
<LI>Added an option '-o' to <B><TT>flac</TT></B> to force the output file name (the old usage of "flac - outputfilename" is no longer supported).</LI>
|
||||
<LI>Changed the XMMS plugin to send smaller chunks of samples (now 512) so that visualization is not slow.</LI>
|
||||
<LI>Fixed a bug in the stream decoder where the decoded samples counter got corrupted after a seek.</LI>
|
||||
</UL>
|
||||
It should be a short hop to 1.0.
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20010331">31-Mar-2001:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC 0.9 released.</B> There were some format changes that broke backwards compatibility but these should be the last (see below). Also, there have been several bug fixes and some new features:
|
||||
<UL>
|
||||
<LI>FLAC's sync code has been lengthened to 14 bits from 9 bits. This should enable a faster and more robust synchronization mechanism.</LI>
|
||||
<LI>Two reserved bits were added to the frame header.</LI>
|
||||
<LI>A CRC-16 was added to the FLAC frame footer, and the decoder now does frame integrity checking based on the CRC.</LI>
|
||||
<LI>The format now includes a new subframe field to indicate when a subblock has one or more 0 LSBs for all samples. This increases compression on some kinds of data.</LI>
|
||||
<LI>Added two options to the analysis mode, one for including the residual signal in the analysis file, and one for generating gnuplot files of each subframe's residual distribution with some statistics. See the latest <A HREF="documentation.html#analysis_options">documentation</A>.</LI>
|
||||
<LI>XMMS plugin now supports 8-bit files.</LI>
|
||||
<LI>Fixed a bug in the Winamp2 plugin where the audio sounded garbled.</LI>
|
||||
<LI>Fixed a bug in the Winamp2 plugin where Winamp would hang sporadically at the end of a track (c.f. <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=231197&group_id=13478&atid=113478">bug #231197</A>).</LI>
|
||||
</UL>
|
||||
FLAC is on track for an official 1.0 release soon.
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20010305">05-Mar-2001:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC 0.8 released.</B> This release is a result of extensive testing and fixes several bugs encountered when pushing the encoder to the limit. I'm pretty confident in the stability of the encoder/decoder now for all kinds of input. There have also been several features added. Here is a complete list of the changes since 0.7:
|
||||
<UL>
|
||||
<LI>Created a new utility called <B><TT>metaflac</TT></B>. It is a metadata editor for .flac files. Right now it just lists the contents of the metadata blocks but eventually it will allow update/insertion/deletion.</LI>
|
||||
<LI>Added two new metadata blocks: PADDING which has an obvious function, and APPLICATION, which is meant to be open to third party applications. See the <A HREF="format.html#def_APPLICATION">latest format docs</A> for more info, or the new <A HREF="id.html">id registration page</A>.</LI>
|
||||
<LI>Added a <B><TT>-P</TT></B> option to <B><TT>flac</TT></B> to reserve a PADDING block when encoding.</LI>
|
||||
<LI>Added support for 24-bit files to <B><TT>flac</TT></B> (the FLAC format always supported it).</LI>
|
||||
<LI>Started the Winamp3 plugin.</LI>
|
||||
<LI>Greatly expanded the test suite, adding more streams (24-bit streams, noise streams, non-audio streams, more patterns) and more option combinations to the encoder. The test suite runs about 30 streams and over 5000 encodings now.</LI>
|
||||
<LI>Fixed a bug in <B><TT>libFLAC</B></TT> that happened when using an exhaustive LPC coefficient quantization search with 8 bps input.</LI>
|
||||
<LI>Fixed a bug in <B><TT>libFLAC</B></TT> where the error estimation in the fixed predictor could overflow.</LI>
|
||||
<LI>Fixed a bug in <B><TT>libFLAC</B></TT> where LPC was attempted even when the autocorrelation coefficients implied it wouldn't help.</LI>
|
||||
<LI>Reworked the LPC coefficient quantizer, which also fixed another bug that might occur in rare cases.</LI>
|
||||
<LI>Really fixed the '-V overflow' bug (c.f. <A HREF="http://sourceforge.net/tracker/?group_id=13478&atid=113478&aid=231976&func=detail">bug #231976</A>).</LI>
|
||||
<LI>Fixed a bug in <B><TT>flac</B></TT> related to the decode buffer sizing.</LI>
|
||||
</UL>
|
||||
FLAC is very close to being ready for an official release. The only known problems left are with the Winamp plugins, which should be fixed soon, and pipes with MSVC.
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20010212">12-Feb-2001:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC 0.7 released.</B> This is mainly a bug fix release, specifically:
|
||||
<UL>
|
||||
<LI>Fixed a bug that happened when both -fr and --seek were used at the same time.</LI>
|
||||
<LI>Fixed a bug with -p (c.f. <A HREF="http://sourceforge.net/tracker/?group_id=13478&atid=113478&aid=230992&func=detail">bug #230992</A>).</LI>
|
||||
<LI>Fixed a bug that happened when using large (>32K) blocksizes and -V (c.f. <A HREF="http://sourceforge.net/tracker/?group_id=13478&atid=113478&aid=231976&func=detail">bug #231976</A>).</LI>
|
||||
<LI>Fixed a bug where encoder was double-closing a file.</LI>
|
||||
<LI>Expanded the test suite.</LI>
|
||||
<LI>Added more optimization flags for gcc, which should speed up flac.</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20010128">28-Jan-2001:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC 0.6 released.</B> The encoder is now much faster. The -m option has been sped up by 4x and -r improved, meaning that in the default compression mode (-6), encoding should be at least 3 times faster. Other changes:
|
||||
<UL>
|
||||
<LI>Some bugs related to <B><TT>flac</TT></B> and pipes were fixed (see <A HREF="http://www.geocrawler.com/lists/3/SourceForge/7206/0/5013495/">here</A> for the discussion).</LI>
|
||||
<LI>A "loose mid-side" (<TT>-M</TT>) option to the encoder has been added, which adaptively switches between independent and mid-side coding, instead of the exhaustive search that <TT>-m</TT> does.
|
||||
<LI>An analyze mode (<B><TT>-a</TT></B>) has been added to <B><TT>flac</TT></B>. This is useful mainly for developers; currently it will dump info about each frame and subframe to a file. It's a text file in a format that can be easily processed by scripts; a separate analysis program is in the works.</LI>
|
||||
<LI>The source now has an autoconf/libtool-based build system. This should allow the source to build "out-of-the-box" on many more platforms.</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20010115">15-Jan-2001:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI>
|
||||
<B>FLAC 0.5 released.</B> This is the first beta version of FLAC. Being beta, there will be no changes to the format that will break older streams, unless a serious bug involving the format is found. What this means is that, barring such a bug, streams created with 0.5 will be decodable by future versions. This version also includes some new features:
|
||||
<UL>
|
||||
<LI>An <A HREF="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5 signature</A> of the unencoded audio is computed during encoding, and stored in the Encoding metadata block in the stream header. When decoding, <B><TT>flac</TT></B> will now compute the MD5 signature of the decoded data and compare it against the signature in the stream header.</LI>
|
||||
<LI>A test mode (<B><TT>-t</TT></B>) has been added to <B><TT>flac</TT></B>. It works like decode mode but doesn't write an output file.</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20001223">23-Dec-2000:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI><B>FLAC 0.4 released.</B> This version fixes a bug in the constant subframe detection. More importantly, a verify option (-V) has been added to <B><TT>flac</TT></B> that verifies the encoding process. With this option turned on, <B><TT>flac</TT></B> will create a parallel decoder while encoding to make sure that the encoded output decodes to exactly match the original input. In this way, any unknown bug in the encoder will be caught and <B><TT>flac</TT></B> will abort with an error message.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<A NAME="20001210">10-Dec-2000:</A>
|
||||
</P>
|
||||
<P>
|
||||
<UL>
|
||||
<LI><B>FLAC debuts on SourceForge.</B> The FLAC project is now being hosted on SourceForge. Visit the <A HREF="http://www.sourceforge.net/projects/flac/">FLAC project page</A> to join the mailing list or sign up as a developer.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
</FONT>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
</CENTER>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
36
doc/html/ru/Makefile.am
Normal file
36
doc/html/ru/Makefile.am
Normal file
@ -0,0 +1,36 @@
|
||||
# FLAC - Free Lossless Audio Codec
|
||||
# Copyright (C) 2001,2002 Josh Coalson
|
||||
#
|
||||
# This program is part of FLAC; 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/ru
|
||||
|
||||
doc_DATA = \
|
||||
authors.html \
|
||||
comparison.html \
|
||||
developers.html \
|
||||
documentation.html \
|
||||
download.html \
|
||||
features.html \
|
||||
format.html \
|
||||
goals.html \
|
||||
id.html \
|
||||
index.html \
|
||||
links.html \
|
||||
news.html
|
||||
|
||||
EXTRA_DIST = $(doc_DATA)
|
96
doc/html/ru/authors.html
Normal file
96
doc/html/ru/authors.html
Normal file
@ -0,0 +1,96 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: àâòîðû</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">íà÷àëî</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="news.html">íîâîñòè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">ôàéëû</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">õàðàêòåðèñòèêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">öåëè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">ôîðìàò</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">ñðàâíåíèå</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">ðàçðàáîòêà</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">äîêóìåíòàöèÿ</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ññûëêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
àâòîðû </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../index.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
ðóññêèé</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: àâòîðû</H2></CENTER>
|
||||
|
||||
<P>FLAC <A HREF="http://flac.sourceforge.net/">(http://flac.sourceforge.net/)</A> - ñâîáîäíûé àóäèî êîäåê, îñóùåñòâëÿþùèé ñæàòèå áåç ïîòåðü, ðàçðàáîòàí Äæîøåì Êîëñîíîì.</P>
|
||||
|
||||
<P>Îñòàëüíûå ó÷àñòíèêè ïðîåêòà:</P>
|
||||
|
||||
<BLOCKQUOTE>
|
||||
<P>Ìèðîñëàâ Ëè÷âàð (Miroslav Lichvar)
|
||||
<BLOCKQUOTE>
|
||||
<LI>Íåñêîëüêî âåðñèé ïðîöåäóð èç áèáëèîòåêè <B><TT>libFLAC</TT></B> íà àññåìáëåðå äëÿ àðõèòåêòóðû IA-32.</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>Ìýò Öèììåðìàíí (Matt Zimmerman)
|
||||
<BLOCKQUOTE>
|
||||
<LI>Ñèñòåìà ñáîðêè libtool/autoconf/automake.</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>Àíäðåé Àñòàôüåâ (Andrey Astafiev)
|
||||
<BLOCKQUOTE>
|
||||
<LI>Ïåðåâîä äîêóìåíòàöèè íà ðóññêèé ÿçûê.</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
644
doc/html/ru/comparison.html
Normal file
644
doc/html/ru/comparison.html
Normal file
@ -0,0 +1,644 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: сравнение</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">начало</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="news.html">новости</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">файлы</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">характеристики</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">цели</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">формат</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
сравнение </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">разработка</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">документация</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ссылки</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">авторы</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../comparison.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
русский</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: сравнение</H2></CENTER>
|
||||
|
||||
<P>Целью этой страницы является сравнение FLAC с другими аналогичными кодеками. Исследование затрагивает не только уровень и время сжатия, но и другие важные для пользователя возможности кодеков. Выбирая для себя кодек, помните о следующем:</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI>Насколько я знаю, только три кодека (Bonk, FLAC и Kexis) полностью свободны (лицензия Shorten более ограничена). Большинство предоставляют свободные скомпилированные программы без доступа к исходным кодам, следовательно, выбирая их, Вы попадаете в зависимость от производителя. У вас уже не будет шанса портировать программу на другую операционную систему или исправить ошибку, если она появится, если этого не захочет сделать автор. Это может оказаться серьезным недостатком, если формат не является всемирно признаным.</LI>
|
||||
|
||||
<LI>Уровень и время сжатия характеризуют только конкретную версию енкодера. Они не выявляют предела для всех енкодеров и формата FLAC, так как формат открытый и расширяемый и каждый может написать улучшенную версию. Можно с большой долей уверенности сказать, что кодек будет улучшаться.</LI>
|
||||
|
||||
<LI>Поддержка потокового формата у FLAC дает ему дополнительное преимущество над теми кодеками, которые такой возможности не имеют.</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>Я постараюсь обновлять информацию на этой странице как можно чаще, однако, если вы заметите какую-либо неточность, <A HREF="mailto:andrei@tvcell.ru">сообщите мне</A> и я исправлю ее.</P>
|
||||
|
||||
<H4>Рассматриваемые енкодеры</H4>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI><A HREF="index.html">flac</A>.</LI>
|
||||
|
||||
<LI><A HREF="http://yoyo.cc.monash.edu.au/~phf/bonk">Bonk</A> - открытый кодек. Нет отдельной библиотеки и поддержки плейера.</LI>
|
||||
|
||||
<LI><A HREF="http://ghido.shelter.ro/">FROG</A> - закрытый кодек только для Windows с плагином для Winamp.</LI>
|
||||
|
||||
<LI><A HREF="http://sourceforge.net/projects/kexis">Kexis</A> - открытый кодек. Находится на альфа-стадии разработки. Нет поддержки плейера. Последнее обновление 24 августа 2000 года. Похоже, проект заглох.</LI>
|
||||
|
||||
<LI>Ogg Squish - открытый кодек, но более неподдерживаемый. Тестируемая версия 0.98 была последней, которую можно найти. Версии для Windows не было, но судя по результатам, полученным под Unix, это "быстрый" кодек.</LI>
|
||||
|
||||
<LI><A HREF="http://www-ft.ee.tu-berlin.de/~liebchen/lpac.html">LPAC</A> - поставляется только скомпилированным. Доступны версии не только для Windows, хотя плагин есть только для Winamp. Последнее обновление 25 февраля 2001 года.</LI>
|
||||
|
||||
<LI><A HREF="http://www.monkeysaudio.com/">Monkey's Audio</A> - закрытый кодек только для Windows, есть плагин для Winamp.</LI>
|
||||
|
||||
<LI><A HREF="http://www.jpg.com/products/sound.html">Pegasus-SPS</A> - закрытый кодек только для Windows.</LI>
|
||||
|
||||
<LI><A HREF="http://rksoft.virtualave.net/">RKAU</A> - закрытый кодек только для Windows. Последнее обновление 28 октября 2000 года.</LI>
|
||||
|
||||
<LI><A HREF="http://www.softsound.com/Shorten.html">Shorten</A> - наиболее распространенный кодек с доступными исходными текстами.</LI>
|
||||
|
||||
<LI>WaveZIP - закрытый архиватор только для Windows. Использует движок <A HREF="http://members.aol.com/_ht_a/sndspace/index.html"> MUSICompress[tm]</A>, который, предположительно, запатентован. Я хотел сделать ссылку на компанию, написавшую WaveZIP (GadgetLabs), но они завершили свою деятельность (может, потому что пытались продать то, не должно ничего стоить).</LI>
|
||||
|
||||
<LI><A HREF="http://www.wavpack.com/">WavPack</A> - закрытый архиватор только для Windows.</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>Я не смог достать копии кодеков AudioPack и WavARC.</P>
|
||||
|
||||
<P>Если не принимать во внимание уровень и скорость сжатия (как вы увидите позже, большинство кодеков имеют сходную производительность), то субъективная картина, основанная на базовых возможностях будет выглядеть следующим образом. Основное преимущество имеют свободные кодеки, так как это предоставляет Вам возможность добавлять все, что необходимо. Кроме того, проекты с открытыми исходниками обычно развиваются и улучшаются быстрее. Второй важный для пользователя фактор - это поддержка разных операционных систем и/или возможность использования плагинов для плейеров.</P>
|
||||
|
||||
<P><I>Таблица 1. Сравнение возможностей кодеков</I>.</P>
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT">
|
||||
<FONT SIZE="+1"><B>Кодек</B></FONT></TD>
|
||||
<TD BGCOLOR="#F0F0F0">
|
||||
<FONT SIZE="+1"><B>Доступны тексты?</B></FONT></TD>
|
||||
<TD BGCOLOR="#F0F0F0">
|
||||
<FONT SIZE="+1"><B>Поддержка ОС</B></FONT></TD>
|
||||
<TD BGCOLOR="#F0F0F0">
|
||||
<FONT SIZE="+1"><B>Доступны плагины?</B></FONT></TD>
|
||||
<TD BGCOLOR="#F0F0F0">
|
||||
<FONT SIZE="+1"><B>Поточность?</B></FONT></TD>
|
||||
<TD BGCOLOR="#F0F0F0">
|
||||
<FONT SIZE="+1"><B>Поиск?</B></FONT></TD>
|
||||
<TD BGCOLOR="#F0F0F0">
|
||||
<FONT SIZE="+1"><B>Цена</B></FONT></TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">flac v1.0.2</TD>
|
||||
<TD>да</TD>
|
||||
<TD>любая</TD>
|
||||
<TD>да (Winamp, XMMS, Apollo, dBpowerAMP)</TD>
|
||||
<TD>да</TD>
|
||||
<TD>да</TD>
|
||||
<TD>своб.</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Shorten v3.2</TD>
|
||||
<TD>да</TD>
|
||||
<TD>любая</TD>
|
||||
<TD>да (Winamp, XMMS)</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет (только v3)</TD>
|
||||
<TD>своб.</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Ogg Squish 0.98</TD>
|
||||
<TD>да</TD>
|
||||
<TD>любая</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет?</TD>
|
||||
<TD>да</TD>
|
||||
<TD>да</TD>
|
||||
<TD>своб.</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Bonk 0.5</TD>
|
||||
<TD>да</TD>
|
||||
<TD>любая</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD>своб.</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Kexis 0.2.2</TD>
|
||||
<TD>да</TD>
|
||||
<TD>любая</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD>беспл.</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">LPAC v1.31 (codec 3.0)</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD>Windows/Linux/Solaris</TD>
|
||||
<TD>да (Winamp)</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет?</TD>
|
||||
<TD>да</TD>
|
||||
<TD>беспл.</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Monkey's Audio v3.80</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">Windows</TD>
|
||||
<TD>да (Winamp, MediaJukebox, dBpowerAMP)</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD>да</TD>
|
||||
<TD>беспл.</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">WavPack v3.91</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">Windows</TD>
|
||||
<TD>да (Winamp)</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD>да</TD>
|
||||
<TD>беспл.</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Frog 6.61</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">Windows</TD>
|
||||
<TD>да (Winamp)</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD>да</TD>
|
||||
<TD>беспл.</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">RKAU v1.06</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">Windows</TD>
|
||||
<TD>да (Winamp)</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD>да</TD>
|
||||
<TD>беспл.</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">WaveZIP v2</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">Windows</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD>беспл. (24-бит $)</TD></TR>
|
||||
|
||||
<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Pegasus-SPS</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">Windows</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">нет</TD>
|
||||
<TD BGCOLOR="#E0E0E0">$39 (trial)</TD></TR>
|
||||
</TABLE></P>
|
||||
|
||||
<P>Для тестирования использовался PII-333 с 256Mб и ОС Windows NT SP5. К сожалению, именно Windows явлется единственной операционной системой, под которой могут работать все кодеки и где можно добиться равных условий работы.</P>
|
||||
|
||||
<P>Входными данными являются только файлы, записанные с аудио-CD. В будущем могут появиться тесты для других видов информации (например, речь, другие частоты дискретизации и т.д.). Представлены 14 треков различных стилей.</P>
|
||||
|
||||
<P>Во всех таблицах результаты отсортированы по уровню сжатия (= размер_сжатого_файла / размер_несжатого_файла). В первой таблице приведен итог тестирования по всем трекам. Во второй находятся результаты енкодера на каждом треке.</P>
|
||||
|
||||
<P>Необходимо сделать несколько замечаний: настроки качества LPAC становятся нестабильными при использовании ключа -r (добавляет возможность поиска при воспроизведении). В большинстве случаев режим 'normal' делает файлы меньшего размера и работает быстрее. У RKAU размер файла также может возрастать в режиме 'high' (высокая степень сжатия). В Shorten методы дискретизации и передачи коэффициентов LPC не слишком удачны, в связи с чем режимы с постоянными прогнозирующими параметрами дают больший уровень компресии и работают быстрее.</P>
|
||||
|
||||
<P>Следующий факт обративший на себя внимание состоит в том, что патентованные и платные кодеки оказываются худшими по большинству показателей. SPS выглядит настолько устаревшим и корявым, что я забросил его тестирование после кодирования одного файла.</P>
|
||||
|
||||
<P><I>Таблица 2. Общие результаты</I>.</P>
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
<TR BGCOLOR="#F0F0F0">
|
||||
<TD><FONT SIZE="+1"><B>Енкодер</B></FONT></TD>
|
||||
<TD><FONT SIZE="+1"><B>Время кодирования</B></FONT></TD>
|
||||
<TD><FONT SIZE="+1"><B>Сжатый размер</B></FONT></TD>
|
||||
<TD><FONT SIZE="+1"><B>Уровень сжатия</B></FONT></TD></TR>
|
||||
|
||||
<TR><TD>Monkey's Audio 3.80 (extra high)</TD><TD>21:09.65</TD><TD> </TD><TD>397.89 MB</TD><TD>0.5097</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (normal)</TD><TD>54:05.71</TD><TD> </TD><TD>397.96 MB</TD><TD>0.5098</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (high)</TD><TD>137:00.11</TD><TD> </TD><TD>398.29 MB</TD><TD>0.5103</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 4)</TD><TD>27:51.08</TD><TD> </TD><TD>401.79 MB</TD><TD>0.5147</TD></TR>
|
||||
<TR><TD>LPAC 1.31 (-r, normal)</TD><TD>19:19.39</TD><TD> </TD><TD>403.52 MB</TD><TD>0.5170</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.80 (high)</TD><TD>7:59.74</TD><TD> </TD><TD>404.08 MB</TD><TD>0.5176</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>19:56.44</TD><TD> </TD><TD>405.23 MB</TD><TD>0.5192</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-8)</TD><TD>56:14.92</TD><TD> </TD><TD>411.85 MB</TD><TD>0.5276</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>13:29.11</TD><TD> </TD><TD>413.43 MB</TD><TD>0.5296</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 0)</TD><TD>18:56.67</TD><TD> </TD><TD>413.70 MB</TD><TD>0.5300</TD></TR>
|
||||
<TR><TD>WavPack 3.91 (high)</TD><TD>7:15.37</TD><TD> </TD><TD>418.09 MB</TD><TD>0.5356</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>37:05.54</TD><TD> </TD><TD>418.65 MB</TD><TD>0.5363</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-3)</TD><TD>10:03.33</TD><TD> </TD><TD>419.26 MB</TD><TD>0.5371</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD> </TD><TD>431.08 MB</TD><TD>0.5522</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-1)</TD><TD>8:59.63</TD><TD> </TD><TD>432.29 MB</TD><TD>0.5538</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>10:05.16</TD><TD> </TD><TD>433.56 MB</TD><TD>0.5554</TD></TR>
|
||||
<TR><TD>Kexis 0.2.2</TD><TD>17:50.23</TD><TD> </TD><TD>434.33 MB</TD><TD>0.5564</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>12:21.27</TD><TD> </TD><TD>438.86 MB</TD><TD>0.5622</TD></TR>
|
||||
<TR><TD>WaveZIP</TD><TD>8:41.72</TD><TD> </TD><TD>452.95 MB</TD><TD>0.5802</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD> </TD><TD> </TD><TD>780.56 MB</TD><TD>1.0000</TD></TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><I>Таблица 3. Результаты для отдельных треков</I>.</P>
|
||||
|
||||
<P>
|
||||
<TABLE WIDTH="100%" BORDER="1">
|
||||
<TR><TD WIDTH="35%" ALIGN="RIGHT">
|
||||
<FONT SIZE="+1"><B>Трек</B></FONT></TD>
|
||||
<TD WIDTH="30%" BGCOLOR="#F0F0F0">
|
||||
<FONT SIZE="+1"><B>Енкодер</B></FONT></TD>
|
||||
<TD BGCOLOR="#F0F0F0">
|
||||
<FONT SIZE="+1"><B>Время работы</B></FONT></TD>
|
||||
<TD BGCOLOR="#F0F0F0">
|
||||
<FONT SIZE="+1"><B>Сжатый размер</B></FONT></TD>
|
||||
<TD BGCOLOR="#F0F0F0">
|
||||
<FONT SIZE="+1"><B>Уровень сжатия</B></FONT></TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="21">
|
||||
Dream Theater<BR><I>6:00</I><BR>58.47 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>1:39.08</TD><TD>43.70 MB</TD><TD>0.7475</TD></TR>
|
||||
<TR><TD>Monkey's Audio (high)</TD><TD>0:41.98</TD><TD>43.85 MB</TD><TD>0.7500</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (high)</TD><TD>8:12.44</TD><TD>43.87 MB</TD><TD>0.7503</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (normal)</TD><TD>2:59.56</TD><TD>43.88 MB</TD><TD>0.7504</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>LPAC 1.31 (-r, normal)</TD><TD>1:32.62</TD><TD>44.12 MB</TD><TD>0.7545</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>1:33.09</TD><TD>44.15 MB</TD><TD>0.7550</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 4)</TD><TD>2:08.48</TD><TD>44.18 MB</TD><TD>0.7556</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-8)</TD><TD>4:22.30</TD><TD>44.33 MB</TD><TD>0.7581</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>2:57.32</TD><TD>44.35 MB</TD><TD>0.7585</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>1:04.07</TD><TD>44.40 MB</TD><TD>0.7594</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:58.42</TD><TD>44.75 MB</TD><TD>0.7654</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 0)</TD><TD>1:30.94</TD><TD>44.77 MB</TD><TD>0.7657</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-3)</TD><TD>0:48.75</TD><TD>44.78 MB</TD><TD>0.7658</TD></TR>
|
||||
<TR><TD>WavPack 3.91 (high)</TD><TD>0:35.86</TD><TD>45.14 MB</TD><TD>0.7720</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>45.17 MB</TD><TD>0.7725</TD></TR>
|
||||
<TR><TD>Pegasus-SPS</TD><TD>4:45.00</TD><TD>45.40 MB</TD><TD>0.7765</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>1:25.04</TD><TD>46.52 MB</TD><TD>0.7956</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-1)</TD><TD>0:44.84</TD><TD>46.64 MB</TD><TD>0.7977</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:47.19</TD><TD>46.68 MB</TD><TD>0.7984</TD></TR>
|
||||
<TR><TD>WaveZIP</TD><TD>0:38.99</TD><TD>47.22 MB</TD><TD>0.8077</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Eddie Warner<BR><I>Titus</I><BR>27.87 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (high)</TD><TD>3:34.79</TD><TD>14.54 MB</TD><TD>0.5216</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (normal)</TD><TD>1:12.25</TD><TD>14.60 MB</TD><TD>0.5238</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>LPAC 1.31 (-r, normal)</TD><TD>0:40.65</TD><TD>14.77 MB</TD><TD>0.5298</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-8)</TD><TD>2:00.01</TD><TD>15.01 MB</TD><TD>0.5384</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>0:29.09</TD><TD>15.11 MB</TD><TD>0.5423</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-3)</TD><TD>0:21.88</TD><TD>15.43 MB</TD><TD>0.5537</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:20.71</TD><TD>15.78 MB</TD><TD>0.5662</TD></TR>
|
||||
<TR><TD>Monkey's Audio (extra high)</TD><TD>0:45.47</TD><TD>16.04 MB</TD><TD>0.5754</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (high)</TD><TD>0:13.99</TD><TD>16.11 MB</TD><TD>0.5779</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:26.37</TD><TD>16.21 MB</TD><TD>0.5818</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-1)</TD><TD>0:20.31</TD><TD>16.38 MB</TD><TD>0.5879</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>0:37.93</TD><TD>16.56 MB</TD><TD>0.5941</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>1:22.60</TD><TD>16.73 MB</TD><TD>0.6003</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 4)</TD><TD>0:58.79</TD><TD>16.76 MB</TD><TD>0.6014</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>17.03 MB</TD><TD>0.6112</TD></TR>
|
||||
<TR><TD>WavPack 3.91 (high)</TD><TD>0:10.55</TD><TD>17.13 MB</TD><TD>0.6148</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 0)</TD><TD>0:35.42</TD><TD>17.18 MB</TD><TD>0.6166</TD></TR>
|
||||
<TR><TD>Kexis 0.2.2</TD><TD>0:32.81</TD><TD>17.40 MB</TD><TD>0.6242</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:17.55</TD><TD>17.89 MB</TD><TD>0.6420</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Tool<BR><I>Forty-six & 2</I><BR>64.25 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>1:48.94</TD><TD>39.30 MB</TD><TD>0.6116</TD></TR>
|
||||
<TR><TD>Monkey's Audio (high)</TD><TD>0:33.43</TD><TD>39.51 MB</TD><TD>0.6149</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (normal)</TD><TD>3:34.75</TD><TD>39.93 MB</TD><TD>0.6214</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (high)</TD><TD>8:37.42</TD><TD>39.97 MB</TD><TD>0.6220</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>LPAC 1.31 (-r, normal)</TD><TD>1:38.80</TD><TD>40.25 MB</TD><TD>0.6263</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 4)</TD><TD>2:21.06</TD><TD>40.36 MB</TD><TD>0.6281</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 1)</TD><TD>1:42.26</TD><TD>40.38 MB</TD><TD>0.6284</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-8)</TD><TD>4:41.40</TD><TD>40.89 MB</TD><TD>0.6363</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>3:07.42</TD><TD>40.98 MB</TD><TD>0.6378</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 0)</TD><TD>1:36.56</TD><TD>41.01 MB</TD><TD>0.6383</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>1:08.48</TD><TD>41.07 MB</TD><TD>0.6387</TD></TR>
|
||||
<TR><TD>WavPack 3.91 (high)</TD><TD>0:37.51</TD><TD>41.51 MB</TD><TD>0.6461</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-3)</TD><TD>0:51.92</TD><TD>41.71 MB</TD><TD>0.6496</TD></TR>
|
||||
<TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>42.27 MB</TD><TD>0.6578</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-1)</TD><TD>0:47.39</TD><TD>42.72 MB</TD><TD>0.6646</TD></TR>
|
||||
<TR><TD>Kexis 0.2.2</TD><TD>1:30.85</TD><TD>42.75 MB</TD><TD>0.6652</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>1:02.49</TD><TD>43.06 MB</TD><TD>0.6701</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:52.06</TD><TD>43.18 MB</TD><TD>0.6721</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:42.84</TD><TD>44.52 MB</TD><TD>0.6930</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Cannibal Corpse<BR><I>Mummified In Barbed Wire</I><BR>33.37 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>0:49.20</TD><TD>23.47 MB</TD><TD>0.7033</TD></TR>
|
||||
<TR><TD>LPAC 1.31 (-r, normal)</TD><TD>1:12.54</TD><TD>23.53 MB</TD><TD>0.7050</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 4)</TD><TD>1:12.82</TD><TD>23.58 MB</TD><TD>0.7065</TD></TR>
|
||||
<TR><TD>Monkey's Audio (high)</TD><TD>0:23.25</TD><TD>23.66 MB</TD><TD>0.7087</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (normal)</TD><TD>1:32.20</TD><TD>24.04 MB</TD><TD>0.7202</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (high)</TD><TD>3:21.70</TD><TD>24.04 MB</TD><TD>0.7202</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-8)</TD><TD>2:29.60</TD><TD>24.18 MB</TD><TD>0.7244</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>0:36.32</TD><TD>24.30 MB</TD><TD>0.7281</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>1:39.10</TD><TD>24.36 MB</TD><TD>0.7297</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>0:52.74</TD><TD>24.46 MB</TD><TD>0.7329</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:33.98</TD><TD>25.12 MB</TD><TD>0.7526</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-3)</TD><TD>0:27.93</TD><TD>25.16 MB</TD><TD>0.7539</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>25.23 MB</TD><TD>0.7558</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 0)</TD><TD>0:49.87</TD><TD>25.24 MB</TD><TD>0.7562</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WavPack 3.91 (high)</TD><TD>0:20.50</TD><TD>25.33 MB</TD><TD>0.7589</TD></TR>
|
||||
<TR><TD>Kexis 0.2.2</TD><TD>0:47.07</TD><TD>26.03 MB</TD><TD>0.7799</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-1)</TD><TD>0:25.08</TD><TD>26.09 MB</TD><TD>0.7818</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:27.19</TD><TD>26.61 MB</TD><TD>0.7972</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:22.25</TD><TD>26.89 MB</TD><TD>0.8058</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Alanis Morisette<BR><I>Hand In My Pocket</I><BR>39.09 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>1:03.98</TD><TD>22.85 MB</TD><TD>0.5845</TD></TR>
|
||||
<TR><TD>Monkey's Audio (high)</TD><TD>0:25.70</TD><TD>23.04 MB</TD><TD>0.5893</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (high)</TD><TD>5:54.68</TD><TD>23.16 MB</TD><TD>0.5925</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (normal)</TD><TD>2:23.63</TD><TD>23.19 MB</TD><TD>0.5933</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 4)</TD><TD>1:25.16</TD><TD>23.21 MB</TD><TD>0.5937</TD></TR>
|
||||
<TR><TD>LPAC 1.31 (-r, normal)</TD><TD>1:01.14</TD><TD>23.25 MB</TD><TD>0.5948</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 1)</TD><TD>1:01.46</TD><TD>23.33 MB</TD><TD>0.5968</TD></TR>
|
||||
<TR><TD>Bonk 0.5</TD><TD>1:54.24</TD><TD>23.35 MB</TD><TD>0.5972</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-8)</TD><TD>2:49.68</TD><TD>23.45 MB</TD><TD>0.5997</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>0:40.70</TD><TD>23.55 MB</TD><TD>0.6025</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 0)</TD><TD>0:58.35</TD><TD>23.86 MB</TD><TD>0.6104</TD></TR>
|
||||
<TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>24.11 MB</TD><TD>0.6167</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WavPack 3.91 (high)</TD><TD>0:22.50</TD><TD>24.22 MB</TD><TD>0.6196</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-3)</TD><TD>0:30.81</TD><TD>24.32 MB</TD><TD>0.6220</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:37.23</TD><TD>24.72 MB</TD><TD>0.6323</TD></TR>
|
||||
<TR><TD>Kexis 0.2.2</TD><TD>0:55.13</TD><TD>24.80 MB</TD><TD>0.6345</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-1)</TD><TD>0:27.16</TD><TD>24.81 MB</TD><TD>0.6347</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:29.82</TD><TD>25.34 MB</TD><TD>0.6481</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:28.05</TD><TD>25.95 MB</TD><TD>0.6638</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Gloria Estefan<BR><I>Conga</I><BR>45.15 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>1:15.79</TD><TD>30.12 MB</TD><TD>0.6670</TD></TR>
|
||||
<TR><TD>Monkey's Audio (high)</TD><TD>0:29.68</TD><TD>30.32 MB</TD><TD>0.6716</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 4)</TD><TD>1:38.48</TD><TD>30.57 MB</TD><TD>0.6770</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>1:11.15</TD><TD>30.62 MB</TD><TD>0.6782</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>2:13.65</TD><TD>30.64 MB</TD><TD>0.6785</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-8)</TD><TD>3:20.51</TD><TD>30.75 MB</TD><TD>0.6811</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>LPAC 1.31 (-r, normal)</TD><TD>1:14.52</TD><TD>30.81 MB</TD><TD>0.6823</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (high)</TD><TD>6:52.69</TD><TD>30.83 MB</TD><TD>0.6828</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>0:48.33</TD><TD>30.85 MB</TD><TD>0.6833</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (normal)</TD><TD>2:41.42</TD><TD>30.87 MB</TD><TD>0.6837</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WavPack 3.91 (high)</TD><TD>0:26.73</TD><TD>30.91 MB</TD><TD>0.6845</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 0)</TD><TD>1:08.05</TD><TD>30.96 MB</TD><TD>0.6857</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>31.06 MB</TD><TD>0.6879</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-3)</TD><TD>0:36.80</TD><TD>31.63 MB</TD><TD>0.7005</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:44.27</TD><TD>31.76 MB</TD><TD>0.7034</TD></TR>
|
||||
<TR><TD>Kexis 0.2.2</TD><TD>1:06.75</TD><TD>31.86 MB</TD><TD>0.7056</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-1)</TD><TD>0:33.50</TD><TD>31.99 MB</TD><TD>0.7085</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:36.39</TD><TD>32.47 MB</TD><TD>0.7191</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:29.42</TD><TD>33.02 MB</TD><TD>0.7313</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Cream<BR><I>White Room</I><BR>53.01 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (high)</TD><TD>8:15.46</TD><TD>34.30 MB</TD><TD>0.6469</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (normal)</TD><TD>3:12.99</TD><TD>34.35 MB</TD><TD>0.6479</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>1:28.45</TD><TD>34.65 MB</TD><TD>0.6535</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 4)</TD><TD>1:56.51</TD><TD>34.68 MB</TD><TD>0.6542</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>LPAC 1.31 (-r, normal)</TD><TD>1:29.48</TD><TD>34.84 MB</TD><TD>0.6572</TD></TR>
|
||||
<TR><TD>Monkey's Audio (high)</TD><TD>0:24.17</TD><TD>34.91 MB</TD><TD>0.6586</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>2:37.02</TD><TD>34.96 MB</TD><TD>0.6595</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>1:24.97</TD><TD>34.99 MB</TD><TD>0.6600</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-8)</TD><TD>3:54.58</TD><TD>35.00 MB</TD><TD>0.6602</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>0:56.64</TD><TD>35.17 MB</TD><TD>0.6634</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 0)</TD><TD>1:20.55</TD><TD>35.35 MB</TD><TD>0.6667</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-3)</TD><TD>0:42.74</TD><TD>35.37 MB</TD><TD>0.6672</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:51.33</TD><TD>35.40 MB</TD><TD>0.6677</TD></TR>
|
||||
<TR><TD>WavPack 3.91 (high)</TD><TD>0:31.05</TD><TD>35.60 MB</TD><TD>0.6715</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>35.74 MB</TD><TD>0.6742</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:40.76</TD><TD>36.42 MB</TD><TD>0.6870</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-1)</TD><TD>0:38.39</TD><TD>36.56 MB</TD><TD>0.6896</TD></TR>
|
||||
<TR><TD>Kexis 0.2.2</TD><TD>1:13.46</TD><TD>36.64 MB</TD><TD>0.6911</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:35.77</TD><TD>37.13 MB</TD><TD>0.7004</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Maurice Ravel<BR><I>Fanfare from "L'eventail de Jeanne"</I><BR>20.82 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (normal)</TD><TD>1:46.51</TD><TD>6.86 MB</TD><TD>0.3297</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (high)</TD><TD>3:53.54</TD><TD>6.90 MB</TD><TD>0.3316</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>0:30.30</TD><TD>7.09 MB</TD><TD>0.3407</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 4)</TD><TD>0:43.03</TD><TD>7.25 MB</TD><TD>0.3482</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>LPAC 1.31 (-r, normal)</TD><TD>0:28.80</TD><TD>7.33 MB</TD><TD>0.3520</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>0:30.54</TD><TD>7.39 MB</TD><TD>0.3549</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (high)</TD><TD>0:12.58</TD><TD>7.56 MB</TD><TD>0.3634</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 0)</TD><TD>0:28.81</TD><TD>7.65 MB</TD><TD>0.3673</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-8)</TD><TD>1:21.75</TD><TD>7.68 MB</TD><TD>0.3691</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>0:19.79</TD><TD>7.71 MB</TD><TD>0.3702</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-3)</TD><TD>0:14.63</TD><TD>7.77 MB</TD><TD>0.3733</TD></TR>
|
||||
<TR><TD>Bonk 0.5</TD><TD>0:56.07</TD><TD>7.83 MB</TD><TD>0.3762</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WavPack 3.91 (high)</TD><TD>0:11.42</TD><TD>7.89 MB</TD><TD>0.3791</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-1)</TD><TD>0:13.14</TD><TD>8.12 MB</TD><TD>0.3901</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>8.15 MB</TD><TD>0.3914</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:13.68</TD><TD>8.19 MB</TD><TD>0.3932</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:17.56</TD><TD>8.29 MB</TD><TD>0.3983</TD></TR>
|
||||
<TR><TD>Kexis 0.2.2</TD><TD>0:26.88</TD><TD>8.52 MB</TD><TD>0.4091</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:13.11</TD><TD>8.72 MB</TD><TD>0.4193</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Maurice Ravel<BR><I>String Quartet (4th movement)</I><BR>56.18 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>1:29.26</TD><TD>20.87 MB</TD><TD>0.3715</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 4)</TD><TD>1:58.06</TD><TD>21.25 MB</TD><TD>0.3781</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (normal)</TD><TD>3:51.42</TD><TD>21.46 MB</TD><TD>0.3820</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>1:24.44</TD><TD>21.50 MB</TD><TD>0.3826</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (high)</TD><TD>0:34.29</TD><TD>21.55 MB</TD><TD>0.3836</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (high)</TD><TD>10:39.05</TD><TD>21.56 MB</TD><TD>0.3838</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 0)</TD><TD>1:19.15</TD><TD>21.92 MB</TD><TD>0.3901</TD></TR>
|
||||
<TR><TD>LPAC 1.31 (-r, normal)</TD><TD>1:21.40</TD><TD>21.96 MB</TD><TD>0.3909</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WavPack 3.91 (high)</TD><TD>0:30.03</TD><TD>22.30 MB</TD><TD>0.3969</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-8)</TD><TD>3:58.83</TD><TD>22.61 MB</TD><TD>0.4024</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>0:56.68</TD><TD>22.67 MB</TD><TD>0.4036</TD></TR>
|
||||
<TR><TD>Bonk 0.5</TD><TD>2:34.87</TD><TD>23.18 MB</TD><TD>0.4125</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-3)</TD><TD>0:41.61</TD><TD>23.21 MB</TD><TD>0.4131</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-1)</TD><TD>0:37.14</TD><TD>23.36 MB</TD><TD>0.4158</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>1:14.81</TD><TD>23.42 MB</TD><TD>0.4168</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:40.30</TD><TD>23.71 MB</TD><TD>0.4221</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>24.12 MB</TD><TD>0.4293</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:49.18</TD><TD>25.59 MB</TD><TD>0.4554</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:36.60</TD><TD>25.84 MB</TD><TD>0.4600</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Sergei Prokofiev<BR><I>Piano Concerto No.3 (3rd movement)</I><BR>100.68 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 4)</TD><TD>3:28.59</TD><TD>34.51 MB</TD><TD>0.3427</TD></TR>
|
||||
<TR><TD>Monkey's Audio (extra high)</TD><TD>2:37.54</TD><TD>34.55 MB</TD><TD>0.3431</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 1)</TD><TD>2:27.82</TD><TD>34.82 MB</TD><TD>0.3458</TD></TR>
|
||||
<TR><TD>LPAC 1.31 (-r, normal)</TD><TD>2:05.82</TD><TD>35.27 MB</TD><TD>0.3502</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (normal)</TD><TD>6:34.97</TD><TD>35.31 MB</TD><TD>0.3507</TD></TR>
|
||||
<TR><TD>Monkey's Audio (high)</TD><TD>1:00.47</TD><TD>35.46 MB</TD><TD>0.3521</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (high)</TD><TD>18:34.20</TD><TD>35.80 MB</TD><TD>0.3555</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 0)</TD><TD>2:20.34</TD><TD>37.02 MB</TD><TD>0.3677</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WavPack 3.91 (high)</TD><TD>0:53.49</TD><TD>37.44 MB</TD><TD>0.3718</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-8)</TD><TD>7:01.69</TD><TD>38.07 MB</TD><TD>0.3781</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>1:39.81</TD><TD>38.17 MB</TD><TD>0.3791</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-3)</TD><TD>1:13.23</TD><TD>38.50 MB</TD><TD>0.3824</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-1)</TD><TD>1:04.93</TD><TD>39.30 MB</TD><TD>0.3903</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>1:12.51</TD><TD>39.49 MB</TD><TD>0.3921</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>2:12.79</TD><TD>39.89 MB</TD><TD>0.3962</TD></TR>
|
||||
<TR><TD>Bonk 0.5</TD><TD>4:35.94</TD><TD>40.31 MB</TD><TD>0.4003</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>41.86 MB</TD><TD>0.4157</TD></TR>
|
||||
<TR><TD>WaveZIP</TD><TD>1:05.60</TD><TD>43.67 MB</TD><TD>0.4337</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>1:29.19</TD><TD>45.34 MB</TD><TD>0.4502</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Frederic Chopin<BR><I>Prelude No.24 in d minor</I><BR>27.46 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>0:42.69</TD><TD>10.53 MB</TD><TD>0.3834</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 4)</TD><TD>0:57.62</TD><TD>10.59 MB</TD><TD>0.3855</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>LPAC 1.31 (-r, normal)</TD><TD>0:38.43</TD><TD>10.74 MB</TD><TD>0.3911</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>0:40.79</TD><TD>10.74 MB</TD><TD>0.3912</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (high)</TD><TD>0:19.69</TD><TD>10.77 MB</TD><TD>0.3921</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (normal)</TD><TD>1:58.42</TD><TD>10.97 MB</TD><TD>0.3994</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (high)</TD><TD>5:20.71</TD><TD>11.21 MB</TD><TD>0.4083</TD></TR>
|
||||
<TR><TD>WavPack 3.91 (high)</TD><TD>0:14.46</TD><TD>11.38 MB</TD><TD>0.4145</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 0)</TD><TD>0:39.53</TD><TD>11.45 MB</TD><TD>0.4168</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-8)</TD><TD>1:55.59</TD><TD>11.69 MB</TD><TD>0.4255</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>0:27.86</TD><TD>11.71 MB</TD><TD>0.4264</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-3)</TD><TD>0:19.98</TD><TD>11.73 MB</TD><TD>0.4273</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-1)</TD><TD>0:17.59</TD><TD>11.86 MB</TD><TD>0.4318</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:19.21</TD><TD>12.05 MB</TD><TD>0.4386</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>0:37.61</TD><TD>12.14 MB</TD><TD>0.4419</TD></TR>
|
||||
<TR><TD>Bonk 0.5</TD><TD>1:16.95</TD><TD>12.86 MB</TD><TD>0.4684</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:18.75</TD><TD>13.08 MB</TD><TD>0.4765</TD></TR>
|
||||
<TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>13.31 MB</TD><TD>0.4845</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:24.23</TD><TD>14.40 MB</TD><TD>0.5242</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
Domenico Scarlatti<BR><I>Sonata K.42 (arr.Yepes for guitar)</I><BR>16.39 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>0:25.79</TD><TD>6.96 MB</TD><TD>0.4245</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (high)</TD><TD>3:09.40</TD><TD>6.96 MB</TD><TD>0.4246</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (normal)</TD><TD>1:14.43</TD><TD>6.97 MB</TD><TD>0.4252</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 4)</TD><TD>0:35.24</TD><TD>7.06 MB</TD><TD>0.4304</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (high)</TD><TD>0:10.28</TD><TD>7.14 MB</TD><TD>0.4356</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>0:25.06</TD><TD>7.18 MB</TD><TD>0.4379</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>LPAC 1.31 (-r, normal)</TD><TD>0:30.02</TD><TD>7.21 MB</TD><TD>0.4397</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 0)</TD><TD>0:23.52</TD><TD>7.26 MB</TD><TD>0.4426</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WavPack 3.91 (high)</TD><TD>0:09.23</TD><TD>7.35 MB</TD><TD>0.4481</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-8)</TD><TD>1:10.27</TD><TD>7.37 MB</TD><TD>0.4497</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>0:16.54</TD><TD>7.40 MB</TD><TD>0.4512</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-3)</TD><TD>0:11.90</TD><TD>7.43 MB</TD><TD>0.4529</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>0:45.72</TD><TD>7.46 MB</TD><TD>0.4548</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:11.43</TD><TD>7.48 MB</TD><TD>0.4564</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>0:21.79</TD><TD>7.50 MB</TD><TD>0.4572</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-1)</TD><TD>0:10.52</TD><TD>7.52 MB</TD><TD>0.4590</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>7.74 MB</TD><TD>0.4723</TD></TR>
|
||||
<TR><TD>WaveZIP</TD><TD>0:10.56</TD><TD>7.83 MB</TD><TD>0.4781</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:14.59</TD><TD>8.20 MB</TD><TD>0.5004</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
The Benedictine Monks of<BR>Santo Domingo de Silos<BR><I>Laetatus sum</I><BR>24.26 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (high)</TD><TD>3:15.29</TD><TD>12.21 MB</TD><TD>0.5031</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (normal)</TD><TD>1:25.48</TD><TD>12.21 MB</TD><TD>0.5034</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 4)</TD><TD>0:52.26</TD><TD>12.34 MB</TD><TD>0.5088</TD></TR>
|
||||
<TR><TD>Monkey's Audio (extra high)</TD><TD>0:41.19</TD><TD>12.47 MB</TD><TD>0.5138</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>LPAC 1.31 (-r, normal)</TD><TD>0:45.46</TD><TD>12.62 MB</TD><TD>0.5200</TD></TR>
|
||||
<TR><TD>Monkey's Audio (high)</TD><TD>0:15.69</TD><TD>12.68 MB</TD><TD>0.5228</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>1:08.23</TD><TD>12.71 MB</TD><TD>0.5237</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 1)</TD><TD>0:37.65</TD><TD>12.76 MB</TD><TD>0.5257</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-8)</TD><TD>1:46.14</TD><TD>12.82 MB</TD><TD>0.5285</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 0)</TD><TD>0:35.51</TD><TD>12.88 MB</TD><TD>0.5309</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>0:25.08</TD><TD>12.92 MB</TD><TD>0.5324</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-3)</TD><TD>0:18.45</TD><TD>12.98 MB</TD><TD>0.5348</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WavPack 3.91 (high)</TD><TD>0:13.72</TD><TD>13.06 MB</TD><TD>0.5384</TD></TR>
|
||||
<TR><TD>Kexis 0.2.2</TD><TD>0:34.04</TD><TD>13.30 MB</TD><TD>0.5481</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>0:17.87</TD><TD>13.32 MB</TD><TD>0.5489</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-1)</TD><TD>0:16.14</TD><TD>13.34 MB</TD><TD>0.5499</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>0:22.18</TD><TD>13.42 MB</TD><TD>0.5531</TD></TR>
|
||||
<TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>13.41 MB</TD><TD>0.5528</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:16.37</TD><TD>13.72 MB</TD><TD>0.5655</TD></TR>
|
||||
<TR>
|
||||
<TD ALIGN="RIGHT" ROWSPAN="20">
|
||||
L. Subramaniam<BR><I>Raga Sivapriya</I><BR>213.56 MB
|
||||
</TD>
|
||||
<TD> </TD><TD> </TD><TD> </TD><TD> </TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>RKAU 1.06 (high)</TD><TD>47:18.78</TD><TD>92.94 MB</TD><TD>0.4351</TD></TR>
|
||||
<TR><TD>RKAU 1.06 (normal)</TD><TD>19:37.68</TD><TD>93.31 MB</TD><TD>0.4369</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio (extra high)</TD><TD>5:51.97</TD><TD>95.30 MB</TD><TD>0.4462</TD></TR>
|
||||
<TR><TD>FROG 6.61 (mode 4)</TD><TD>7:34.98</TD><TD>95.45 MB</TD><TD>0.4469</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 1)</TD><TD>5:26.54</TD><TD>96.36 MB</TD><TD>0.4512</TD></TR>
|
||||
<TR><TD>LPAC 1.31 (-r, normal)</TD><TD>4:39.71</TD><TD>96.84 MB</TD><TD>0.4534</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>FROG 6.61 (mode 0)</TD><TD>5:10.07</TD><TD>97.15 MB</TD><TD>0.4548</TD></TR>
|
||||
<TR><TD>Monkey's Audio (high)</TD><TD>2:14.54</TD><TD>97.52 MB</TD><TD>0.4566</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-8)</TD><TD>15:22.57</TD><TD>98.01 MB</TD><TD>0.4589</TD></TR>
|
||||
<TR BGCOLOR="#C0C0C0"><TD>flac 1.0.2 (-5, default)</TD><TD>3:39.72</TD><TD>98.41 MB</TD><TD>0.4608</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WavPack 3.91 (high)</TD><TD>1:58.32</TD><TD>98.82 MB</TD><TD>0.4627</TD></TR>
|
||||
<TR><TD>Bonk 0.5</TD><TD>9:56.41</TD><TD>98.94 MB</TD><TD>0.4633</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>flac 1.0.2 (-3)</TD><TD>2:42.70</TD><TD>99.21 MB</TD><TD>0.4645</TD></TR>
|
||||
<TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>101.88 MB</TD><TD>0.4770</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2 (-p8 -b2048)</TD><TD>3:30.25</TD><TD>102.60 MB</TD><TD>0.4804</TD></TR>
|
||||
<TR><TD>Shorten 3.2 (-p0 -b256, default)</TD><TD>2:56.04</TD><TD>102.84 MB</TD><TD>0.4815</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>4:51.20</TD><TD>103.57 MB</TD><TD>0.4849</TD></TR>
|
||||
<TR><TD>flac 1.0.2 (-1)</TD><TD>2:23.50</TD><TD>103.59 MB</TD><TD>0.4850</TD></TR>
|
||||
<TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>2:25.86</TD><TD>107.47 MB</TD><TD>0.5032</TD></TR> </TABLE>
|
||||
</P>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
119
doc/html/ru/developers.html
Normal file
119
doc/html/ru/developers.html
Normal file
@ -0,0 +1,119 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: ðàçðàáîòêà</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">íà÷àëî</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="news.html">íîâîñòè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">ôàéëû</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">õàðàêòåðèñòèêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">öåëè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">ôîðìàò</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">ñðàâíåíèå</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
ðàçðàáîòêà </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">äîêóìåíòàöèÿ</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ññûëêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">àâòîðû</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../developers.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
ðóññêèé</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: ðàçðàáîòêà</H2></CENTER>
|
||||
|
||||
<H3>Ïðîåêò FLAC</H3>
|
||||
|
||||
<P>FLAC - ýòî îòêðûòûé ïðîåêò è íàì áóäåò î÷åíü ïðèÿòíî, åñëè êòî-ëèáî çàõî÷åò ê íàì ïðèñîåäèíèòüñÿ. Âû ìîæåòå ïðèíèìàòü ó÷àñòèå â ðàçðàáîòêå ÷åðåç <A HREF="http://sourceforge.net/mail/?group_id=13478">ñïèñîê ðàññûëêè</A>, ñîîáùàÿ îá îøèáêàõ èëè âûñêàçûâàÿ ñâîè èäåè, èëè êàê <A HREF="http://sourceforge.net/project/memberlist.php?group_id=13478">ðàçðàáîò÷èê</A>.  ëþáîì ñëó÷àå, ïî÷èòàéòå <A HREF="goals.html">ñïèñîê öåëåé</A>, ñòîÿùèõ ïåðåä ïðîåêòîì, ïîòîìó ÷òî íåêîòîðûå âîçìîæíîñòè, òàêèå êàê çàùèòà îò êîïèðîâàíèÿ è ñæàòèå ñ ïîòåðÿìè, ìû äîáàâëÿòü íå õîòèì.</P>
|
||||
|
||||
<P>Ñïèñîê îñîáåííî âàæíûõ çàäà÷:</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI>Áîëüøå ïëàãèíîâ äëÿ ïëåéåðîâ. Ñåé÷àñ åñòü ïëàãèíû òîëüêî äëÿ Winamp è XMMS. Õî÷åòñÿ áîëüøå!</LI>
|
||||
|
||||
<LI>Óëó÷øèòü ìåòîäû ñæàòèÿ.</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>×åãî áû åùå õîòåëîñü:</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI>Ïîïðàâèòü ìåéêôàéëû äëÿ MSVC, ÷òîáû âìåñòî <TT>libFLAC.lib</TT> íà âûõîäå ïîëó÷àëñÿ <TT>libFLAC.dll</TT>.</LI>
|
||||
|
||||
<LI>Îáåñïå÷èòü íàñòðàèâàåìóþ ïîääåðæêó ID3v1 è ID3v2 â ïëàãèíàõ.</LI>
|
||||
|
||||
<LI>Cäåëàòü ïîääåðæêó äëÿ áîëüøåãî êîëè÷åñòâà òèïîâ âõîäíûõ ôàéëîâ (íå òîëüêî WAVE è raw).</LI>
|
||||
|
||||
<LI>Íàðèñóéòå êëàññíîå ëîãî!</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>Â äàííûé ìîìåíò âåäåòñÿ ðàáîòà íàä ñîçäàíèåì:</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI>Êîäåêà Windows ACM</LI>
|
||||
|
||||
<LI>Ìîäóëÿ FLAC äëÿ áèáëèîòåêè <A HREF="http://oss.sgi.com/projects/audiofile/">Audiofile</A>.
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<H3>Èñïîëüçîâàíèå â äðóãèõ ïðîãðàììàõ</H3>
|
||||
|
||||
<P>FLAC îòêðûò äëÿ ðàçðàáîò÷èêîâ, æåëàþùèõ äîáàâèòü ïîääåðæêó FLAC â ñâîèõ ïðîãðàììàõ. Âñå íåîáõîäèìûå ôóíêöèè íàõîäÿòñÿ â áèáëèîòåêå <B><TT>libFLAC</TT></B>, ðàñïðîñòðàíÿåìîé ïî ëèöåíçèè LGPL. Ñîîòâåòñòâóþùàÿ äîêóìåíòàöèÿ íàõîäèòñÿ çäåñü:</P>
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="documentation.html#libFLAC">API äëÿ libFLAC</A></LI>
|
||||
<LI><A HREF="format.html">îïèñàíèå ôîðìàòà</A> FLAC.</LI>
|
||||
<LI><A HREF="id.html">ñòðàíèöà ðåãèñòðàöèè id</A> äëÿ çàïèñè ñâîèõ ìåòàäàííûõ.</LI>
|
||||
</UL>
|
||||
|
||||
<P> èñõîäíûõ òåêñòàõ ïðîåêòà åñòü íåñêîëüêî ïðèìåðîâ èñïîëüçîâàíèÿ <B><TT>libFLAC</TT></B>. Íà ñòðàíèöå <A HREF="download.html">ôàéëû</A> íàïèñàíî, êàê ìîæíî èõ ïîëó÷èòü.</P>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
619
doc/html/ru/documentation.html
Normal file
619
doc/html/ru/documentation.html
Normal file
@ -0,0 +1,619 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: документация</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">начало</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="news.html">новости</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">файлы</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">характеристики</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">цели</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">формат</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">сравнение</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">разработка</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
документация </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ссылки</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">авторы</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../documentation.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
русский</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: документация</H2></CENTER>
|
||||
|
||||
<H3>Документация</H3>
|
||||
|
||||
<P>Эта страница разбита на следующие разделы:</P>
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="#format">формат</A> - описание формата FLAC для пользователя (более детальное описание для разработчика приведено на <A HREF="format.html">этой</A> странице).</LI>
|
||||
<LI><A HREF="#flac"><B><TT>flac</TT></B></A> - иcпользование кодека <B><TT>flac</TT></B>, работающего из командной строки.</LI>
|
||||
<LI><A HREF="#metaflac"><B><TT>metaflac</TT></B></A> - использование редактора метаданных <B><TT>metaflac</TT></B>, работающего из командной строки.</LI>
|
||||
<LI><A HREF="#plugins">плагины</A> - документация для различных плагинов.</LI>
|
||||
<LI><A HREF="#libflac">API для <B><TT>libFLAC</TT></B></A> - для разработчиков, желающих использовать поддержку FLAC в своих продуктах.</LI>
|
||||
<LI><A HREF="#bugs">ошибки</A> - известные ошибки.</LI>
|
||||
<LI><A HREF="#monkey">как добавить поддержку FLAC в Monkey's Audio GUI</A></LI>
|
||||
</UL>
|
||||
|
||||
<P>Помните, что онлайновая версия этого документа (на английском языке) включается в последний релиз.</P>
|
||||
|
||||
<A NAME="format">
|
||||
<H3>Формат</H3>
|
||||
|
||||
<P>Опции по умолчанию для <B><TT>flac</TT></B> настроены на получение оптимального соотношения скорость/уровень сжатия для большинства типов входных файлов. Здесь описывается как можно попытаться увеличить уровень или скорость сжатия или с наибольшим эффектом использовать систему метаданных.</P>
|
||||
|
||||
<P>Основными частями потока являются:</P>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI>Строка из четырех байтов "fLaC".</LI>
|
||||
|
||||
<LI>Блок метаданных <A HREF="format.html#def_STREAMINFO">STREAMINFO</A>.</LI>
|
||||
|
||||
<LI>Другие необязательные блоки метаданных.</LI>
|
||||
|
||||
<LI>Один или более аудио фреймов.</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
<P>Первые четыре байта идетифицируют поток FLAC. Следующие за ними метаданные содержат информацию о потоке, затем идут сжатые аудиоданные.</P>
|
||||
|
||||
<A NAME="metaflac">
|
||||
<H4>Метаданные</H4>
|
||||
|
||||
<P>FLAC определяет несколько типов блоков метаданных (все они перечислены на странице <A HREF="format.html">формат</A>). Блоки метаданных могут быть любого размера, новые блоки могут быть легко добавлены. Декодер имеет возможность пропускать неизветные ему блоки метаданных. Обязателен только блок STREAMINFO. В нем содержится частота дискретизация, количество каналов и т.п., а также данные позволяющие декодеру настроить буфферы. Сюда также записывается подпись MD5 <I>несжатых</I> аудиоданных. Это полезно для проверки всего потока после его передачи.</P>
|
||||
|
||||
<P>Другие блоки предназначены для резервирования места, хранения таблиц точек поиска, а также данных для конкретных приложений. Опции для добавления блоков PADDING или точек поиска приведены ниже. FLAC не нуждается в точках поиска, однако они позволяют значительно увеличить скорость доступа, а также могут быть использования для расстановки меток в аудио редакторах.</P>
|
||||
|
||||
<P>Если Вам нужен собственный блок метаданных, Вы можете определить его и запросить идентификатор <A HREF="id.html">здесь</A>. Вы можете зарезервировать блок PADDING необходимого размера и записать на его место свои данные после кодирования. Полученнный поток будет отвечать формату FLAC, декодеры распознающие эти блоки смогут их использовать, остальные будут их пропускать.</P>
|
||||
|
||||
|
||||
<H4>Аудиоданные</H4>
|
||||
|
||||
<P>За метаданным следуют сжатые аудиоданные. Метаданные и аудиоданные не чередуются. Как и большинство кодеков FLAC делит входной поток на блоки и кодирует их независимо друг от друга. Блок упаковыватся во фрейм и добавляется к потоку. Базовый кодер использует блоки постоянного размера для всего потока, однако формат предусматривает наличие блоков разной длины в потоке.</P>
|
||||
|
||||
|
||||
<H4>Разбиение на блоки</H4>
|
||||
|
||||
<P>Размер блока - очень важный параметр для кодирования. Если он очень мал, то в потоке будет слишком заголовков фреймов, что уменьшит уровень сжатия. Если размер большой, то кодер не сможет подобрать эффективную модель сжатия. Понимание процесса моделирования поможет Вам увеличить уровень сжатия для некоторых типов входных данных. Обычно при использовании линейного прогнозирования на аудиоданных с частотой дискретизации 44.1 кГц оптимальный размер блока лежит в диапазоне 2-6 тысяч сэмплов. В этом случае значение по умолчанию - 4608. Если использовать быстрые постоянные предикторы, предпочтительнее меньшие размеры блоков, так как в этом случае размеры заголовков фреймов меньше.</P>
|
||||
|
||||
|
||||
<H4>Межканальная декорреляция</H4>
|
||||
|
||||
<P>Если на вход поступают стерео аудиоданные, они могут пройти через стадию межканальной декорреляции. Правый и левый канал преобразуются к среднему и разностному по формулам: <TT>средний = (левый + правый)/2</TT>, <TT>разностный = левый - правый</TT>. В отличие от joint stereo этот процесс не приводит к потерям. Для данных с аудио компакт-дисков это обычно приводит к значительному увеличению уровня сжатия. Для включения использования этого метода кодирования <B><TT>flac</TT></B> имеет две опции: <TT>-m</TT> всегда делает разностную и независимую версию блока и выбирает наименьший фрейм и <TT>-M</TT>, которая адаптивно выбирает схему сжатия.</P>
|
||||
|
||||
|
||||
<H4>Моделирование</H4>
|
||||
|
||||
<P>На следующем этапе кодер пытается аппроксимировать сигнал такой функцией, чтобы полученный после ее вычитания из оригинала результат (называемый разностью, остатком, ошибкой) можно было закодировать минимальным количеством битов. Параметры функций тоже должны записываться, поэтому они не должны занимать много места. FLAC использует два метода формирования аппроксимаций: 1) подгонка простого полинома к сигналу и 2) общее кодирование с линейными предикторами (LPC).</P>
|
||||
|
||||
<P>Во-первых, постоянное полиномиальное предсказание (<TT>-l 0</TT>) работает значительно быстрее, но менее точно, чем LPC. Чем выше порядок LPC, тем медленнее, но лучше будет модель. Однако с увеличением порядка выигрыш будет все менее значительным. В некоторой точке (обычно около 9) процедура кодера, определяющая наилучший порядок, начинает ошибаться и размер получаемых фреймов возрастает. Чтобы преодолеть это, можно использовать полный перебор (опция <TT>-e</TT>), что приведет к значительному увеличению времени кодирования.</P>
|
||||
|
||||
<P>Во-вторых, параметры для постоянных предикторов могут быть описаны тремя битами, а параметры для модели LPC зависят от количества бит на сэмпл и порядка LPC. Это значит, что размер заголовка фрейма зависит от выбранного метода и порядка и может повлиять на оптимальный размер блока.</P>
|
||||
|
||||
|
||||
<H4>Остаточное кодирование</H4>
|
||||
|
||||
<P>Когда модель подобрана, кодер вычитает приближение из оригинала, чтобы получить остаточный (ошибочный) сигнал, который затем кодируется без потерь. Для этого используется то обстоятельство, что разностный сигнал обычно имеет распределение Лапласа и есть набор специальный кодов Хаффмана, называемые кодами Райса, позволяющие эффективно и быстро кодировать эти сигналы без использования словаря.</P>
|
||||
|
||||
<P>Кодирование Райса состоит из нахождения одного параметра, отвечающего распределению сигнала, а затем использования его для составления кодов. При изменении распределения меняется и оптимальный параметр, поэтому имеется метод позволяющий пересчитывать его по необходимости. Остаток может быть разбит на <I>контексты</I> или <I>разделы</I>, у каждого из которых будет свой параметр Райса. <B><TT>flac</TT></B> позволяет указать, как нужно производить разбиение, с помощью опции <TT>-r</TT>. Остаток может быть разбит на <I>2^n</I> раздела, если использовать <TT>-r n,n</TT>. Параметр <I>n</I> называется порядком раздела. Также кодер может искать в пределах от <I>m</I> до <I>n</I> порядка, выбирая лучший вариант, если указать <TT>-r m,n</TT>. Обычно выбор <I>n</I> не влияет на скорость кодирования. От разницы между <I>m</I> и <I>n</I> сильно зависит время работы, чем она больше, тем больше времени будет затрачиваться на поиск лучшего порядка. Выбор размера блока также влияет на оптимальный порядок раздела.</P>
|
||||
|
||||
|
||||
<H4>Составление фреймов</H4>
|
||||
|
||||
<P>Аудиофрейму предшествует заголовок, который начинается с кода синхронизации и содержит минимум информации, необходимой декодеру для воспроизведения потока. Сюда также записывается номер блока или сэмпла и восьмибитная контрольная сумма самого заголовка. Код синхронизации, CRC заголовка фрейма и номер блока/сэмпла позволяют осуществлять пересинхронизацию и поиск даже в отсутствие точек поиска. В конце фрейма записывается его шестнадцатибитная контрольная сумма. Если базовый декодер обнаружит ошибку, будет сгенерирован блок тишины.</P>
|
||||
|
||||
|
||||
<H4>Разное</H4>
|
||||
|
||||
<P>Чтобы поддерживать основные типы метаданных, базовый декодер умеет пропускать теги ID3V1 и ID3V2, поэтому их можно свободно добавлять. Теги ID3V2 должны располагаться перед маркером "fLaC", а теги ID3V1 - в конце файла.</P>
|
||||
|
||||
<P>У <B><TT>flac</TT></B> есть опция (<TT>-V</TT>) для проверки выходных данных при кодировании. В этом случае декодер работает одновременно с кодером и его выход сравнивается с оригинальным вводом. Если будет найдено отличие, <B><TT>flac</TT></B> закончит работу с сообщением об ошибке.</P>
|
||||
|
||||
|
||||
<A NAME="flac">
|
||||
<H3><B><TT>flac</TT></B></H3>
|
||||
|
||||
<P><B><TT>flac</TT></B> - это кодек, работающий из командной строки. Входом для кодера и выходом для декодера должен быть либо данные в формате RIFF WAVE, либо поток сэмплов без заголовка. <B><TT>flac</TT></B> использует только линейные PCM сэмплы (другими словами, A-LAW, uLAW, и т.п. не поддерживаются). Следующим ограничением является то, что во кодируемом файле сэмплы должны быть 8, 16 или 24-битными. Это не ограничение формата, просто так работают базовый кодер и декодер.</P>
|
||||
|
||||
<P><B><TT>flac</TT></B> предполагает, что файлы RIFF WAVE имеют суффикс ".wav"; это умолчание может быть переопределено специальным ключом. Также предполагается, что файлы с суффиком ".ogg" имеют формат Ogg-FLAC. В остальных случаях <B><TT>flac</TT></B> не делает предположений о суффиксах, хотя по соглашению файлы FLAC имеют суффикс ".flac" (или ".fla" на старых файловых системах таких как FAT-16).</P>
|
||||
|
||||
<P>Перед полным описанием ключей, используемых <B><TT>flac</TT></B>, обратим внимание на то что: 1) по умолчанию <B><TT>flac</TT></B> сжимает файлы (для декодирования используйте ключ <TT>-d</TT>); 2) ключи <TT>-0..-8</TT>, а также <TT>--fast</TT> и <TT>--best</TT>, управляющие уровнем сжатия, являются синонимами для различных групп настроек кодирования. Того же эффекта можно добиться, используя наборы соответствующих ключей; 3) модель обработки входных и выходных файлов у <B><TT>flac</TT></B> аналогична <B><TT>gzip</TT></B>.</P>
|
||||
|
||||
<P><B><TT>flac</TT></B> вызывается одним из четырех способов:</P>
|
||||
|
||||
<BLOCKQUOTE><UL>
|
||||
<LI>Кодирование:<BR><TT>flac [-s] [--skip #] [<I><A HREF="#format_options"><настройки_формата></A></I>] [<I><A HREF="#encoding_options"><опции_кодирования></A></I>] [входной_файл [...]]</TT></LI>
|
||||
|
||||
<LI>Декодирование:<BR><TT>flac -d [-s] [--skip #] [-F] [<I><A HREF="#format_options"><настройки_формата></A></I>] [<I><A HREF="#encoding_options"><опции_кодирования></A></I>] [входной_файл [...]]</TT></LI>
|
||||
|
||||
<LI>Тестирование:<BR><TT>flac -t [-s] [входной_файл [...]]</TT></LI>
|
||||
|
||||
<LI>Анализ:<BR><TT>flac -a [-s] [--skip #] [<I><A HREF="#analysis_options"><опции_анализа></A></I>] [входной_файл [...]]</TT></LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
<P>В любом случае, если входной файл не указан, подразумевается стандартный ввод. Если указан только один входной файл, то это может быть "-" для стандартного ввода (stdin). Когда используется стандартный ввод, <B><TT>flac</TT></B> пишет в стандартный вывод (stdout). В остальных случаях <B><TT>flac</TT></B> выполнит указанные действия для каждого входного файла и запишет результаты в файлы с аналогичными именами (при кодировании суффикс будет заменен на ".flac" или, если его не было, будет добавлен; при декодировании суффиксы также изменяются в соответствии с типом выходных данных.) Оригинал удаляется, только если указан ключ <TT>--delete-input-file</TT>.</P>
|
||||
|
||||
<P>Существуют особые формы вызова процедур кодирования/декодирования из стандандартного ввода в файл.</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<UL>
|
||||
<LI><TT>flac [опции] - выходной_файл</TT></LI>
|
||||
|
||||
<LI><TT>flac -d [опции] - выходной_файл</TT></LI>
|
||||
</UL>
|
||||
|
||||
<P>которые лучше чем</P>
|
||||
|
||||
<UL>
|
||||
<LI><TT>flac [опции] > выходной_файл</TT></LI>
|
||||
|
||||
<LI><TT>flac -d [опции] > выходной_файл</TT></LI>
|
||||
</UL>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>так как в первом случае сохраняется возможность произвести при необходимости последующую обработку файла, например для записи заголовков <TT>RIFF WAVE</TT> или <TT>STREAMINFO</TT>.</P>
|
||||
|
||||
<P>Данные в стандартный вывод можно перенаправить с помощью ключа <TT>-c</TT>.</P>
|
||||
|
||||
<P>Опции кодирования влияют на скорость работы и уровень сжатия. Настройки формата определяют расположение сэмплов, если на вход поступает файл без заголовка. Если у файла есть заголовок <TT>RIFF WAVE</TT>, то настойки формата не нужны, так как они берутся из файла.</P>
|
||||
|
||||
<P>В режиме тестирования <B><TT>flac</TT></B> работает как и при декодировании, только выходной файл не записывается. Режимы декодирования и тестирования проверяют поток на наличие ошибок, а также сравнивают подпись MD5 декодированного потока с сохраненной подписью, даже если формат потока правильный.</P>
|
||||
|
||||
<H4><a name="general_options">Основные ключи</A></H4>
|
||||
<TABLE border=1>
|
||||
|
||||
<TR><TD width=25%><TT>-d</TT></TD>
|
||||
<TD width=75%>Декодирование (по умолчанию <B><TT>flac</TT></B> кодирует). <B><TT>flac</TT></B> завершит работу с кодом выхода <TT>1</TT>, если будет встречена ошибка или контрольная сумма MD5 декодированного потока не совпадет с сохраненной. Если ошибок не будет, код возврата будет равен <TT>0</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-H</TT></TD>
|
||||
<TD>Вывести справку полностью. При запуске <B><TT>flac</TT></B> без аргументов отображается краткая справка.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-t</TT></TD>
|
||||
<TD>Тестирование (то же самое, что и декодирование, только выход не записывается в файл). Коды возврата те же.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-a</TT></TD>
|
||||
<TD>Анализ (то же самое, что и декодирование, только выходом является файл статистики). Коды возврата те же. Режим предназначен в основном для разработчиков. В выходной текстовый файл записывается информация о каждом фрейме и подфрейме.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-c</TT></TD>
|
||||
<TD>Направить результат в стандартный вывод (stdout).</TD></TR>
|
||||
|
||||
<TR><TD><TT>-s</TT></TD>
|
||||
<TD>Не показывать статистику при кодировании/декодировании.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-o файл</TT></TD>
|
||||
<TD>Явно указать имя выходного файла, по умолчанию <B><TT>flac</TT></B> просто заменяет суффикс.</TD></TR>
|
||||
|
||||
<TR><TD><TT>--output-prefix строка</TT></TD>
|
||||
<TD>Добавляет префикс к каждому имени выходному файлу. Может имспользоваться для кодирования/декодирования файлов в другой каталог. Если указанная строка является частью пути, убедитесь, что она заканчивается слэшем '/'.</TD></TR>
|
||||
|
||||
<TR><TD><TT>--delete-input-file</TT></TD>
|
||||
<TD>После успешного окончания кодирования/декодирования входной файл будет удален. Если произойдет ошибка, исходный файл останется.</TD></TR>
|
||||
|
||||
<TR><TD><TT>--skip #</TT></TD>
|
||||
<TD>Пропустить первые <TT>#</TT> сэмплов входного файла. Работает для кодирования и декодирования, но не для тестирования.</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
<H4><a name="analysis_options">Опции анализа</H4>
|
||||
<TABLE border=1>
|
||||
<TR><TD width=15%><TT>--a-rtext</TT></TD>
|
||||
<TD width=85%>Добавляет в файл остаточный сигнал. Результирующий файл получается <B>очень большим</B>.</TD></TR>
|
||||
|
||||
<TR><TD width=10%><TT>--a-rgp</TT></TD>
|
||||
<TD width=90%>Создает файлы-диаграммы для каждого подфрейма. В каждом файле будет остаточное распределение для подфрейма. Будет создано <B>очень много</B> файлов.</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
<H4><a name="decoding_options">Опции декодирования</H4>
|
||||
<TABLE border=1>
|
||||
<TR><TD width=15%><TT>-F</TT></TD>
|
||||
<TD width=85%>По умолчанию <B><TT>flac</TT></B> прекращает декодирование
|
||||
в случае ошибки в потоке и удаляет частично декодированный файл.
|
||||
Использование ключа <TT>-F</TT> ведет к тому, что сообщения об ошибках
|
||||
выводятся, но <B><TT>flac</TT></B> продолжает работу до конца.
|
||||
Обратите внимание, что в результате такого декодирования в выходном файле
|
||||
могут быть пропущены сэмплы или появится блоки тишины.</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
<H4><a name="encoding_options">Опции кодирования</A></H4>
|
||||
<TABLE border=1>
|
||||
|
||||
<TR><TD width=15%><TT>--ogg</TT></TD>
|
||||
<TD width=85%>
|
||||
<P>При кодировании генерируется вывод в формате Ogg-FLAC вместо "родного"FLAC. Потоки Ogg-FLAC представляют собой потоки FLAC обернутые в транспортный уровень Ogg. Полученный файл будет иметь суффикс '.ogg' и будет декодироваться утилитой <TT><B>flac</B></TT>.</P>
|
||||
<P>При декодировании формат ввода однозначно определяется как Ogg-FLAC. Это полезно при получении данных со стандартного ввода или если у файла суффикс не '.ogg'.</P></TD></TR>
|
||||
|
||||
<TR><TD><TT>--lax</TT></TD>
|
||||
<TD>Позволяет кодеру создавать файлы, отвечающие подмножеству формата FLAC. В результате работы будет получаться непотоковый файл, поэтому этот ключ следует использовать только для архивирования. Декодер будет поддерживать воспроизведение и поиск в таких файлах.</TD></TR>
|
||||
|
||||
<TR><TD><TT>--sector-align</TT></TD>
|
||||
<TD>
|
||||
<P>При кодировании нескольких WAVE файлов формата CD-Audio выравнивать их на границу сектора. Эта опция применима только для кодирования нескольких WAVE файлов, каждый из которых должен иметь частоту дискретизации 44.1 кГц и два канала. Если будет указана эта опция кодер выровняет потоки .flac так,
|
||||
что их длины будут кратны размеру сектора CD-Audio (равны 1/75 секундам или 588 сэмплам). Это осуществляется переносом части сектора в конце каждого WAVE файла в начало следующего. Последний поток будет дополнен до границы выравнивания нулями.</P>
|
||||
<P>Использование этой опции не приведет ни к чему, если файлы уже выровнены (например, если правильно скопированы с аудио-CD). <TT><B>flac</B></TT> может выровнять только несколько файлов за один вызов.</P>
|
||||
|
||||
<P><B>ВНИМАНИЕ</B>: Порядок файлов имеет значение! Если вы сделаете следующий вызов '<TT>flac --sector-align *.wav</TT>', командный процессор может обработать шаблон не в том порядке, в каком вы рассчитываете. Поэтому лучше всего вызывать программу, явно указав список файлов, например, '<TT>flac --sector-align 8.wav 9.wav 10.wav</TT>'.
|
||||
</TD></TR>
|
||||
|
||||
<TR><TD><TT>-S {#|X|#x}</TT></TD>
|
||||
<TD width=90%>Добавляет точки для поиска в таблицу <TT>SEEKTABLE</TT>.
|
||||
|
||||
<UL>
|
||||
<LI><TT># </TT> : создается точка поиска для сэмпла с определенным номером.</LI>
|
||||
|
||||
<LI><TT>X </TT> : резервируемые точки (всегда помещаются в конце <TT>SEEKTABLE</TT>).</LI>
|
||||
|
||||
<LI><TT>#x</TT> : # равномерно распределенных точек поиска, первая соответствует 0 сэмплу.</LI>
|
||||
</UL>
|
||||
|
||||
<P>Опцию <TT>-S</TT> можно использовать несколько раз. В результате получится объединенная таблица, в которой будут присутствовать только уникальные значения.<BR>
|
||||
По умолчанию <B><TT>flac</TT></B> использует <TT>-S 100x</TT>. Если таблица поиска не нужна, укажите <TT>-S-</TT>.<BR>
|
||||
<B>ПРИМЕЧАНИЕ</B>: <TT>-S #x</TT> не будет работать, если кодер не сможет определить размер входного файла в начале работы.<BR>
|
||||
<B>ПРИМЕЧАНИЕ</B>: если <I>#</I> больше или равен количеству сэмплов во входном файле, то точки добавлены не будут, если размер можно определить до кодирования, в противном случае будут записаны резервируемые точки.</P>
|
||||
</TD></TR>
|
||||
|
||||
<TR><TD><TT>-P #</TT></TD>
|
||||
<TD>Eнкодер запишет блок метаданных <TT>PADDING</TT>, указанного размера (в байтах), после блока <TT>STREAMINFO</TT>. Ключи <TT>-P 0</TT> или <TT>-P-</TT> указывают, что блок <TT>PADDING</TT> не нужен (значение по умолчанию). Этот блок полезен, если вы собираетесь добавить тэг в файл позже. Вместо того, чтобы переписывать файл полностью, можно будет записать информацию вместо блока <TT>PADDING</TT>. Обратите внимание на то, что общий размер блока <TT>PADDING</TT> будет на 4 байта больше, так как 4 байта занимает заголовок.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-b #</TT></TD>
|
||||
<TD>Устанавливает размер блока в сэмплах. По умолчанию <TT>1152</TT> для <TT>-l 0</TT>, иначе <TT>4608</TT>. Стандартные потоки должны использовать одно из указаных значений: <TT>192/576/1152/2304/4608/256/512/1024/2048/4096/8192/16384/32768</TT>. Сейчас кодер использует постоянный размер блока для всего файла.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-m</TT></TD>
|
||||
<TD>Включает разностное кодирование (только для стерео потоков). Обычно увеличивает уровень сжатия на несколько процентов. Для каждого блока создается усредненная и стерео версия блока, сохраняется блок меньшего размера. Сейчас разностное кодирование доступно для файлов, где сэмпл имеет размер не больше 16 бит.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-M</TT></TD>
|
||||
<TD>Включает свободное разностное кодирование (только для стерео потоков). Работает аналогично <TT>-m</TT>, однако кодер переключается между независимым и усредняющим кодированием адаптивно. Метод работает быстрее, но уровень сжатия меньше, так как <TT>-m</TT> производит полный перебор вариантов.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-0..-8</TT></TD>
|
||||
<TD>Быстрейшее сжатие ... максимальное сжатие. По умолчанию <TT>-5</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-0</TT></TD>
|
||||
<TD>Аналогично <TT>-l 0 -b 1152 -r 2,2</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-1</TT></TD>
|
||||
<TD>Аналогично <TT>-l 0 -b 1152 -r 2,2 -M</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-2</TT></TD>
|
||||
<TD>Аналогично <TT>-l 0 -b 1152 -r 3 -m</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-3</TT></TD>
|
||||
<TD>Аналогично <TT>-l 6 -b 4608 -r 3,3</TD></TR>
|
||||
|
||||
<TR><TD><TT>-4</TT></TD>
|
||||
<TD>Аналогично <TT>-l 8 -b 4608 -r 3,3 -M</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-5</TT></TD>
|
||||
<TD>Аналогично <TT>-l 8 -b 4608 -r 3,3 -m</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-6</TT></TD>
|
||||
<TD>Аналогично <TT>-l 8 -b 4608 -r 4 -m</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-7</TT></TD>
|
||||
<TD>Аналогично <TT>-l 8 -b 4608 -r 6 -m -e</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-8</TT></TD>
|
||||
<TD>Аналогично <TT>-l 12 -b 4608 -r 6 -m -e</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>--fast</TT></TD>
|
||||
<TD>Быстрейшее сжатие. Аналогично <TT>-0</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>--best</TT></TD>
|
||||
<TD>Максимальное сжатие. Аналогично <TT>-8</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-e</TT></TD>
|
||||
<TD>Полный поиск модели (работает медленно!). Обычно кодер определяет лучшую модель и кодирует далее опираясь на нее. В данном режиме кодер будет создавать подфреймы всех порядков и использовать наименьший. Если максимальное значение порядка LPC велико, время кодирования существенно возрастет. Выигрыш обычно составляет около 0.5%.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-E</TT></TD>
|
||||
<TD>Использовать управляющие коды в кодере энтропии. Эта опция позволяет записывать незакодированное представление остатка в разделе, если его размер меньше. При этом время работы увеличивается, а уровень сжатия обычно улучшается примерно на 1%.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-l #</TT></TD>
|
||||
<TD>Определяет максимальный порядок LPC (коэффициентов линейного прогнозирования). Число должно быть меньше или равно <TT>32</TT>. Если значение равно <TT>0</TT>, кодер будет использовать вместо общего линейного прогнозирования постоянные коэффициенты. Этот метод увеличивает скорость работы, но файлы получаются на 5-10% больше.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-q #</TT></TD>
|
||||
<TD>Определяет точность дискретных коэффициентов линейного прогнозирования в битах. По умолчанию <TT>-q 0</TT>, что позволяет кодеру принимать решение в зависимости от сигнала. Лучше оставлять значение по умолчанию.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-p</TT></TD>
|
||||
<TD>Производить оптимизацию LPC. Переопределяет любую опцию <TT>-q</TT>. Сильно замедляет работу, и уменьшает размер файла на долю процента. <TT>-q</TT> не работает, когда используется <TT>-l 0</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-r [#,]#</TT></TD>
|
||||
<TD>Установить <I>[min,]max</I> порядок раздела. Если минимальное значение не указано, то оно устанавливается равным 0. По умолчанию кодер один параметр Райса для всего остатка подфрейма. Если использовать эту опцию, остаток будет разделяться на <I>2^min#</I> ... <I>2^max</I> частей, для каждой из которых будет определен собственный параметр Райса. С увеличением параметра <I>max</I> выигрыш будет все меньше. Наиболее оптимальный вариант достигается при использовании <TT>-r 2,2</TT> (и больших значений для больших размеров блоков). При этом сжатие обычно увеличивается на 1.5%. Выбор оптимального значения можно произвести по формуле <TT>размер_блока/(2^n)=128</TT>. Максимальный уровень сжатия достигается при использовании <TT>-r 0,16</TT>.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-V</TT></TD>
|
||||
<TD>Проверять процесс сжатия. В данном случае <B><TT>flac</TT></B> создает параллельный декодер, раскодирующий выход кодера и сравнивает результат с оригиналом. Если будет найдено несоответствие, кодирование прекратится. Время работы с этой опцией увеличивается, однако, при этом гарантируется, что файл будет правильно декодирован.</TD></TR>
|
||||
|
||||
<TR><TD> </TD>
|
||||
<TD><TT>-F-</TT>, <TT>-S-</TT>, <TT>-P-</TT>, <TT>-m-</TT>, <TT>-e-</TT>, <TT>-E-</TT>, <TT>-p-</TT>, <TT>-V-</TT>, <TT>--lax-</TT>, <TT>--delete-input-file-</TT>, <TT>--sector-align-</TT> используются для отключения соответствующих опций.</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
<H4>Настройки формата</H4>
|
||||
<TABLE border=1>
|
||||
|
||||
<TR><TD width=15%><TT>-fb | -fl</TT></TD>
|
||||
<TD width=90%>Определяет порядок байтов в файле без заголовка big-endian | little-endian.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-fc n</TT></TD>
|
||||
<TD>Определяет количество каналов в файле без заголовка.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-fp n</TT></TD>
|
||||
<TD>Определяет количество бит на сэмпл в файле без заголовка.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-fs n</TT></TD>
|
||||
<TD>Определяет количество сэмплов в секунду в файле без заголовка.</TD></TR>
|
||||
|
||||
<TR><TD><TT>-fu</TT></TD>
|
||||
<TD>Указывает, что сэмплы в файле без заголовка беззнаковые (по умолчанию знаковые).</TD></TR>
|
||||
|
||||
<TR><TD><TT>-fr</TT></TD>
|
||||
<TD>Воспринимать входной (или выходной при декодировании) файл как raw поток сэмплов вне зависимости от суффикса.</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
|
||||
<A NAME="metaflac">
|
||||
<H3><B><TT>metaflac</TT></B></H3>
|
||||
|
||||
<P><B><TT>metaflac</TT></B> - это редактор метаданных, работающий из командной строки. Сейчас он только выводит содержимое блоков метаданных во .flac файле, но скоро с его помощью можно будет вставлять, удалять и редактировать блоки.</P>
|
||||
|
||||
<P>Cейчас <B><TT>metaflac</TT></B> вызывается только одним способом:</P>
|
||||
|
||||
<P><TT>metaflac [-v] входной_файл</TT></P>
|
||||
|
||||
<P>Входным_файлом может быть "-" для стандартного ввода (stdin). если использовать <TT>-v</TT>, будет получен более подробный отчет.</P>
|
||||
|
||||
|
||||
<A NAME="plugins"><A NAME="xmms_plugin">
|
||||
<H3>Плагин для XMMS</H3>
|
||||
|
||||
<P>Для его установки необходимо скопировать <TT>libxmms-flac.so</TT> в каталог, где находятся плагины ввода XMMS (обычно <TT>/usr/lib/xmms/Input</TT>). Больше ничего настраивать не надо. Для воспроизведения .flac файлов перезапустите XMMS.</P>
|
||||
|
||||
<A NAME="winamp_plugin2">
|
||||
<H3>Плагин для Winamp</H3>
|
||||
|
||||
<P>Есть два плагина для Winamp: один для версий 2.x, а второй для 3.x. Если вы используете Winamp 2.x, то для установки плагина необходимо скопировать <TT>in_flac.dll</TT> в каталог, где находятся плагины ввода Winamp (обычно <TT>/Plugins</TT>). Больше ничего настраивать не надо. Для воспроизведения .flac файлов перезапустите Winamp.</P>
|
||||
|
||||
<A NAME="winamp_plugin3">
|
||||
<H3>Плагин для Winamp</H3>
|
||||
|
||||
<P>Есть два плагина для Winamp: один для версий 2.x, а второй для 3.x. Если вы используете Winamp 3.x, то для установки плагина необходимо скопировать <TT>cnv_flacpcm.wac</TT> в каталог, где находятся плагины ввода Winamp (обычно <TT>/Wacs</TT>). Больше ничего настраивать не надо. Для воспроизведения .flac файлов перезапустите Winamp.</P>
|
||||
|
||||
<A NAME="libflac">
|
||||
<H3><B><TT>libFLAC</TT></B></H3>
|
||||
|
||||
<P>Библиотека <B><TT>libFLAC</TT></B> является реализацией на C базового кодера и декодера. Используя эту библиотеку и написав немного кода, можно добавить поддержку FLAC в свою программу. Условия ее распространения - <A HREF="http://www.gnu.org/copyleft/lesser.html">LGPL</A>. Исходные тексты библиотеки <B><TT>libFLAC</TT></B>, также как и консольного кодека и плагинов, доступны, и могут послужить хорошим примером для использования.</P>
|
||||
|
||||
<P><B><TT>libFLAC</TT></B> требует стандартную и математическую библиотеки для языка C. Программные потоки не используются, однако, так как <B><TT>libFLAC</TT></B> не использует глобальные переменные, библиотека должна быть thread-safe.</P>
|
||||
|
||||
<P>Интерфейс <B><TT>libFLAC</TT></B> описан в публичных заголовочных файлах в каталоге include/FLAC. Для использования скомпилированной библиотеки нужны только публичные заголовки. Обратите внимание на то, что код из src/libFLAC/, включая защищенные заголовочные файлы из src/libFLAC/include/ не нужен.</P>
|
||||
|
||||
<P>В основном использование <B><TT>libFLAC</TT></B> состоит в следующем:</P>
|
||||
|
||||
<OL>
|
||||
<LI>Программа создает экземпляр кодера или декодера с помощью функций <TT>*_new()</TT>.</LI>
|
||||
|
||||
<LI>Программа устанавливает параметры экземпляра и предоставляет ему обратные вызовы для чтения, записи, сообщения об ошибках и работы с метаданными с помощью функций <TT>*_set_*()</TT>.</LI>
|
||||
|
||||
<LI>Программа инициализирует экземпляр, проверяет параметры и готовится к кодированию/декодированию, используя функции <TT>*_init()</TT>.</LI>
|
||||
|
||||
<LI>Программа вызывает функции <TT>*_process_*()</TT> для кодирования или декодирования данных, которые в свою очередь делают обратные вызовы.</LI>
|
||||
|
||||
<LI>Программа завершает работу экземпляра функцией <TT>*_finish()</TT>, которая сбрасывает буферы ввода и вывода.</LI>
|
||||
|
||||
<LI>Экземпляр может быть использован снова либо удален функцией <TT>*_delete()</TT>.</LI>
|
||||
|
||||
</OL>
|
||||
|
||||
<P>Для декодирования <B><TT>libFLAC</TT></B> предоставляет три уровня доступа. На нижнем уровне находится декодер потоков, на следующем - декодер потоков с возможностью поиска, а на верхнем - декодер файлов. Интерфейсы описаны в файлах <TT>stream_decoder.h</TT>, <TT>seekable_stream_decoder.h</TT> и <TT>file_decoder.h</TT> соответственно. Использовать лучше всего декодер более верхнего уровня.</P>
|
||||
|
||||
<P>Потоковый декодер рассчитывает на обратные вызовы для получения входных и выходных данных. Декодер с возможностью поиска является оберткой потокового декодера, предоставляющий возможность поиска, однако для его выполнения вам необходимо добавить обратные вызовы. Файловый декодер сам осуществляет обратные вызовы для чтения и предоставляет функции поиска.</P>
|
||||
|
||||
<P>кодер пока что реализован только на потоковом уровне (<TT>stream_encoder.h</TT>).</P>
|
||||
|
||||
<P>Структуры и константы, относящиеся к формату, определены в файле <TT>format.h</TT>.</P>
|
||||
|
||||
|
||||
<P><B>ДЕКОДЕР ПОТОКОВ</B></P>
|
||||
|
||||
<P>Сначала обсудим декодер потоков. Тип его экземпляра <TT>FLAC__StreamDecoder</TT>. Обычно в программе экземпляр создается вызовом <TT>FLAC__stream_decoder_new()</TT>, затем вызывает функции <TT>FLAC__stream_decoder_set_*()</TT> для установки обратных вызовов и пользовательских данных и инициализируется функцией <TT>FLAC__stream_decoder_init()</TT>. Необходимые обратные вызовы:</P>
|
||||
|
||||
<UL>
|
||||
<LI>Обратный вызов для чтения. Эта функция вызывается, когда декодеру необходимы данные. В качестве параметров передается адрес буфера, который нужно заполнить, и его размер в байтах. Обратный вызов может вернуть меньше данных и изменить счетчик байтов, но не должен переполнять буфер. Код возврата при выходе выбирается из <TT>FLAC__StreamDecoderReadStatus</TT>.</LI>
|
||||
|
||||
<LI>Обратный вызов для записи. Эта функция вызывается после декодирования одного фрейма данных. Декодер передаст метаданные фрейма, а также массив указателей (по одному на каждый канал) на декодированные данные.</LI>
|
||||
|
||||
<LI>Обратный вызов для работы с метаданными. Функция вызывается после разбора блока метаданных. Для потока всегда должен существовать блок метаданных <TT>STREAMINFO</TT>, за которым может следовать произвольное количество других блоков. Они будут возвращены декодером в том же порядке, в каком они расположены в потоке и всегда перед первым аудио фреймом. Переданный блок метаданных не должен изменяться и не сохраняется после обратного вызова, поэтому, если он будет нужен в дальнейшем сделайте его копию с помощью функции <TT>FLAC__metadata_object_copy()</TT>.</LI>
|
||||
|
||||
<LI>Обратный вызов для сообщения об ошибке. Эта функция вызывается, если при декодировании происходит ошибка.</LI>
|
||||
</UL>
|
||||
|
||||
<P>Когда декодер инициализирован, программа может вызвать одну из следующих функций для декодирования:</P>
|
||||
|
||||
<UL>
|
||||
<LI><B><TT>FLAC__stream_decoder_process_whole_stream()</TT></B> - Декодер начинает работу и продолжает обрабатывать поток пока функция обратного вызова чтения не передаст код <TT>FLAC__STREAM_DECODER_READ_END_OF_STREAM</TT> или <TT>FLAC__STREAM_DECODER_READ_ABORT</TT>.</LI>
|
||||
|
||||
<LI><B><TT>FLAC__stream_decoder_process_metadata()</TT></B> - Декодер обрабатывает поток до первого аудио фрейма.</LI>
|
||||
|
||||
<LI><B><TT>FLAC__stream_decoder_process_one_frame()</TT></B> - Декодеровать только один фрейм. Перед вызовом этой функции все метаданные должны быть обработаны.</LI>
|
||||
|
||||
<LI><B><TT>FLAC__stream_decoder_process_remaining_frames()</TT></B> - Декодировать все оставшиеся фреймы. Перед вызовом этой функции все метаданные должны быть обработаны. Перед вызовом этой фунции также может вызываться <TT>FLAC__stream_decoder_process_one_frame()</TT>.</LI>
|
||||
</UL>
|
||||
|
||||
<P>Когда декодер заканчивает работу, экземпляр обрабатывается функцией <TT>FLAC__stream_decoder_finish()</TT>, которая проверяет состояние декодера и освобождает память. Затем экземпляр может быть удален функцией <TT>FLAC__stream_decoder_delete()</TT> или инициализирован заново для декодирования другого потока.</P>
|
||||
|
||||
<P>Обратите внимание на то, что потоковый декодер не имеет представления о позиции в потоке, он только преобразовывает данные. Чтобы осуществлять поиск в потоке функции обратного вызова могут только сбрасывать данные декодера функцией <TT>FLAC__stream_decoder_flush()</TT> и начинать подавать данные с новой позиции с помощью обратного вызова для чтения. Декодер файлов поступает именно так.</P>
|
||||
|
||||
<P><B>ДЕКОДЕР ПОТОКОВ С ВОЗМОЖНОСТЬЮ ПОИСКА</B></P>
|
||||
|
||||
<P>Декодер потоков с возможностью поиска является оберткой для стандартного декодера потоков. Тип его экземпляра - <TT>FLAC__SeekableStreamDecoder</TT>. К обраным вызовам декодера потоков для чтения, записи, работы с метаданными и обработки ошибок необходимо добавить еще следующие:</P>
|
||||
|
||||
<UL>
|
||||
<LI>Обратный вызов для поиска. Эта функция вызывается, когда декодеру нужно найти абсолютную позицию в потоке.</LI>
|
||||
<LI>Обратный вызов для определения текущей позиции. Эта функция вызывается, когда декодеру нужно узнать текущую позицию в потоке.</LI>
|
||||
<LI>Обратный вызов для определения размера потока. Функция вызывается, когда декодеру нужно узнать размер потока. Используемому алгоритму поиска требуется знать общий размер потока.</LI>
|
||||
<LI>Обратный вызов для определения конца потока. Функция вызывается, когда декодеру нужно знать, достиг ли он конца потока. Этого результата можно добиться, используя обратные вызовы для определения текущей позиции и общего размера, но такой способ может потребовать гораздо больше ресурсов.</LI>
|
||||
|
||||
<P>Поиск осущесвляется через метод <TT>FLAC__seekable_stream_decoder_seek_absolute()</TT>. В любой момент после инициализации пользовател может вызвать эту функцию для перехода к опрделенному сэмплу в потоке. Первый обратный вызов записи будет содержать (возможно, неполный) блок, начинающийся с заданного сэмпла.</P>
|
||||
|
||||
<P>Декодер потоков с возможностью поиска предоставляет проверку подписей MD5. Если ее включить перед инициализацией, функция <TT>FLAC__seekable_stream_decoder_finish()</TT> сообщит совпадает ли подпись MD5 декодированного потока с сохраненной блоке <TT>STREAMINFO</TT>. Проверка подписи MD5 автоматически отключается при попытке посика или если в блоке <TT>STREAMINFO</TT> не найдена подпись.</TT>
|
||||
|
||||
<P><B>ДЕКОДЕР ФАЙЛОВ</B></P>
|
||||
|
||||
<P>Декодер файлов - это оболочка декодера потоков с возможностью поиска, призванная упростить процесс декодирования файлов. Тип его экземпляра - <TT>FLAC__FileDecoder</TT>. Отличие от потокового декодера состоит в том, что вместо обратного вызова для чтения (который обрабатывает сам декодер) при инициализации указывается путь к файлу. Выполнение остальных функций декодер берет на себя.</P>
|
||||
|
||||
<P>Аналогично декодеру потоков с возможностью поиска он предоставляет поиск через метод <TT>FLAC__file_decoder_seek_absolute()</TT>. В любой момент после инициализации декодера файлов программа может вызвать эту функцию для поиска сэмпла в файле. Впоследствии, при первом обратном вызове для записи он будет содержать (возжожно неполный) блок, начинающийся с этого сэмпла.</P>
|
||||
|
||||
<P>От декодера потоков с возможностью поиска также наследуется проверка подписи MD5. Если эта возможность будет включена перед инициализацией, <TT>FLAC__file_decoder_finish()</TT> сообщит, если подпись MD5 распакованных данных не совпадет с сохраненной в блоке STREAMINFO. Проверка MD5 автоматически выключается, если в блоке STREAMINFO нет подписи или при попытке осуществления поиска.
|
||||
|
||||
|
||||
<P><B>кодер ПОТОКОВ</B></P>
|
||||
|
||||
<P>кодер потоков работает аналогично декодеру, однако имеет меньше обратных вызовов и больше опций. Тип экземпляра - <TT>FLAC__StreamEncoder</TT>. Для создания нового экземпляра в программе нужно вызвать функцию <TT>FLAC__stream_encoder_new()</TT>, а чтобы проинициализировать его - <TT>FLAC__stream_encoder_init()</TT>.</P>
|
||||
|
||||
<P>В отличие от процесса декодирования кодирование в формат FLAC имеет множество опций, влияющих на скорость и уровень сжатия. Когда программа вызывает <TT>FLAC__stream_encoder_init()</TT>, кодер проверяет значения, поэтому необходимо убедиться, что возвращемое этой функцией значение - <TT>FLAC__STREAM_ENCODER_OK</TT>. Для установки параметров нужно иметь некоторое представление о формате (см. <A HREF="#format">описание формата для пользователя</A> или его <A HREF="format.html">формальное описание</A>). Список необходимых параметров приведен здесь:</P>
|
||||
|
||||
<UL>
|
||||
<LI><B><TT>streamable_subset</TT></B> - <TT>истина</TT>, если необходимо, чтобы выход соответствовал потоковому <A HREF="format.html#subset">подмножеству формата</A>, иначе <TT>ложь</TT>.</LI>
|
||||
|
||||
<LI><B><TT>do_mid_side_stereo</TT></B> - <TT>истина</TT>, если нужно использовать усредненное кодирование для стерео потоков. Значение <TT>channels</TT> должно быть <TT>2</TT>.</LI>
|
||||
|
||||
<LI><B><TT>loose_mid_side_stereo</TT></B> - <TT>истина</TT>, чтобы применить адаптивное переключение режима усредненного кодирования, иначе ложь. <TT>do_mid_side_stereo</TT> должно быть истина.</LI>
|
||||
|
||||
<LI><B><TT>channels</TT></B> (количество каналов) - должно быть <= <TT>FLAC__MAX_CHANNELS</TT>.</LI>
|
||||
|
||||
<LI><B><TT>bits_per_sample</TT></B> - количество битов на сэмпл.</LI>
|
||||
|
||||
<LI><B><TT>sample_rate</TT></B> (частота дискретизации) - должно быть <= <TT>FLAC__MAX_SAMPLE_RATE</TT>.</LI>
|
||||
|
||||
<LI><B><TT>blocksize</TT></B> (размер блока) - должен быть между <TT>FLAC__MIN_BLOCKSIZE</TT> и <TT>FLAC__MAX_BLOCKSIZE</TT>.</LI>
|
||||
|
||||
<LI><B><TT>max_lpc_order</TT></B> (максимальный порядок коэффициентов линейного прогнозирования) - <TT>0</TT> указывает, что кодер не должен использовать LPC, а только постоянные предикторы. Должно быть <= <TT>FLAC__MAX_LPC_ORDER</TT>.</LI>
|
||||
|
||||
<LI><B><TT>qlp_coeff_precision</TT></B> - должно быть >= <TT>FLAC__MIN_QLP_COEFF_PRECISION</TT>, или <TT>0</TT>, чтобы кодер мог выбирать коэффициенты в зависимости от размера блока. В текущей реализации сумма <TT>qlp_coeff_precision</TT>+<TT>bits_per_sample</TT> должна быть < <TT>32</TT>.</LI>
|
||||
|
||||
<LI><B><TT>do_qlp_coeff_prec_search</TT></B> - <TT>ложь</TT>, чтобы использовать заданное значение <TT>qlp_coeff_precision</TT>; <TT>истина</TT> для поиска и выбора лучшего значения <TT>qlp_coeff_precision</TT>.</LI>
|
||||
|
||||
<LI><B><TT>do_escape_coding</TT></B> - истина, если нужно искать управляющий код на стадии кодирования энтропии для небольшого увеличения уровня сжатия.</LI>
|
||||
|
||||
<LI><B><TT>do_exhaustive_model_search</TT></B> (производить полный поиск наилучшей модели) - <TT>ложь</TT>, to use estimated bits per residual for scoring; <TT>истина</TT> для перебора всех возможных вариантов и выбора наилучшего.</LI>
|
||||
|
||||
<LI><B><TT>min_residual_partition_order</TT></B> (минимальный порядок раздела остатков), <B><TT>max_residual_partition_order</TT></B> (максимальный порядок раздела остатков)= <TT>0</TT>, чтобы оценивать параметр Райса основываясь на дисперсии остатков; > <TT>0</TT> для разделения остатков и определения параметра для каждого раздела, основываясь на среднем. <TT>min_residual_partition_order</TT> и <TT>max_residual_partition_order</TT> определяют минимальный и максимальный порядок раздела Райса.</LI>
|
||||
|
||||
<LI><B><TT>rice_parameter_search_dist</TT></B> (интервал для поиска параметра Райса) - <TT>0</TT>, чтобы использовать только вычисленный параметр <TT>k</TT>; иначе пытаться кодировать со всеми параметрами из интервала [<TT>k</TT>-<TT>rice_parameter_search_dist</TT>..<TT>k</TT>+<TT>rice_parameter_search_dist</TT>] и выбирать лучший вариант.</LI>
|
||||
|
||||
<LI><B><TT>total_samples_estimate</TT></B> (количество сэмплов) - Может равняться <TT>0</TT>, если неизвестно. Иначе указывается количество сэмплов, которое нужно закодировать. Это позволяет создавать более точный блок <TT>STREAMINFO</TT> при первом же проходе в случае, когда кодер не может вернуться к началу вывода, чтобы обновить блок <TT>STREAMINFO</TT>.</LI>
|
||||
|
||||
<LI><B><TT>seek_table</TT></B> (таблица для поиска) - создать необязательную таблицу для поиска в файле. <TT>NULL</TT> указывает, что таблица не нужна.</LI>
|
||||
|
||||
<LI><B><TT>padding</TT></B> (резервирование места) - размер блока <TT>PADDING</TT> (следует за таблицей для поиска); <TT>-1</TT> означает, что блок <TT>PADDING</TT> добавлять не нужно. Помните, что указывается размер для данных; общий размер блока PADDING будет на 4 байта больше из-за заголовка.</LI>
|
||||
</UL>
|
||||
|
||||
<P>Программа должна предоставить <TT>FLAC__stream_encoder_init()</TT> адреса для следующих обратных вызовов:</TT>
|
||||
|
||||
<UL>
|
||||
<LI>Обратный вызов для записи. Вызывается, когда появляются закодированные данные для записи. Это могут быть метаданные смешанные с аудио фреймами, причем не гарантируется, что данные будут выровнены на границу блока метаданных или фрейма.</LI>
|
||||
|
||||
<LI>Обратный вызов для работы с метаданными. Вызывается однажды по завершении кодирования с populated структурой <TT>STREAMINFO</TT>. Это нужно для того, чтобы кодеры файлов могли вернуться к началу файла и записать в блок <TT>STREAMINFO</TT> корректные данные о кодировании, например минимальный и максимальный размер фрейма.</LI>
|
||||
</UL>
|
||||
|
||||
<P>Вызов <TT>FLAC__stream_encoder_init()</TT> непосредственно производит обратный вызов для записи сигнатуры "fLaC" и всех определенных на данный момент метаданных.</P>
|
||||
|
||||
<P>После инициализации экземпляра программа может передавать данные кодеру двумя способами:</P>
|
||||
|
||||
<UL>
|
||||
<LI>Разделенными по каналам через <B><TT>FLAC__stream_encoder_process()</TT></B>. В этом случае нужно определить массив указателей на буфферы одинакового размера, по одному на каждый канал. Выравнивать сэмплы на границу блока не нужно.</LI>
|
||||
|
||||
<LI>В чередующихся каналах через <B><TT>FLAC__stream_encoder_process_interleaved()</TT></B>. Программа должна передать один указатель на аудио данные с чередующимися каналами (например, <TT>канал0_сэмпл0, канал1_сэмпл0, ... , каналN_сэмпл0, канал0_сэмпл1, ...</TT>). Данные могут быть не выровнены на границу блока, но должны быть выровнены на границу сэмпла, т.е. первым значением должно быть <TT>канал0_сэмплX</TT>, а последним - <TT>каналN_сэмплY</TT>.</LI>
|
||||
</UL>
|
||||
|
||||
<P>Для завершения кодирования данных программа вызывает функцию <TT>FLAC__stream_encoder_finish()</TT>, которая кодирует оставшиеся данные из входного потока и делает обратный вызов для работы с метаданными с корректной статистикой о процессе кодирования. Экземпляр может быть удален функцией <TT>FLAC__stream_encoder_delete()</TT> или инициализирован снова для кодирования нового потока.</P>
|
||||
|
||||
|
||||
<P><B>РАЗНОЕ</B></P>
|
||||
|
||||
<P>Необходимо отметить, что когда передаются указатели на аудио данные, их порядок имеет значение только для стерео потоков. Канал <TT>0</TT> соответствует левому каналу, а <TT>1</TT> - правому.</P>
|
||||
|
||||
|
||||
<P><B>МЕТАДАННЫЕ</B></P>
|
||||
|
||||
<P>Программы, записывающие свои блоки метаданных <TT>APPLICATION</TT>, могут указать кодеру, чтобы он записал блок метаданных <TT>PADDING</TT> нужного размера. В этом случае вместо перезаписи всего потока после кодирования программа сможет просто заменить блок <TT>PADDING</TT> на свой. Если известен только максимальный размер блока <TT>APPLICATION</TT>, программа может создать резервный блок чуть большего размера, а после кодирования разделить его на блоки <TT>APPLICATION</TT> и <TT>PADDING</TT>.</P>
|
||||
|
||||
<P>Если размер блока метаданных <TT>APPLICATION</TT> известен заранее, размер резервируемой области может быть легко вычеслен. Если размер блока <TT>APPLICATION</TT> (не включая заголовок блока) равен <TT>N</TT> байтам, то экземпляру FLAC__StreamEncoder перед инициализацией нужно передать значение <TT>N+4</TT>. Это нужно, чтобы учесть дополнительное место необходимое для хранения идентификатора приложения.</P>
|
||||
|
||||
<P>Когда известен только максимальный размер, скажем, <TT>N</TT> байт, нужно зарезервировать <TT>N+8</TT> байт. Четыре для ID приложения и четыре для дополнительного блока <TT>PADDING</TT>, который заполнит оставшееся пространство. По окончании кодирования, когда размер блока данных <TT>APPLICATION</TT> становится известной и равной, допустим, <TT>M</TT> байтам, на место первоначального блока <TT>PADDING</TT> будет записан блок <TT>APPLICATION</TT> и блок <TT>PADDING</TT> длиной <TT>N-M</TT> байтов.</P>
|
||||
|
||||
|
||||
<A NAME="bugs">
|
||||
<H3>Известные ошибки</H3>
|
||||
|
||||
<P>Отслеживание ошибок ведется на <A HREF="http://sourceforge.net/bugs/?group_id=13478">этой</A> странице проекта, находящейся на SourceForge. Если Вы будете сообщать об ошибке, пожалуйста, оставьте e-mail для контакта.</P>
|
||||
|
||||
<A NAME="monkey">
|
||||
<H3>monkey</H3>
|
||||
|
||||
<P>Monkey's Audio поставляется с удобным пользовательским интерфейсом. Он поддерживает несколько внешних кодеров, в число которых не входит FLAC. Однако дистрибутив FLAC для Windows поставляется с утилитой, позволяющей заменить один из поддерживаемых внешних кодеков на FLAC. Это можно сделать так:</P>
|
||||
|
||||
<UL>
|
||||
<LI>Скопируйте <B><TT>flac.exe</TT></B> и <B><TT>flac_ren.exe</TT></B> в каталог <B><TT>External/</TT></B> установки Monkey's Audio.</LI>
|
||||
|
||||
<LI>Выберите, какой поддерживаемый кодер заменить:
|
||||
<UL>
|
||||
<LI>Shorten - скопируйте <B><TT>flac_mac.exe</TT></B> поверх <B><TT>External/shortn32.exe</TT></B></LI>
|
||||
<LI>WavPack - скопируйте <B><TT>flac_mac.exe</TT></B> поверх <B><TT>External/wavpack.exe</TT></B> и <B><TT>External/wvunpack.exe</TT></B></LI>
|
||||
<LI>RKAU - скопируйте <B><TT>flac_mac.exe</TT></B> поверх <B><TT>External/rkau.exe</TT></B></LI>
|
||||
</UL>
|
||||
Если выбрать WavPack, то для изменения опций FLAC будет доступно меню настройки WavPack Configuration.</LI>
|
||||
<LI>Теперь можно кодировать в формат FLAC. Переименованный файл <B><TT>flac_mac.exe</TT></B> вызывает <B><TT>flac.exe</TT></B>, а затем <B><TT>flac_ren.exe</TT></B> для присвоения получаемому файлу расширения .flac.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>Если вам нравится использовать оболочку Monkey's Audio GUI для получения файлов FLAC, попросите <A HREF="mailto:email@monkeysaudio.com">Мэта</A> (автора) добавить официальную поддержку FLAC! Другие оболочки можно использовать аналогичным образом. Если вы заитересованы в использовании какой-либо, пишите в список рассылки flac-dev.</P>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
101
doc/html/ru/download.html
Normal file
101
doc/html/ru/download.html
Normal file
@ -0,0 +1,101 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: ôàéëû</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">íà÷àëî</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="news.html">íîâîñòè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
ôàéëû </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">õàðàêòåðèñòèêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">öåëè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">ôîðìàò</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">ñðàâíåíèå</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">ðàçðàáîòêà</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">äîêóìåíòàöèÿ</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ññûëêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">àâòîðû</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../download.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
ðóññêèé</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: ôàéëû</H2></CENTER>
|
||||
|
||||
<P>Âñå ðåëèçû äåëàþòñÿ ÷åðåç SourceForge è ëåæàò íà <A HREF="http://sourceforge.net/project/showfiles.php?group_id=13478">ýòîé ñòðàíèöå</A>. Äëÿ êàæäîé âåðñèè âûëîæåíû èñõîäíûå òåêñòû, à òàêæå ñêîìïèëèðîâàííûå âåðñèè äëÿ Linux, Windows è Darwin (âêëþ÷àÿ OS X).</P>
|
||||
|
||||
<P>Ïàêåòû äëÿ äèñòðèáóòèâà Debian ìîæíî âçÿòü <A HREF="http://packages.debian.org/cgi-bin/search_packages.pl?keywords=flac+libflac+1.0.2&searchon=all&subword=1&version=all&release=all">çäåñü</A>.
|
||||
|
||||
<P>Âû òàêæå ìîæåòå ñêà÷àòü îáíîâëÿåìûé åæåäíåâíî <A HREF="http://cvs.sourceforge.net/cvstarballs/flac-cvsroot.tar.gz">àðõèâ CVS</A>.</P>
|
||||
|
||||
<H3>Ïîëåçíûå óòèëèòû</H3>
|
||||
|
||||
<H4>Ãðàôè÷åñêèå îáîëî÷êè</H4>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI><B>Windows</B>
|
||||
<UL>
|
||||
<LI>Ãðàôè÷åñêàÿ îáîëî÷êà äëÿ Windows <A HREF="http://home.wanadoo.nl/~w.speek/flac.htm">FLAC frontend</A>.</LI>
|
||||
<LI>Îáîëî÷êó <A HREF="http://www.monkeysaudio.com/">Monkey's Audio</A> ìîæíî èñïîëüçîâàòü äëÿ ðàáîòû ñ FLAC; ñì. <A HREF="documentation.html#monkey">îïèñàíèå</A>.</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
|
||||
<LI><B>Unix</B></LI>
|
||||
<UL>
|
||||
<LI><A HREF="http://www.nostatic.org/grip/">Grip</A> - îòëè÷íàÿ îáîëî÷êà äëÿ êîïèðîâàíèÿ CD-Audio è êîäèðîâàíèÿ, êîòîðóþ ìîæíî ëåãêî íàñòðîèòü äëÿ èñïîëüçîâàíèÿ FLAC.</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
134
doc/html/ru/features.html
Normal file
134
doc/html/ru/features.html
Normal file
@ -0,0 +1,134 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: характеристики</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">начало</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="news.html">новости</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">файлы</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
характеристики </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">цели</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">формат</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">сравнение</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">разработка</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">документация</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ссылки</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">авторы</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../features.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
русский</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: характеристики</H2></CENTER>
|
||||
|
||||
<P>FLAC - это аббревиатура от free lossless audio codec (свободный кодек, обеспечивающий сжатие без потерь). Проект FLAC включает:</P>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI>потоковый формат,</LI>
|
||||
|
||||
<LI>библиотеку <B>libFLAC</B>, реализующую базовый кодер и декодер,</LI>
|
||||
|
||||
<LI><B>flac</B>, утилиту командной строки, выполняющую сжатие и распаковку .flac файлов,</LI>
|
||||
|
||||
<LI>плагины для разных плейеров (Winamp, XMMS, ведется работа над другими).</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
<P>"Свобода" означает, что спецификация потокового формата относится к категории public domain (проект FLAC оставляет за собой право устанавливать спецификации и сертифицировать относящиеся к нему продукты на совместимость), а также то, что ни формат, ни один из реализованных методов кодирования/декодирования не запатентованы. Это также значит, что исходные тексты <B><TT>libFLAC</TT></B> доступны по лицензии LGPL, а утилиты <B><TT>flac</TT></B> и плагинов - по GPL.</P>
|
||||
|
||||
|
||||
<P>FLAC компилируется на множестве платформ: Unixes (Linux, *BSD, Solaris, OS X), Windows, BeOS и OS/2. Имеются системы сборки для autoconf/automake, MSVC, Watcom C и Project Builder.</P>
|
||||
|
||||
<P>Характеристики FLAC:</P>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI>Формат FLAC и методы кодирования/декодирования не защищены патентами.</LI>
|
||||
|
||||
<LI>FLAC сжимает файлы без потерь. Кодирование PCM данных не приводит к потере информации, следовательно, декодируемый аудиофайл абсолютно идентичен тому, который был подан на вход кодеру. Чтобы определить возможные ошибки при передаче файла, для каждого фрейма вычисляется 16-битная контрольная сумма. Целостность на дальнейшем этапе подтверждается подписью <A HREF="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5</A> распакованных данных, которая находится в заголовке и может быть проверена при воспроизведении, декодировании или с помощью тестирования.</LI>
|
||||
|
||||
<LI>FLAC разработан для сжатия аудиоданных. Теоретически, <B><TT>flac</TT></B> может компрессировать без потерь любые другие данные (если передавать их как 8-битный моно raw-файл), однако выходные файлы получаются почти такого же размера.</LI>
|
||||
|
||||
<LI>Возможности сжатия во FLAC расширяемы. Это означает, что в будущих версиях формата могут быть добавлены новые методы без потери обратной совместимости.</LI>
|
||||
|
||||
<LI>Реализованные на данный момент методы компрессии создают потоки меньшего размера, чем <A HREF="http://www.softsound.com/Shorten.html">Shorten</A> (кодек с открытыми исходными текстами, являющийся текущим стандартом сжатия без потерь "у них"). Время кодирования зависит от метода, но обычно сравнимо с <A HREF="http://www.softsound.com/Shorten.html">Shorten</A> и <A HREF="http://www.mp3dev.org/mp3/">LAME</A>. Самые активные методы могут работать очень медленно. Подробнее об этом можно посмотреть на странице <A HREF="comparison.html">сравнение</A>.</LI>
|
||||
|
||||
<LI>FLAC рассчитан на быстрое декодирование. Декодирование в реальном времени легко достижимо даже на старых компьютерах, так как для него требуется только целочисленная арифметика.</LI>
|
||||
|
||||
<LI>FLAC удобно использовать для архивации, так как сжатие с его помощью не приводит к потере информации. Вы не привязаны к формату. Если в будущем Вы решите использовать другой формат, данные будут восстановлены из .flac файла в первоначальном виде. Кроме контрольной суммы фрейма и подписи <A HREF="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5</A>, утилита <B><TT>flac</TT></B> имеет возможность проверки, использование которой приводит к тому, что кодируемый поток сразу же декодируется и сравнивается с исходным. Если происходит ошибка, кодер прекращает работу.</LI>
|
||||
|
||||
<LI>FLAC - потоковый формат. Это значит, что каждый фрейм содержит достаточно информации для собственного декодирования. Текущий фрейм FLAC не зависит от предыдущих и последующих. FLAC использует коды синхронизации и контрольные суммы, что позволяет декодеру быстро выбирать позицию в текущем потоке.</LI>
|
||||
|
||||
<LI>FLAC поддерживает быстрый и точный поиск, что полезно не только при воспроизведении, но и дает возможность использовать FLAC в звуковых редакторах.</LI>
|
||||
|
||||
<LI>FLAC имеет расширяемую систему метаданных. Новые блоки метаданных могут быть определены и реализованы в будущих версиях без потери обратной совместимости. Приложение может использовать блок метаданных <A HREF="format.html#def_APPLICATION"><TT>APPLICATION</TT></A> после регистрации для него id. Добавленные тэги ID3 и ID3v2 к .flac файлам не влияют на поцесс декодирования.</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
<P>Некоторые дополнительные преимущества, вытекающие из приведенных выше характеристик:</P>
|
||||
|
||||
<BLOCKQUOTE><P><UL>
|
||||
<LI>Потоки FLAC могут быть воспроизведены слитно, без пауз между треками. Таким образом, Вы можете сжать концертный альбом, разделенный на треки, и добиться его непрерывного воспроизведения.</LI>
|
||||
|
||||
<LI>Механизм точного поиска позволяет организовывать различные режимы воспроизведения: в плейере можно сделать индексный поиск, различные циклы или другие виды структурированного воспроизведения. Это очень полезно, например, для dj'ев или для репетиций, когда нужно повторять определенные пассажи.</LI>
|
||||
|
||||
<LI>В итоге вы получаете гибкость wav-файла в сжатом потоковом формате.</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
<P>Чего <B>нет</B> во FLAC?</P>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI>FLAC не осуществляет сжатие с потерями. Для этого существует много хороших форматов, таких как <A HREF="http://www.mp3-tech.org/">mp3</A> (отличная реализация с открытими исходными текстами <A HREF="http://www.mp3dev.org/mp3/">LAME</A>) и <A HREF="http://www.vorbis.com">Ogg Vorbis</A>.</LI>
|
||||
|
||||
<LI>FLAC не будет SDMI совместимым и т.п. Перед проектом не стоит цели поддерживать методы защиты, которые на практике лишь увеличивают объем файла. Конечно, мы не собираемся препятствовать кому-либо создавать соответствующие блоки метаданных, однако, стандартные декодеры все равно будут их пропускать.</LI>
|
||||
</UL></BLOCKQUOTE></B>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
918
doc/html/ru/format.html
Normal file
918
doc/html/ru/format.html
Normal file
@ -0,0 +1,918 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: формат</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">начало</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="news.html">новости</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">файлы</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">характеристики</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">цели</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
формат </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">сравнение</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">разработка</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">документация</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ссылки</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">авторы</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../format.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
русский</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: формат</H2></CENTER>
|
||||
|
||||
|
||||
<H3>Формат</H3>
|
||||
|
||||
<P>Здесь приведено полное описание формата FLAC.</P>
|
||||
|
||||
|
||||
<H4>От автора</H4>
|
||||
|
||||
<P>Во-первых, как основной разработчик, я должен отметить, что не являюсь экспертом в области сжатия, поэтому чувствую себя обязанным поблагодарить многих людей, работавших над улучшением алгоритмов компрессии аудиоданных. Отдельную благодарность я выражаю:</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI><A HREF="http://svr-www.eng.cam.ac.uk/~ajr/">Э. Робинсону</A> за работу над Shorten. Его код и статья послужили отправной точкой для нескольких основных методов, заложенных во FLAC. FLAC развил идею постоянных предикторов, используемую в Shorten.</LI>
|
||||
|
||||
<LI><A HREF="http://commsci.usc.edu/faculty/golomb.html">С. Голомбу</A> и Роберту Райсу. Их универсальные коды используются кодером энтропии.</LI>
|
||||
|
||||
<LI>Н. Левинсону и Дж. Дарбину. Базовый енкодер использует разработанный и улучшенный ими алгоритм для определения LPC коэффициентов из коэффициентов автокорреляции.</LI>
|
||||
|
||||
<LI>И, конечно же, <A HREF="http://www.digitalcentury.com/encyclo/update/shannon.html">К. Шеннону.</A></LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>--Джош Колсон</P>
|
||||
|
||||
|
||||
<a name="scope">
|
||||
<H4><u>Область применения</u></H4>
|
||||
|
||||
<P>Общеизвестно, что нет алгоритма, способного сжать без потерь входные данные любого типа. Большинство архиваторов позиционируются для работы с данными определенного вида и оптимизируются для этой области. FLAC предназначен для сжатия аудиоданных. Несмотря на то, что он может сжать без потерь данные любого типа, только определенный ввод архивируется хорошо. FLAC использует тот факт, что обычно аудиоданные имеют высокий порядок корреляции между сэмплами.</P>
|
||||
|
||||
<P>В области аудио существует множество возможных подразделов. Например, речь с низким битрейтом, многоканальная музыка с высокой частотой дискретизации и т.д. FLAC не нацелен на какой-либо подраздел, однако большинство параметров по умолчанию базового енкодера рассчитаны на CD-аудио (т.е. 44.1кГц, 2 канала, 16 бит на сэмпл). Влияние параметров кодирования на разные типы аудио будет рассмотрено позже.</P>
|
||||
|
||||
<a name="architecture">
|
||||
<H4><u>Архитектура</u></H4>
|
||||
|
||||
<P>Подобно большинству программ такого рода, енкодер FLAC выполняет следующие действия:</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI><A HREF="format.html#blocking">Разбиение на блоки</A>. Ввод разбивается на множество последовательных блоков, которые могут иметь различный размер. Оптимальный размер блока обычно зависит от многих факторов, таких как частота дискетизации, спектральная характеристика во времени и т.д. Несмотря на то, что формат FLAC позволяет использовать в потоке блоки различного размера, базовый енкодер использует постоянный размер.</LI>
|
||||
|
||||
<LI><A HREF="format.html#interchannel">Межканальная декорреляция</A>. В случае стереопотоков енкодер создает средний и разностный сигналы, основанные на среднем значении между левым и правым каналами и их разности соответственно. На следующий этап кодирования передается лучший из вариантов сжатого сигнала.</LI>
|
||||
|
||||
<LI><A HREF="format.html#prediction">Прогнозирование</A>. Далее енкодер пытается найти математическое описание сигнала (обычно приблизительное). Зачастую оно значительно меньше самого сигнала. Так как методы предсказания известны и кодеру, и декодеру в потоке нужно указать только параметры предиктора. Сейчас FLAC использует четыре различных класса предикторов (описанных в разделе <A HREF="format.html#prediction">Прогнозирование</A>), но в формате предусмотрено место для дополнительных методов. FLAC допускает изменение класса предиктора от блока к блоку и даже в пределах канала в блоке.</LI>
|
||||
|
||||
<LI><A HREF="format.html#residualcoding">Кодирование остатков</A>. Если предиктор не описывает сигнал точно, разница между оригинальным сигналом и спрогнозированным (называемым еще ошибочным или остаточным) должна быть закодирована без потерь. Если предсказание эффективно, остаточный сигнал будет занимать меньше бит на сэмпл, чем оригинальный сигнал. Сейчас FLAC использует только один метод для кодирования остатков (см. раздел <A HREF="format.html#residualcoding">Кодирование остатков</A>), однако в формате предусмотрено место для дополнительных методов. FLAC допускает изменение метода кодирования остатков от блока к блоку и даже в пределах канала в блоке.</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>В дополнение ко всему определена система метаданных, позволяющая добавлять в начало потока произвольную информацию.</P>
|
||||
|
||||
|
||||
<a name="definitions">
|
||||
<H4><u>Определения</u></H4>
|
||||
|
||||
<P>Многие термины, такие как "блок" и "фрейм", имеют различное значение в схемах кодирования. Например, фрейм в mp3 сооветствует многим сэмплам во всех каналах, в то время как фрейм S/PDIF представляет только один сэмпл для каждого канала. Обратите внимание на то, что, говоря о "блоках" и "подблоках", мы ссылаемся на незакодированные аудиоданные, а термины "фрейм" и "подфрейм" используем для данных сжатых FLAC.</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI><B>Блок</B> - это один или более сэмплов, находящихся в нескольких каналах.</LI>
|
||||
|
||||
<LI><B>Подблок</B> - это один или более сэмплов из одного канала. Таким образом, блок содержит подблок для каждого канала и все подблоки в нем содержат одинаковое количество сэмплов.</LI>
|
||||
|
||||
<LI><B>Размер блока</B> - это количество сэмплов в любом из своих подблоков. Например, блок длиной в одну секунду с частотой дескретизации 44.1кГц имеет размер блока 44100 вне зависимости от количества каналов.</LI>
|
||||
|
||||
<LI><B>Фрейм</B> - это заголовок и один или несколько подфреймов.</LI>
|
||||
|
||||
<LI><B>Подфрейм</B> - это заголовок и один или несколько закодированных сэмплов из данного канала. Все подфреймы в данном фрейме содержат одинаковое количество сэмплов.</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
|
||||
<a name="blocking">
|
||||
<H4><u>Разбиение на блоки</u></H4>
|
||||
|
||||
<P>Размер блоков сильно влияет на уровень сжатия. Если размер блока будет слишком мал, то в итоге получится очень много фреймов, а это значит, что на заголовки будет потрачено много битов. Если же размер блока большой, а характеристики сигнала сильно варьируются, енкодер не сможет найти хороший предиктор. Чтобы упростить кодек, FLAC определяет минимальный размер блока в 16 сэмплов, а максимальный в 65535 сэмплов. Этот интервал покрывает оптимальные размеры блоков для всех аудиоданных, поддерживаемых FLAC.</P>
|
||||
|
||||
<P>Сейчас базовый енкодер использует постоянный размер блока, оптимизированный по частоте дискретизации ввода. Последующие версии смогут изменять размер блока в зависимости от характеристик сигнала.</P>
|
||||
|
||||
<P>Разбитые на блоки данные передаются на стадию прогнозирования по одному подблоку. Каждый подблок кодируется в подфрейм независимо, а позже они объендиняются во фрейм. Так как каждый канал кодируется отдельно, это означает, что один канал стерео фрейма может сжиматься как постоянный подфрейм, а второй как LPC подфрейм.</P>
|
||||
|
||||
|
||||
<a name="interchannel">
|
||||
<H4><u>Межканальная декорреляция</u></H4>
|
||||
|
||||
<P>В большинстве случаев в стерео потоках существует достаточный уровень корреляции между левым и правым каналами. FLAC позволяет фреймам в стерео потоках иметь различное распределение каналов, а енкодер может использовать лучшее представление.</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI><B>Независимое</B>. Левый и правый каналы кодируются независимо.</LI>
|
||||
|
||||
<LI><B>Разностное</B>. Левый и правый канал преобразовываются в средний и остаточный каналы. Средний канал - это среднее значение левого и правого сигналов, а остаточный - разница между ними (левый минус правый).</LI>
|
||||
|
||||
<LI><B>Левостороннее</B>. Кодируется левый и остаточный каналы.</LI>
|
||||
|
||||
<LI><B>Правоостороннее</B>. Кодируется правый и остаточный каналы.</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>Оказывается, что левостороннее и правостороннее кодирование могут быть более эффективными во многих фреймах, несмотря на то, что необходимое для оригинального сигнала количество битов на сэмпл немного больше, чем для независимого или усредненного кодирования.</P>
|
||||
|
||||
|
||||
<a name="prediction">
|
||||
<H4><u>Прогнозирование</u></H4>
|
||||
|
||||
<P>FLAC использует четыре метода для моделирования входного сигнала:</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI><B>Дословный</B>. По существу это прогнозирование сигнала нулевого уровня. Предиктором сигнала является сам сигнал, потому сжатие не происходит. Это образец, с которым сверяются все остальные предикторы. Если передать енкодеру случайные данные, для всех подблоков скоре всего будет использован дословный предиктор. Так как необработанный сигнал не проходит стадию кодирования остатков, результаты не будут совпадать с линейным предиктором нулевого порядка.</LI>
|
||||
|
||||
<LI><B>Постоянный</B>. Этот предиктор используется, когда подблок содержит цифровую тишину, т.е. на вход поступает одна константа. Сигнал кодируется по всей длине и добавляется к потоку.</LI>
|
||||
|
||||
<LI><B>Постоянный линейный предиктор</B>. FLAC использует класс эффективно вычисляемых постоянных линейных предикторов (хорошее описание приведено у <A HREF="http://svr-www.eng.cam.ac.uk/~ajr/GroupPubs/Robinson94-tr156/index.html">Shorten</A> и <A HREF="http://www.hpl.hp.com/techreports/1999/HPL-1999-144.pdf">AudioPak</A>). FLAC добавляет предиктор четвертого уровня к использованным в Shorten предикторам от нулевого до третьего уровня. Так как предикторы постоянны, в сжатом потоке необходимо сохранить только порядок предиктора. Остаточный сигнал передается кодеру остатков.</LI>
|
||||
|
||||
<LI><B>Линейное прогнозирование FIR</B>. Для более точного моделирования (за счет медленной работы) FLAC поддерживает линейное прогнозирование FIR до 32 порядка (см. <A HREF="http://svr-www.eng.cam.ac.uk/~ajr/GroupPubs/Robinson94-tr156/index.html">Shorten</A> и <A HREF="http://www.hpl.hp.com/techreports/1999/HPL-1999-144.pdf">AudioPak</A>). Базовый енкодер использует метод Левинсона-Дарбина для расчета LPC коэффициентов из коэффициентов автокорреляции и коэффициенты разбиваются перед вычислением остатков. В то время как такие енкодеры как Shorten используют постоянное разбиение для всего ввода, FLAC позволяет для каждого фрейма менять точность коэффициента разбиения. Базовый енкодер FLAC оценивает оптимальную точность, основываясь на размере блока и диапазоне оригинального сигнала.</LI>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<a name="residualcoding">
|
||||
<H4><u>Кодирование остатков</u></H4>
|
||||
|
||||
<P>Для кодирования остаточного сигнала от стадии прогнозирования FLAC использует два похожих метода. Остаточный сигнал сжимается с использованием кодов Райса следующими способами:</P>
|
||||
|
||||
<BLOCKQUOTE><ol>
|
||||
<LI>Енкодер оценивает одиночный параметр Райса, основанный на разнице остатка и кодов Райса. Весь остаток кодируется с использованием этого параметра.</LI>
|
||||
|
||||
<LI>Остаток делится на несколько интервалов одинаковой длины и каждый из них кодируется со своим параметром Райса, основанным на среднем значении для данного интервала.</LI>
|
||||
</ol></BLOCKQUOTE>
|
||||
|
||||
<P>Обратите внимание на то, что первый метод является частным случаем второго с одним интервалом. Отличие состоит в том, что в первом методе параметр Райса вычисляется для разницы остатка, а не для среднего значения.</P>
|
||||
|
||||
<P>В формате FLAC зарезервировано место для других методов кодирования. Кто-нибудь может попытаться найти лучшее контекстное моделирование параметра Райса или кодирования Хаффмана. Описания нескольких универсальных кодов можно найти на страницах <A HREF="http://www.hpl.hp.com/techreports/98/HPL-98-193.html">LOCO-I</A> и <A HREF="http://www.cs.tut.fi/~albert/Dev/pucrunch/packing.html">pucrunch</A>.</P>
|
||||
|
||||
|
||||
<a name="prediction">
|
||||
<H4><u>Формат</u></H4>
|
||||
|
||||
<P>В этом разделе описывается формат файла. Формат FLAC не предусматривает поля для номера версии, однако содержит несколько зарезервированных позиций. Последующие версии смогут использовать это место без нарушения совместимости с предыдущими версиями. Более старые версии декодеров могут либо прекращать работу, либо пропускать данные, закодированные новыми методами. Кроме того зарезервированы некоторые специальные значения, которые не могут появиться ни в одной из версий формата. Это обычно делается для улучшения механизма синхронизации.</P>
|
||||
|
||||
<P>Все числа в формате FLAC являются целыми, младший байт которых записывается вначале (big-endian). Числа являются беззнаковыми, кроме тех случаев, где явно указано обратное.</P>
|
||||
|
||||
<a name="overview">
|
||||
<P>К потоку FLAC могут быть добавлены тэги ID3v1 (в конце) и ID3v2 (в начале). Эти данные не относятся к формату, однако декодер умеет пропускать их.</P>
|
||||
|
||||
<P>Перед полным описанием формата приведем его краткий обзор.</P>
|
||||
|
||||
<P><BLOCKQUOTE>
|
||||
<LI>Формат FLAC состоит из маркера "fLaC" в начале потока, за которым следует обязательный блок STREAMINFO, любое количество других блоков метаданных, а затем аудиофреймы.</LI>
|
||||
|
||||
<LI>FLAC поддерживает до 128 блоков метаданных. Сейчас определены:</LI>
|
||||
|
||||
<UL>
|
||||
<A NAME="def_STREAMINFO">
|
||||
<LI><TT>STREAMINFO</TT>: Этот блок содержит информацию обо всем потоке (частоту дискретизации, количество каналов, количество сэмплов и т.д.). Он всегда должен быть первым блоком метаданных в потоке. Следующие блоки должны следовать за ним, и могут быть пропущены декодером.</LI>
|
||||
|
||||
<A NAME="def_APPLICATION">
|
||||
<LI><TT>APPLICATION</TT>: Этот блок предназначен для использования приложениями третьих лиц. Единственным обязательным полем является 32-битный идентификатор, который выдается разработчиками FLAC. Формат оставшейся части блока определяется зарегистрированным под этим номером приложением. Чтобы получить id для своего приложения, посетите <A HREF="id.html">страницу регистрации</A>.</P>
|
||||
|
||||
<A NAME="def_PADDING">
|
||||
<LI><TT>PADDING</TT>: Этот блок предназначен для резервирования места. Содержимое блока <TT>PADDING</TT> не имеет значения. Он полезен в том случае, если известно, что блок после кодирования будет добавлен блок <TT>APPLICATION</TT>. Пользователь может зарезервировать необходимое пространство с помощью блока <TT>PADDING</TT>, чтобы приложение смогло записать на его место блок <TT>APPLICATION</TT>. Эта операция займет намного меньше времени, чем вставка блока в начало файла, так как в втором случае потребуется его полная перезапись.</LI>
|
||||
|
||||
<A NAME="def_SEEKTABLE">
|
||||
<LI><TT>SEEKTABLE</TT>: Это необязательный блок для хранения точек поиска. В потоке FLAC можно найти любой сэмпл без этой таблицы, однако задержка может быть непредсказуемой, так как битрейт в потоке может существенно меняться. С помощью таблицы точек поиска пауза может быть существенно сокращена. Каждая точка занимает 18 байтов, поэтому для быстрого поиска с точностью до 1% необходимо всего 2кб. В потоке может быть только одни блок <TT>SEEKTABLE</TT>, но в нем может быть любое количество точек поиска. Также существуют резервируемые точки, которые пропускаются декодером, но могут использоваться для последующих вставок реальных точек поиска.</LI>
|
||||
</UL>
|
||||
|
||||
<LI>Аудиопоток состоит из одного или нескольких фреймов. У каждого фрейма есть заголовок, состоящий из кода синхронизации, информации о фрейме (размер блока, частота дискретизации, количество каналов и т.п.) и восьмибитной контрольной суммы. Также в заголовке содержится либо номер первого сэмпла во фрейме относительно всего потока (для потоков с изменяющимся размером блока) или номер фрейма (для потоков с постоянным размером блока). Это позволяет производить быстрый и точный поиск. Далее следуют закодированные подфреймы (по одному на каждый канал) и, наконец, фрейм, дополненный нулями до границы байта. Каждый подфрейм имеет свой заголовок, определяющий способ его декодирования.</LI>
|
||||
|
||||
<LI>Так как декодер может начать работу в середине потока, должен быть метод определения начала фрейма. Каждый фрейм начинается с 14-битного синхронизирующего кода. Этот код не может появляться ни в одном другом месте заголовка фрейма. Однако так как это код может появиться в подфреймах, у декодера есть два способа определить, что данная последовательность является началом фрейма. Сначала проверяется корректность данных во всем фрейме. Однако этот шаг не может гарантировать отсутствия ошибок, поэтому дополнительно производится расчет восьмибитной контрольной суммы заголовка фрейма и полученный результат сравнивается со значением, полученным при кодировании и записанным после заголовка фрейма.</LI>
|
||||
|
||||
<LI>Каждый фрейм должен содержать основную информацию о потоке, так как декодер может не иметь доступа к блоку метаданных <TT>STREAMINFO</TT> в начале потока. Сюда входит частота дискретизации, количество бит на сэмпл, количество каналов и т.д. Так как заголовоки фреймов вносят дополнительные накладные расходы, то они влияют уровень сжатия. Чтобы сделать заголовки фреймов минимальными, FLAC использует таблицы поиска для наиболее часто используемых значений параметров фремов. Например, часть, отвечающая за частоту дискретизации, занимает 4 бита. Восемь предопределенных значений соответствуют наиболее самым распространенным частотам (8/16/22.05/24/32/44.1/48/96 кГц). Однако дополнительные частоты могут быть использованы с помощью специального набора битов, указывающего декодеру, что необходимое значение находится в конце заголовка. Такой же метод используется для указания размера блока и количества битов на сэмпл. В этом случае заголовок остается достаточно малым для наиболее распространенных типов аудиоданных.</LI>
|
||||
|
||||
<LI>Подфреймы (по одному для каждого канала) кодируются во фрейме отдельно и хранятся в потоке последовательно. Это ведет к упрощению декодера, однако ценой этому является увеличение размеров буффера. У каждого подфрейма есть свой заголовок, определяющий его аттрибуты (метод и порядок прогнозирования, параметры кодирования остатков и т.д.). За заголовком следуют аудиоданные для этого канала.</LI>
|
||||
|
||||
<A NAME="subset">
|
||||
<LI>Во FLAC определено специальное подмножество формата (Subset format). Все потоки сжатые этим методом на самом деле являются потоковыми, то есть декодер, который не может искать в потоке, имеет возможность перейти к любой его точке и начать воспроизведение. Для файлов, отвечающих этому подмножеству формата, значительно проще сделать аппаратный декодер. <B><TT>flac</TT></B> по умолчанию создает потоки, отвечающие этому подмножеству формата. Ключ <TT>--lax</TT> запрещает создание таких потоков. Чтобы файл отвечал данному подмножеству, для него должны выполняться следующие ограничения:</LI>
|
||||
|
||||
<UL>
|
||||
<LI>Значение битов, отвечающих за размер блока, должно быть в пределах 0001-0101 или 1000-1111. Поток должен состоять из блоков одинакового размера (за исключением последнего), а в блоке метаданных <TT>STREAMINFO</TT> должны быть указаны равные значения для минимального и максимального размера блока.</LI>
|
||||
|
||||
<LI>Количество бит на сэмпл в заголовке фрейма должно описываться следующим диапазоном битов 001-110.</LI>
|
||||
|
||||
<LI>Частота дискретизации в заголовке фрейма должна описываться следующим диапазоном битов 0001-1011.</LI>
|
||||
</UL>
|
||||
</BLOCKQUOTE></P>
|
||||
|
||||
<P>В таблице приведено формальное описание формата FLAC. Числа в угловых скобках показывают количество битов, используемых данным полем.</P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="stream"><FONT SIZE="+2"><B><TT>ПОТОК</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><32></TD>
|
||||
<TD>"fLaC", маркер потока FLAC в кодировке ASCII, означающий, что первыми четырьмя байтами потока являются 0x66, 0x4C, 0x61, 0x43</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#metadata_block_streaminfo"><TT>БЛОК_МЕТАДАННЫХ</TT></A></TD>
|
||||
<TD>Обязательный блок метаданных <TT>STREAMINFO</TT>, содержащий основные свойства потока</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#metadata_block"><TT>БЛОК_МЕТАДАННЫХ</TT></A>*</TD>
|
||||
<TD>Ноль или больше блоков метаданных</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#frame"><TT>ФРЕЙМ</TT></A>+</TD>
|
||||
<TD>Один или больше аудиофреймов</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block"><FONT SIZE="+2"><B><TT>БЛОК_МЕТАДАННЫХ</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#metadata_block_header"><TT>ЗАГОЛОВОК_БЛОКА_МЕТАДАННЫХ</TT></A></TD>
|
||||
<TD>Заголовок, определяющий тип и размер блока метаданных</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#metadata_block_data"><TT>СОДЕРЖИМОЕ_БЛОКА_МЕТАДАННЫХ</TT></A></TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_header"><FONT SIZE="+2"><B><TT>ЗАГОЛОВОК_БЛОКА_МЕТАДАННЫХ</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><1></TD><TD>Флаг равный <TT>1</TT>, если данный блок метаданных является последним перед аудиоблоками, <TT>0</TT> в противном случае</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><7></TD>
|
||||
<TD>Тип блока:
|
||||
<UL>
|
||||
<LI>0 : <TT>STREAMINFO</TT></LI>
|
||||
<LI>1 : <TT>PADDING</TT></LI>
|
||||
<LI>2 : <TT>APPLICATION</TT></LI>
|
||||
<LI>3 : <TT>SEEKTABLE</TT></LI>
|
||||
<LI>4 : <TT>VORBIS_COMMENT</TT></LI>
|
||||
<LI>5-127 : зарезервированы</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><24></TD>
|
||||
<TD>Длина в байтах соответствующего блока метаданных (не включает размер <TT>ЗАГОЛОВКА_БЛОКА_МЕТАДАННЫХ</TT>)</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_data"><FONT SIZE="+2"><B><TT>СОДЕРЖИМОЕ_БЛОКА_МЕТАДАННЫХ</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#metadata_block_streaminfo"><TT>БЛОК_МЕТАДАННЫХ_STREAMINFO</TT></A> || <A HREF="format.html#metadata_block_padding"><TT>БЛОК_МЕТАДАННЫХ_PADDING</TT></A> || <A HREF="format.html#metadata_block_application"><TT>БЛОК_МЕТАДАННЫХ_APPLICATION</TT></A> || <A HREF="format.html#metadata_block_seektable"><TT>БЛОК_МЕТАДАННЫХ_SEEKTABLE</TT></A> || <A HREF="#metadata_block_vorbis_comment"><TT>БЛОК_МЕТАДАННЫХ_VORBIS_COMMENT</TT></A></TD>
|
||||
<TD>Содержимое блока должно соответствовать типу блока, указанному в заголовке</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_streaminfo"><FONT SIZE="+2"><B><TT>БЛОК_МЕТАДАННЫХ_STREAMINFO</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><16></TD>
|
||||
<TD>Минимальный размер блока в сэмплах в данном потоке.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><16></TD>
|
||||
<TD>Максимальный размер блока в сэмплах в данном потоке.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><24></TD>
|
||||
<TD>Минимальный размер фрейма в байтах в данном потоке. Если значение не известно, то <TT>0</TT></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><24></TD>
|
||||
<TD>Максимальный размер фрейма в байтах в данном потоке. Если значение не известно, то <TT>0</TT></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><20></TD>
|
||||
<TD>Частота дискретизации в Гц.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><3></TD>
|
||||
<TD><TT>(Количество каналов) - 1</TT>. FLAC поддерживает от 1 до 8 каналов.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><5></TD>
|
||||
<TD><TT>(Количество битов на сэмпл) - 1</TT>. FLAC поддерживает от 1 до 32 битов на сэмпл. Сейчас базовые декодер и енкодер поддерживают до 24 бит на сэмпл.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><36></TD>
|
||||
<TD>Количество сэмплов в потоке. Если здесь указан <TT>0</TT>, то количество сэмплов не известно.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><128></TD>
|
||||
<TD>Подпись MD5 несжатых аудиоданных, которая позволяет декодеру обнаружить ошибку, даже если ее наличие не нарушает структуру потока.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"> </TD>
|
||||
<TD><B>Примечания</B>:
|
||||
<UL>
|
||||
<LI>Во FLAC определен минимальный размер блока в <TT>16</TT> сэмплов и максимальный размер - <TT>65535</TT>. Это значит, что значения от <TT>0</TT> до <TT>15</TT> в соответствующих полях являются ошибочными.</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_padding"><FONT SIZE="+2"><B><TT>БЛОК_МЕТАДАННЫХ_PADDING</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><n></TD>
|
||||
<TD><TT>n</TT> бит со значением <TT>0</TT>. <TT>n</TT> должно быть кратно 8.</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_application"><FONT SIZE="+2"><B><TT>БЛОК_МЕТАДАННЫХ_APPLICATION</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><32></TD>
|
||||
<TD>Зарегистрированный id приложения (см. страницу <A HREF="id.html">регистрации</A>)</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><n></TD>
|
||||
<TD>Данные приложения. <TT>n</TT> должно быть кратно 8.</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_seektable"><FONT SIZE="+2"><B><TT>БЛОК_МЕТАДАННЫХ_SEEKTABLE</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#metadata_block_seekpoint"><TT>SEEKPOINT</TT></A>+</TD>
|
||||
<TD>Одна или больше точек поиска.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"> </TD>
|
||||
<TD><B>Примечания</B>:
|
||||
<UL>
|
||||
<LI>Количество точек поиска определяется в поле заголовка блока метаданных "длина" и равно <TT>длина / 18</TT>.</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_seekpoint"><FONT SIZE="+2"><B><TT>БЛОК_МЕТАДАННЫХ_SEEKPOINT</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><64></TD>
|
||||
<TD>Номер сэмпла в потоке первого сэмпла целевого фрейма или 0xFFFFFFFFFFFFFFFF для зарезервированной точки.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><64></TD>
|
||||
<TD>Смещение в байтах от первого байта первого заголовка фрейма до первого байта заголовка целевого фрейма.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><16></TD>
|
||||
<TD>Количество сэмплов в целевом фрейме.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"> </TD>
|
||||
<TD><B>Примечания</B>:
|
||||
<UL>
|
||||
<LI>Для зарезервированных точек значения второго и третьего поля не определены.</LI>
|
||||
<LI>Точки поиска должны быть отсортированы в таблице по возрастанию номера сэмпла.</LI>
|
||||
<LI>Поля, содержащие номера первых сэмплов в целевом фрейме, должны быть уникальны для всех точек, за исключением зарезервированных.</LI>
|
||||
<LI>Из двух предыдущих замечаний следует, что зарезервированных точек может быть любое количество, но они должны располагаться в конце таблицы.</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_vorbis_comment"><FONT SIZE="+2"><B><TT>БЛОК_МЕТАДАННЫХ_VORBIS_COMMENT</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><n></TD>
|
||||
<TD>Содержимое комметария в формате Vorbis, как оно описано <A HREF="http://www.xiph.org/ogg/vorbis/doc/v-comment.html">здесь</A>. Обратите внимание на то, что спецификация Vorbis ограничивает размер этого блока 2 ^ 64 байтами, в то время как блок метаданных FLAC может иметь размер не больше 2 ^ 24 байтов. В соответствии со спецификацией Vorbis 32-битные данные little-endian coded, в отличие от big-endian coding целых, используемых в остальных местах FLAC.</TD>
|
||||
</TR>
|
||||
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="frame"><FONT SIZE="+2"><B><TT>ФРЕЙМ</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#frame_header"><TT>ЗАГОЛОВОК_ФРЕЙМА</TT></A></TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#subframe"><TT>ПОДФРЕЙМ</TT></A>+</TD>
|
||||
<TD>Один подфрейм на канал</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><?></TD>
|
||||
<TD>Выравнивание нулями на границу байта</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#frame_footer"><TT>ЗАВЕРШЕНИЕ_ФРЕЙМА</TT></A></TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="frame_header"><FONT SIZE="+2"><B><TT>ЗАГОЛОВОК_ФРЕЙМА</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><14></TD>
|
||||
<TD>код синхронизации <TT>11111111111110</TT></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><2></TD>
|
||||
<TD>Зарезервировано:
|
||||
<UL>
|
||||
<LI>00 : обязательное значение</LI>
|
||||
<LI>01-11 : зарезервировано для последующего использования</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><4></TD>
|
||||
<TD>Размер блока в сэмплах:
|
||||
<UL>
|
||||
<LI>0000 : получить из блока метаданных <TT>STREAMINFO</TT></LI>
|
||||
<LI>0001 : <TT>192</TT> сэмпла</LI>
|
||||
<LI>0010-0101 : <TT>576 * (2^(2-n))</TT> сэмплов, т.е. <TT>576/1152/2304/4608</TT></LI>
|
||||
<LI>0110 : получить 8 битов (размер блока-1) из конца заголовка</LI>
|
||||
<LI>0111 : получить 16 битов (размер блока-1) из конца заголовка</LI>
|
||||
<LI>1000-1111 : <TT>256 * (2^(n-8))</TT> сэмплов, т.е. <TT>256/512/1024/2048/4096/8192/16384/32768</TT></LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><4></TD>
|
||||
<TD>Частота дискретизации:
|
||||
<UL>
|
||||
<LI><TT>0000</TT> : получить из блока метаданных <TT>STREAMINFO</TT></LI>
|
||||
<LI><TT>0001-0011</TT> : зарезервированы</LI>
|
||||
<LI><TT>0100</TT> : 8кГц</LI>
|
||||
<LI><TT>0101</TT> : 16кГц</LI>
|
||||
<LI><TT>0110</TT> : 22.05кГц</LI>
|
||||
<LI><TT>0111</TT> : 24кГц</LI>
|
||||
<LI><TT>1000</TT> : 32кГц</LI>
|
||||
<LI><TT>1001</TT> : 44.1кГц</LI>
|
||||
<LI><TT>1010</TT> : 48кГц</LI>
|
||||
<LI><TT>1011</TT> : 96кГц</LI>
|
||||
<LI><TT>1100</TT> : получить 8-битное значение частоты дискретизации (в кГц) из конца заголовка</LI>
|
||||
<LI><TT>1101</TT> : получить 16-битное значение частоты дискретизации (в Гц) из конца заголовка</LI>
|
||||
<LI><TT>1110</TT> : получить 16-битное значение частоты дискретизации (в дГц) из конца заголовка</LI>
|
||||
<LI><TT>1111</TT> : ошибочное значение, чтобы не допустить совпадение с кодом синхронизации</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><4></TD>
|
||||
<TD>Расположение каналов:
|
||||
<UL>
|
||||
<LI><TT>0000-0111</TT> : <TT>(количество независимых каналов)-1</TT>. Когда == <TT>0001</TT>, канал <TT>0</TT> является левым, <TT>1</TT> - правым</LI>
|
||||
<LI><TT>1000</TT> : левостороннее стерео: канал <TT>0</TT> является левым, <TT>1</TT> - разностным</LI>
|
||||
<LI><TT>1001</TT> : правостороннее стерео: канал <TT>0</TT> является разностным, <TT>1</TT> - правым</LI>
|
||||
<LI><TT>1010</TT> : усредненное стерео: канал <TT>0</TT> является усредненным, <TT>1</TT> - разностным
|
||||
<LI><TT>1011-1111</TT> : зарезервированы</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><3></TD>
|
||||
<TD>Количество битов на сэмпл:
|
||||
<UL>
|
||||
<LI><TT>000</TT> : получить из блока метаданных <TT>STREAMINFO</TT></LI>
|
||||
<LI><TT>001</TT> : 8 бит на сэмпл</LI>
|
||||
<LI><TT>010</TT> : 12 бит на сэмпл</LI>
|
||||
<LI><TT>011</TT> : зарезервировано</LI>
|
||||
<LI><TT>100</TT> : 16 бит на сэмпл</LI>
|
||||
<LI><TT>101</TT> : 20 бит на сэмпл</LI>
|
||||
<LI><TT>110</TT> : 24 бит на сэмпл</LI>
|
||||
<LI><TT>111</TT> : зарезервировано</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><1></TD>
|
||||
<TD>Дополнение нулем до границы бита, чтобы не допустить ошибку синхронизации</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><?></TD>
|
||||
<TD>Если <TT>(переменный размер блока)</TT><BR>
|
||||
<8-56> : номер сэмпла в формате UTF-8 (размер декодируемого числа 36 бит)<BR>
|
||||
иначе<BR>
|
||||
<8-48> : номер фрейма в формате UTF-8 (размер декодируемого числа 31 бит)</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><?></TD>
|
||||
<TD>Если <TT>(битовая маска размера блока == 11x)</TT><BR>
|
||||
8/16 бит <TT>(размер блока - 1)</TT></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><?></TD>
|
||||
<TD>Если <TT>(битовая маска частоты дискретизации == 11xx)</TT><BR>
|
||||
частота дискретизации 8/16 бит</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><8></TD>
|
||||
<TD>8-битная полиномальная контрольная сумма <TT>(x^8 + x^2 + x^1 + x^0)</TT> данных заголовка, включая код синхронизации (<TT>x</TT> инициализируется нулем).</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"> </TD>
|
||||
<TD><B>Примечания</B>:
|
||||
<UL>
|
||||
<LI>Биты размера блока <TT>0000-0101</TT> могут быть использованы только при постоянном их значении во всем блоке. Биты <TT>0110-0111</TT> могут использоваться в любом случае, декодер будет считать, что поток имеет переменную длину блока. Существует одно исключение: енкодер может использовать биты <TT>0110-0111</TT> в последнем фрейме потока с постоянным размером блока в том случае, если его длина не больше, чем используемая в всем потоке.</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="frame_footer"><FONT SIZE="+2"><B><TT>ЗАВЕРШЕНИЕ_ФРЕЙМА</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><16></TD>
|
||||
<TD>16-битная полиномальная контрольная сумма <TT>(x^16 + x^15 + x^2 + x^0)</TT> всего фрейма (<TT>x</TT> инициализируется нулем).</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe"><FONT SIZE="+2"><B><TT>ПОДФРЕЙМ</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#subframe_header"><TT>ЗАГОЛОВОК_ПОДФРЕЙМА</TT></A></TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#subframe_constant"><TT>ПОДФРЕЙМ_CONSTANT</TT></A> || <A HREF="format.html#subframe_fixed"><TT>ПОДФРЕЙМ_FIXED</TT></A> ||<BR><A HREF="format.html#subframe_lpc"><TT>ПОДФРЕЙМ_LPC</TT></A> || <A HREF="format.html#subframe_verbatim"><TT>ПОДФРЕЙМ_VERBATIM</TT></A></TD>
|
||||
<TD>Тип подфрейма, определяемый в заголовке</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_header"><FONT SIZE="+2"><B><TT>ЗАГОЛОВОК_ПОДФРЕЙМА</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><1></TD>
|
||||
<TD>Бит равный <TT>0</TT>, чтобы предотвратить ошибку синхронизации.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><6></TD>
|
||||
<TD>Тип подфрейма:
|
||||
<UL>
|
||||
<LI><TT>000000</TT> : <A HREF="format.html#subframe_constant"><TT>ПОДФРЕЙМ_CONSTANT</TT></A></LI>
|
||||
<LI><TT>000001</TT> : <A HREF="format.html#subframe_verbatim"><TT>ПОДФРЕЙМ_VERBATIM</TT></A></LI>
|
||||
<LI><TT>00001x</TT> : зарезервировано</LI>
|
||||
<LI><TT>0001xx</TT> : зарезервировано</LI>
|
||||
<LI><TT>001xxx</TT> : Если (<TT>xxx</TT> <= 4) <A HREF="format.html#subframe_fixed"><TT>ПОДФРЕЙМ_FIXED</TT></A>, <TT>xxx</TT> = порядок; иначе зарезервировано</LI>
|
||||
<LI><TT>01xxxx</TT> : зарезервировано</LI>
|
||||
<LI><TT>1xxxxx</TT> : <A HREF="format.html#subframe_lpc"><TT>ПОДФРЕЙМ_LPC</TT></A>, <TT>xxxxx = порядок-1</TT></LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><1+k></TD>
|
||||
<TD>Флаг 'неиспользуемые биты на сэмпл':
|
||||
<UL>
|
||||
<LI>0 : в исходном подблоке нет 'неиспользуемых битов', <TT>k=0</TT></LI>
|
||||
<LI>1 : <TT>k</TT> 'неиспользуемых битов' в исходном подблоке, число записывается в унарном формате; т.е. для <TT>k=3</TT> последовательность битов будет выглядеть так <TT>001</TT>, для <TT>k=7</TT> - <TT>0000001</TT>.</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"> </TD>
|
||||
<TD><B>Примечания</B>:
|
||||
<UL>
|
||||
<LI>'Неиспользуемые биты' встречаются в блоке данных, если при заявленных <TT>n</TT> битах значимыми являются только <TT>m</TT>. Число <TT>k = n - m</TT> и будет определять количество 'неиспользуемых битов'. Например, если все 16-битные сэмплы в исходном подблоке выглядят как 'xxxxxxxxxxxxx000', то енкодер кодирует только 13 бит, и запоминает, что 3 бита являются 'неиспользуемыми'.</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR><TD COLSPAN="2" BGCOLOR="#E0E0E0">
|
||||
<A NAME="subframe_constant"><FONT SIZE="+2"><B><TT>
|
||||
ПОДФРЕЙМ_CONSTANT</TT></B></FONT></A></TD></TR>
|
||||
|
||||
<TR><TD VALIGN="TOP">
|
||||
<n></TD>
|
||||
<TD>Несжатое постоянное значение подблока, <TT>n</TT> равно количеству битов на сэмпл во фрейме</TD><TR>
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_fixed"><FONT SIZE="+2"><B><TT>ПОДФРЕЙМ_FIXED</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><n></TD>
|
||||
<TD>Некодируемые начальные сэмплы (<TT>n</TT> равно количеству битов на сэмпл во фрейме, умноженному на порядок предиктора).</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#residual"><TT>ОСТАТОК</TT></A></TD>
|
||||
<TD>Закодированный остаток</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_lpc"><FONT SIZE="+2"><B><TT>ПОДФРЕЙМ_LPC</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><n></TD>
|
||||
<TD>Некодируемые начальные сэмплы (<TT>n</TT> равно количеству битов на сэмпл во фрейме, умноженному на порядок предиктора).</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><4></TD>
|
||||
<TD><TT>(точность дискретного коэффициета линейного прогнозирования (QLP)) - 1</TT>. Значение <TT>1111</TT> недопустимо.</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><5></TD>
|
||||
<TD>Необходимый сдвиг дискретного коэффициета линейного прогнозирования в битах. (<B>Примечание</B>: это число - знаковое дополнение до двух).</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><n></TD>
|
||||
<TD>Несжатые коэффициенты прогнозирования <TT>(n = точность QLP * порядок LPC)</TT> (<B>Примечание</B>: эти числа являются знаковыми дополнениями до двух).</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#residual"><TT>ОСТАТОК</TT></A></TD>
|
||||
<TD>Закодированный остаток</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_verbatim"><FONT SIZE="+2"><B><TT>ПОДФРЕЙМ_VERBATIM</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><n*i></TD>
|
||||
<TD>Несжатый подблок, <TT>n</TT> равно количеству битов на сэмпл во фрейме, <TT>i</TT> - размеру блока</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="residual"><FONT SIZE="+2"><B><TT>ОСТАТОК</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><2></TD>
|
||||
<TD>Метод кодирования остатков:
|
||||
<UL>
|
||||
<LI><TT>00</TT> : кодирование Райса</LI>
|
||||
<LI><TT>01-11</TT> : зарезервировано</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#partitioned_rice"><TT>ОСТАТКИ_СЖАТЫЕ_МЕТОДОМ_РАЙСА</TT></A></TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"> </TD>
|
||||
<TD><B>Примечания:</B>
|
||||
<UL>
|
||||
<LI>Сейчас FLAC использует только один метод кодирования остатков</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="partitioned_rice"><FONT SIZE="+2"><B><TT>ОСТАТКИ_СЖАТЫЕ_МЕТОДОМ_РАЙСА</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><4></TD>
|
||||
<TD>Порядок раздела</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><A HREF="format.html#rice_partition"><TT>РАЗДЕЛ_РАЙСА</TT></A>+</TD>
|
||||
<TD>Далее следуют 2^порядок разделов</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
|
||||
<TR>
|
||||
<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="rice_partition"><FONT SIZE="+2"><B><TT>РАЗДЕЛ_РАЙСА</TT></B></FONT></A></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><4(+5)></TD>
|
||||
<TD>Параметр кодирования:
|
||||
<UL>
|
||||
<LI><TT>0000-1110</TT> : Параметр Райса.</LI>
|
||||
<LI><TT>1111</TT> : Код, означающий, что раздел является несжатым и в нем используются <TT>n</TT> битов на сэмпл. <TT>n</TT> представлено 5-битным числом.
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD VALIGN="TOP"><?></TD>
|
||||
<TD>Закодированный остаток. Количество сэмплов <TT>n</TT> в разделе определяется следующим образом:
|
||||
<UL>
|
||||
<LI>Если порядок раздела равен <TT>0</TT>, <TT>n</TT> равно размеру блока для фрейма.</LI>
|
||||
<LI>иначе если это не первый раздел подфрейма, <TT>n = (размер блока для фрейма / (2^порядок раздела))</TT></LI>
|
||||
<LI>иначе <TT>n = (размер блока для фрейма / (2^порядок раздела)) - порядок предиктора</TT></LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE></P>
|
||||
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
104
doc/html/ru/goals.html
Normal file
104
doc/html/ru/goals.html
Normal file
@ -0,0 +1,104 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: öåëè</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">íà÷àëî</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">íîâîñòè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">ôàéëû</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">õàðàêòåðèñòèêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
öåëè </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">ôîðìàò</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">ñðàâíåíèå</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">ðàçðàáîòêà</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">äîêóìåíòàöèÿ</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ññûëêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">àâòîðû</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../goals.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
ðóññêèé</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: öåëè</H2></CENTER>
|
||||
|
||||
<P>Òàê êàê FLAC - ýòî îòêðûòûé ïðîåêò, âàæíî îïðåäåëèòü ñïèñîê öåëåé, ê ÷åìó íóæíî ñòðåìèòüñÿ. Âðåìÿ îò âðåìåíè îíè ìîãóò íåìíîãî èçìåíÿòüñÿ, íî âñåãäà äîëæíû îïðåäåëÿòü íàïðàâëåíèå ðàçâèòèÿ. èçìåíåíèÿ äîëæíû ñîãëàñîâûâàòüñÿ ñ òåêóùèìè öåëÿìè è íå ïûòàòüñÿ âêëþ÷èòü â ñåáÿ àíòèöåëè.</P>
|
||||
|
||||
<H3>Öåëè</H3>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI>FLAC äîëæåí îñòàâàòüñÿ îòêðûòûì ôîðìàòîì. Âñå èñõîäíûå òåêñòû ëèáî ïîä LGPL, ëèáî ïîä GPL.</LI>
|
||||
|
||||
<LI>FLAC äîëæåí ïðîèçâîäèòü òîëüêî ñæàòèå áåç ïîòåðü. Âðîäå áû ýòî î÷åâèäíî, îäíàêî, êîäèðîâàíèå ñ ïîòåðÿìè ïûòàåòñÿ ïðîíèêíóòü âî âñå àóäèî êîäåêè. Ýòà öåëü òàêæå îçíà÷àåò, ÷òî FLAC äîëæåí ïðèäåðæèâàòüñÿ òîëüêî ïðèíöèïîâ àðõèâèðîâàíèÿ è ñæèìàòü áåç ïîòåðü àáñîëþòíî âñå òèïû âõîäíûõ äàííûõ. Ðåëèçû äîëæíû òùàòåëüíî òåñòèðîâàòüñÿ.</LI>
|
||||
|
||||
<LI>FLAC äîëæåí äîñòè÷ü ïðèåìëèìîãî óðîâíÿ ñæàòèÿ ôàéëîâ.</LI>
|
||||
|
||||
<LI>FLAC äîëæåí èìåòü íèçêèå àïïàðàòíûå òðåáîâàíèÿ è îáåñïå÷èòü äåêîäèðîâàíèå â ðåàëüíîì âðåìåíè äàæå íà ñòàðûõ êîìïüþòåðàõ.</LI>
|
||||
|
||||
<LI>FLAC äîëæåí ïîääåðæèâàòü áûñòðûé è òî÷íûé ïîèñê.</LI>
|
||||
|
||||
<LI>FLAC äîëæåí ïîääåðæèâàòü âîñïðîèçâåäåíèå áåç ïàóç äëÿ íåïðåðûâíûõ ïîòîêîâ.</LI>
|
||||
|
||||
<LI>Ïðîåêò FLAC íàõîäèòñÿ â äîëãó ïåðåä ìíîãèìè ëþäüìè, êòî óëó÷øàë ìåòîäû ñæàòèÿ çâóêà, è íàöåëåí íà ïîääåðæêó íîâûõ èäåé ñ ïîìîùüþ îòêðûòîé ðàçðàáîòêè.</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
|
||||
<H3>Àíòèöåëè</H3>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI>Ñæàòèå ñ ïîòåðÿìè. Ñóùåñòâóåò äîñòàòî÷íî ìíîãî õîðîøèõ ôîðìàòîâ, ïðåäíàçíà÷åííûõ èìåííî äëÿ ýòîãî (<A HREF="http://www.vorbis.com">Ogg Vorbis</A>, <A HREF="http://www.mp3-tech.org">mp3</A>, è ò.ä.).</LI>
|
||||
|
||||
<LI>Çàùèòà îò êîïèðîâàíèÿ â ëþáîì âèäå.</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
127
doc/html/ru/id.html
Normal file
127
doc/html/ru/id.html
Normal file
@ -0,0 +1,127 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: ðåãèñòðàöèÿ id</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">íà÷àëî</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="news.html">íîâîñòè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">ôàéëû</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">õàðàêòåðèñòèêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">öåëè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">ôîðìàò</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
id </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">ñðàâíåíèå</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">ðàçðàáîòêà</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">äîêóìåíòàöèÿ</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ññûëêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">àâòîðû</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../id.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
ðóññêèé</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: ðåãèñòðàöèÿ id</H2></CENTER>
|
||||
|
||||
<P>FLAC ïîçâîëÿåò ïðèëîæåíèÿì òðåòüèõ ëèö çàðåãèñòðèðîâàòü id äëÿ èñïîëüçîâàíèÿ áëîêîâ ìåòàäàííûõ <A HREF="format.html#def_APPLICATION"><TT>APPLICATION</TT></A>. ×òîáû ïîëó÷èòü id èëè âíåñòè èçìåíåíèå â ñóùåñòâóþùèé id, èñïîëüçóéòå ôîðìó íà ýòîé ñòðàíèöå (ïèøèòå íà àíãëèéñêîì ÿçûêå).</P>
|
||||
|
||||
<FORM NAME="register" METHOD="GET" ENCTYPE="text/plain" ACTION="mailto:jcoalson@users.sourceforge.net">
|
||||
<CENTER><TABLE BORDER="0" WIDTH=90%>
|
||||
<TR><TD WIDTH=30%>* id ïðèëîæåíèÿ:</TD>
|
||||
<TD><INPUT TYPE=TEXT NAME="id" SIZE="8" MAXLENGTH="8"></TD></TR>
|
||||
<TR><TD>* íàçâàíèå ïðèëîæåíèÿ:</TD>
|
||||
<TD><INPUT TYPE=TEXT NAME="name" SIZE="40"></TD></TR>
|
||||
<TR><TD>* êîíòàêòíûé e-mail:</TD>
|
||||
<TD><INPUT TYPE=TEXT NAME="email" SIZE="40"></TD></TR>
|
||||
<TR><TD>url ïðèëîæåíèÿ:</TD>
|
||||
<TD><INPUT TYPE=TEXT NAME="appurl" SIZE="40"></TD></TR>
|
||||
<TR><TD>url ñïåöèôèêàöèè:</TD>
|
||||
<TD><INPUT TYPE=TEXT NAME="specurl" SIZE="40"></TD></TR></TABLE>
|
||||
|
||||
<P>Êîììåíòàðèé:</P>
|
||||
<TEXTAREA NAME="comment" COLS="72" ROWS="8" WRAP="OFF"></TEXTAREA>
|
||||
|
||||
<P>(* - îáÿçàòåëüíîå ïîëå)</P>
|
||||
</CENTER>
|
||||
|
||||
<P>id äîëæåí ñîñòîÿòü èç âîñüìè ñèìâîëîâ <TT>[0..F]</TT> è íå êîíôëèêòîâàòü ñ ñóùåñòâóþùèìè èäåíòèôèêàòîðàìè (âíèçó ïðèâåäåíà òàáëèöà çàðåãèñòðèðîâàííûõ id). Ýòî 32-áèòíîå ÷èñëî áóäåò ñîõðàíåíî â áëîêå â ôîðìàòå big-endian.</P>
|
||||
|
||||
<P>Èíôîðìàöèÿ î ïðèëîæåíèè (íî íå e-mail) áóäåò ïðèâåäåíà â êàòàëîãå id. Âû ìîæåòå ïðåäîñòàâèòü òàêæå ññûëêó íà ñòðàíèöó ïðèëîæåíèÿ è íà ñïåöèôèêàöèþ áëîêà <TT>APPLICATION</TT> äëÿ âàøåãî ïðèëîæåíèÿ.</P>
|
||||
|
||||
<P>Ïîäòâåðæäåíèå ðåãèñòðàöèè áóäåò âûñëàíî Âàì ïî ïî÷òå.</P>
|
||||
|
||||
<P><CENTER><INPUT TYPE=SUBMIT VALUE="Ïîäòâåðäèòü çàïðîñ"></CENTER></P>
|
||||
</FORM>
|
||||
|
||||
<H3>Êàòàëîã id</H3>
|
||||
<P>Ñïèñîê çàðåãèñòðèðîâàííûõ ïðèëîæåíèé è èõ id.</P>
|
||||
|
||||
<P><TABLE WIDTH="100%" BORDER="1">
|
||||
<TR BGCOLOR="#F0F0F0">
|
||||
<TD><FONT SIZE="+1"><B>ID</B></FONT></TD>
|
||||
<TD><FONT SIZE="+1"><B>Ïðèëîæåíèå</B></FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><TT>5346464C - "SFFL"</TT></TD>
|
||||
<TD>Sound Font FLAC</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><TT>46746F6C - "Ftol"</TT></TD>
|
||||
<TD><A HREF="http://flac-tools.sourceforge.net/">flac-tools</A></TD>
|
||||
</TR>
|
||||
|
||||
</TABLE>
|
||||
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
119
doc/html/ru/index.html
Normal file
119
doc/html/ru/index.html
Normal file
@ -0,0 +1,119 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: íà÷àëî</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
íà÷àëî </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="news.html">íîâîñòè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">ôàéëû</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">õàðàêòåðèñòèêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">öåëè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">ôîðìàò</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">ñðàâíåíèå</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">ðàçðàáîòêà</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">äîêóìåíòàöèÿ</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ññûëêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">àâòîðû</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../index.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
ðóññêèé</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: íà÷àëî</H2></CENTER>
|
||||
|
||||
<H3>Ñòàòóñ</H3>
|
||||
|
||||
<P>13 ôåâðàëÿ 2002: àïïàðàòíàÿ ðåàëèçàöèÿ FLAC</P>
|
||||
|
||||
<P><A HREF="http://www.phatnoise.com/">Phatnoise</A> ñòàëà ïåðâîé êîììåð÷åñêîé àïïàðàòíîé ïëàòôîðìîé, ïîääåðæèâàþùåé FLAC. Äëÿ âîñïðîèçâåäåíèÿ FLAC ôàéëîâ ïëåéåðîì Phatbox âûïóùåíà ïðîøèâêà. Ïîäðîáíåå îá ýòîì íà ñòðàíèöå <A HREF="http://phatbox.sixpak.org/">Phatbox</A>.</P>
|
||||
|
||||
<P>Åñëè âû èñïîëüçóåòå FLAC è ó âàñ åñòü ïðåäîëîæåíèÿ èëè ïàò÷è, ïîæàëóéñòà, ïðèñîäèíÿéòåñü ê <A HREF="http://sourceforge.net/mail/?group_id=13478">ñïèñêó ðàññûëêè</A> èëè <A HREF="http://sourceforge.net/project/memberlist.php?group_id=13478">ãðóïïå ðàçðàáîò÷èêîâ</A>. Ñîîáùèòü îá îøèáêå ìîæíî <A HREF="http://sourceforge.net/bugs/?func=addbug&group_id=13478">çäåñü</A>.</P>
|
||||
|
||||
|
||||
<H3>×òî òàêîå FLAC?</H3>
|
||||
|
||||
<P>FLAC - ýòî àááðåâèàòóðà îò free lossless audio codec (ñâîáîäíûé êîäåê, îáåñïå÷èâàþùèé ñæàòèå áåç ïîòåðü). Ïðîåêò FLAC âêëþ÷àåò:</P>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI>ïîòîêîâûé ôîðìàò,</LI>
|
||||
|
||||
<LI>áèáëèîòåêó <B><TT>libFLAC</TT></B>, ðåàëèçóþùóþ áàçîâûå åíêîäåðû è äåêîäåðû,</LI>
|
||||
|
||||
<LI><B><TT>flac</TT></B>, óòèëèòó êîìàíäíîé ñòðîêè, âûïîëíÿþùóþ ñæàòèå è ðàñïàêîâêó .flac ôàéëîâ,</LI>
|
||||
|
||||
<LI>ïëàãèíû äëÿ ðàçíûõ ïëåéåðîâ (Winamp, XMMS, âåäåòñÿ ðàáîòà íàä äðóãèìè).</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
<P>"Ñâîáîäà" îçíà÷àåò, ÷òî ñïåöèôèêàöèÿ ïîòîêîâîãî ôîðìàòà îòíîñèòñÿ ê êàòåãîðèè public domain (ïðîåêò FLAC îñòàâëÿåò çà ñîáîé ïðàâî óñòàíàâëèâàòü ñïåöèôèêàöèè è ñåðòèôèöèðîâàòü îòíîñÿùèåñÿ ê íåìó ïðîäóêòû íà ñîâìåñòèìîñòü), à òàêæå òî, ÷òî íè ôîðìàò, íè îäèí èç ðåàëèçîâàííûõ ìåòîäîâ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ íå çàïàòåíòîâàíû. Ýòî òàêæå çíà÷èò, ÷òî èñõîäíûå òåêñòû <B><TT>libFLAC</TT></B> äîñòóïíû ïî ëèöåíçèè LGPL, à óòèëèòû <B><TT>flac</TT></B> è ïëàãèíîâ - ïî GPL.</P>
|
||||
|
||||
<P>FLAC êîìïèëèðóåòñÿ íà ìíîæåñòâå ïëàòôîðì: Unixes (Linux, *BSD, Solaris, OS X), Windows, BeOS è OS/2. Èìåþòñÿ ñèñòåìû ñáîðêè äëÿ autoconf/automake, MSVC, Watcom C è Project Builder.</P>
|
||||
|
||||
<P>×òîáû óçíàòü áîëüøå î ïðîåêòå FLAC, ñìîòðèòå ñòðàíèöû <A HREF="features.html">õàðàêòåðèñòèêè</A>, <A HREF="documentation.html">äîêóìåíòàöèÿ</A> è <A HREF="format.html">ôîðìàò</A>. Òàêæå ïðèâåäåíî <A HREF="comparison.html">ñðàâíåíèå</A> êîäåðîâ, îñóùåñòâëÿþùèõ ñæàòèå áåç ïîòåðü, è ñïèñîê <A HREF="goals.html">öåëåé</A>, ñòîÿùèõ ïåðåä ó÷àñòíèêàìè ïðîåêòà.</P>
|
||||
|
||||
|
||||
<H3>Ôàéëû</H3>
|
||||
|
||||
<P>Íà <A HREF="download.html">ýòîé</A> ñòðàíèöå íàõîäÿòñÿ ññûëêè íà èñõîäíûå òåêñòû, à òàêæå ñêîïèëèðîâàííûå âåðñèè äëÿ ðàçëè÷íûõ îïåðàöèîííûõ ñèñòåì. Ñàìè ôàéëû ëåæàò íà <A HREF="http://www.sourceforge.net/projects/flac/">SourceForge</A>.</P>
|
||||
|
||||
|
||||
<H3>Äîêóìåíòàöèÿ</H3>
|
||||
|
||||
<P>Äîêóìåíòàöèÿ äîñòóïíà â ðåæèìå îíëàéí è â äèñòðèáóòèâàõ. Èíôîðìàöèÿ ïî óñòàíîâêå è èñïîëüçîâàíèþ <B><TT>flac</TT></B> è ïëàãèíîâ íàõîäèòñÿ <A HREF="documentation.html">çäåñü</A>. Áîëåå äåòàëüíàÿ èíôîðìàöèÿ î ôîðìàòå FLAC è áàçîâîì åíêîäåðå ïðèâåäåíà íà <A HREF="format.html">ýòîé ñòðàíèöå</A>.</P>
|
||||
|
||||
|
||||
<H3>Ðåãèñòðàöèÿ id</H3>
|
||||
|
||||
<P>Åñëè ó âàñ åñòü ïðèëîæåíèå, èñïîëüçóþùåå FLAC, è âû õîòèòå, ÷òîáû îíî ðàáîòàëî ñ äîáàâëÿåìûìè â ôàéë ìåòàäàííûìè, çàéäèòå íà <A HREF="id.html">ñòðàíèöó</A> ðåãèñòðàöèè è çàðåçåðâèðóéòå äëÿ íåãî èäåíòèôèêàòîð.</P>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
122
doc/html/ru/links.html
Normal file
122
doc/html/ru/links.html
Normal file
@ -0,0 +1,122 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: íà÷àëî</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">íà÷àëî</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="news.html">íîâîñòè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">ôàéëû</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">õàðàêòåðèñòèêè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">öåëè</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">ôîðìàò</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">ñðàâíåíèå</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">ðàçðàáîòêà</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">äîêóìåíòàöèÿ</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
ññûëêè </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">àâòîðû</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../index.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
ðóññêèé</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
|
||||
<CENTER><H2>FLAC: ññûëêè</H2></CENTER>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI><A HREF="http://flac.sourceforge.net/">Äîêóìåíòàöèÿ FLAC íà àíãëèéñêîì ÿçûêå</A></LI>
|
||||
|
||||
<LI><A HREF="http://www.sourceforge.net/projects/flac/">Ñòðàíèöà ïðîåêòà FLAC íà SourceForge</A></LI>
|
||||
|
||||
<LI><A HREF="http://freshmeat.net/projects/flac">Ñòðàíèöà íà Freshmeat</A></LI>
|
||||
|
||||
<LI><A HREF="http://www.firstpr.com.au/audiocomp/lossless/">Îñíîâíûå ïðèíöèïû ñæàòèÿ áåç ïîòåðü</A></LI>
|
||||
|
||||
<LI><A HREF="http://dkutsanov.chat.ru/">Óòèëèòû äëÿ ñæàòèÿ àóäèî</A></LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
<P>Àïïàðàòóðà, ïîääåðæèâàþùàÿ FLAC:</P>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI><A HREF="http://www.phatnoise.com/">Phatnoise</A> car audio system: <A HREF="http://phatbox.sixpak.org/">Phatbox + FLAC</A></LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
<P>Ïðîãðàììû, èñïîëüçóþùèå FLAC:</P>
|
||||
<LI><A HREF="http://www.bagu.dhs.org/flac.html">Ïàò÷</A> äëÿ <A
|
||||
HREF="http://lly.org/~rcw/abcde/page/">abcde</A> (A Better CD Encoder)</LI>
|
||||
|
||||
<LI>Ðåäàêòîð òåãîâ <A HREF="http://easytag.sourceforge.net/">EasyTAG</A></LI>
|
||||
|
||||
<LI><A HREF="http://home.wanadoo.nl/~w.speek/flac.htm">FLAC frontend</A> (Windows GUI)</LI>
|
||||
|
||||
<LI><A HREF="http://www.lameb.fsnet.co.uk/">Split_wav</A> WAV+CUE splitter</A></LI>
|
||||
|
||||
<LI><A HREF="http://flac-tools.sourceforge.net/">flac-tools</A></LI>
|
||||
|
||||
<LI><A HREF="http://www.gstreamer.net/">GStreamer</A> ñèñòåìà äëÿ ïîòîâîé ïåðåäà÷è ìåäèà-ôàéëîâ<BR></FONT></SMALL></TD></TR>
|
||||
|
||||
<LI><A HREF="http://mediaxw.sourceforge.net/">MediaXW</A> âêëþ÷àåò ôèëüòð FLAC DirectShow</LI>
|
||||
|
||||
<LI><A HREF="http://rawrec.sourceforge.net/">rawrec/rawplay</A> óòèëèòû äëÿ çàïèñè è âîñïðîèçâåäåíèÿ</LI>
|
||||
|
||||
<LI><A HREF="http://rip.sourceforge.net/">rip</A> êîíñîëüíàÿ óòèëèòà äëÿ êîïèðîâàíèÿ CD Audio è ñæàòèÿ ôàéëîâ</LI>
|
||||
|
||||
<LI><A HREF="http://www.icculus.org/SDL_sound/">SDL_sound</A> àóäèî ìîäóëü äëÿ SDL</LI>
|
||||
|
||||
<LI><A HREF="http://shnutils.etree.org/shntool/">shntool</A><BR></FONT></SMALL></TD></TR>
|
||||
|
||||
<LI><A HREF="http://www.lammerts.org/software/soepkiptng/">Soepkip TNG</A> ïëåéåð, óïðàâëÿåìûé ÷åðåç web-èíòåðôåéñ</LI>
|
||||
|
||||
<LI><A HREF="http://www.cyclooctane.com/sonice/">sonice</A>: ïðåîáðàçîâàíèå FLAC â Vorbis</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
<P> Copyright (c) 2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
189
doc/html/ru/news.html
Normal file
189
doc/html/ru/news.html
Normal file
@ -0,0 +1,189 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
|
||||
<!-- Copyright (c) 2000,2001,2002 Josh Coalson -->
|
||||
<!-- 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 -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META CHARSET="windows-1251">
|
||||
<TITLE>FLAC: новости</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="index.html">начало</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
новости </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="download.html">файлы</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="features.html">характеристики</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="goals.html">цели</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="format.html">формат</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="id.html">id</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="comparison.html">сравнение</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="developers.html">разработка</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="documentation.html">документация</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="links.html">ссылки</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
<A HREF="authors.html">авторы</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER>
|
||||
|
||||
<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
|
||||
<TR><TD align=center>|</TD>
|
||||
<TD height=22 align=center nowrap>
|
||||
<A HREF="../news.html">english</A> </TD>
|
||||
<TD align=center>|</TD>
|
||||
<TD align=center nowrap>
|
||||
русский</A> </TD>
|
||||
<TD align=center>|</TD></TR>
|
||||
</TABLE></CENTER></P>
|
||||
|
||||
<CENTER><H2>FLAC: новости</H2></CENTER>
|
||||
|
||||
<P><LI><B>13.02.2002</B><BR>
|
||||
Первая аппаратная реализация FLAC. <A HREF="http://www.phatnoise.com/">Phatnoise</A> стала первой коммерческой аппаратной платформой, поддерживающей FLAC. Для воспроизведения FLAC файлов плейером Phatbox выпущена прошивка. Подробнее об этом на странице <A HREF="http://phatbox.sixpak.org/">Phatbox</A>.</P>
|
||||
|
||||
<P><LI><B>03.12.2001</B><BR>
|
||||
Вышла версия <B>FLAC 1.0.2</B>. Релиз сделан для исправления проблемы, приводящей к "падению" плагинов. Ошибка также могла касаться пользователей <B><TT>libFLAC</B></TT>, которые использовали один экземпляр декодера файлов для нескольких файлов. Подробнее см. <A HREF="http://www.geocrawler.com/lists/3/SourceForge/7206/0/7231340">здесь</A>.</P>
|
||||
|
||||
<P><LI><B>14.11.2001</B><BR>
|
||||
Вышла версия <B>FLAC 1.0.1</B>. Основной кодек не был изменен, но были добавлены несколько новых возможностей и исправлено несколько ошибок.</P>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
|
||||
<LI>Новые возможности для пользователей:</LI>
|
||||
|
||||
<UL>
|
||||
<LI>Поддержка Ogg-FLAC, т.е. <B><TT>flac</TT></B> теперь может читать и создавать потоки с использованием транспортного уровня Ogg.</LI>
|
||||
|
||||
<LI>Новый плагин для Winamp 3, основанный на Wasabi Beta 1 SDK.</LI>
|
||||
|
||||
<LI>Новые утилиты для поддержки FLAC в Monkey Audio GUI; см. <A HREF="documentation.html#monkey">описание</A>.</LI>
|
||||
|
||||
<LI>Поддержка Mac OS X. В разделе <A HREF="download.html">файлы</A> теперь есть скомпилированная версия для OS X.</LI>
|
||||
|
||||
<LI>Поддержка Mingw32.</LI>
|
||||
|
||||
<LI>Улучшена обработка специфичных для MS 'fmt' заголовков файлов WAVE.</LI>
|
||||
</UL>
|
||||
|
||||
<LI>Новые возможности для разработчиков:</LI>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
Добавлен уровень SeekableStreamDecoder между StreamDecoder и FileDecoder. С его помощью удобнее использовать библиотеку <TT>libFLAC</TT> в ситуациях, когда неодостачно информации о декодируемом файле. Болле подробно все описано в разделе <A HREF="documentation.html#libflac">документация</A>. Интерфейс для StreamDecoder и FileDecoder остался прежним и, соответственно, сохранилась бинарная совместимость с libFLAC 1.0.</LI>
|
||||
|
||||
<LI>Уменьшен размер стека необходимый кодеру.</LI>
|
||||
</UL>
|
||||
|
||||
<LI>Исправленные ошибки:</LI>
|
||||
|
||||
<UL>
|
||||
<LI>Существенная ошибка при кодировании raw ввода, приводящая к добавлению 12 лишних сэмплов к получаемому файлу. Кодирование из WAVE файлов работало правильно.</LI>
|
||||
|
||||
<LI>Ошибка в <TT>libFLAC</TT>, связанная с установкой имени файла в stdin в декодере файлов.</LI>
|
||||
|
||||
<LI>Ошибка в <TT>libFLAC</TT>, возникающая при множественных вызовах для установки имени файла и приводящая к утечке памяти.</LI>
|
||||
|
||||
<LI><B><TT>metaflac</TT></B> правильно пропускает тег id3v2.</LI>
|
||||
|
||||
<LI><B><TT>metaflac</TT></B> правильно пропускает большие блоки метаданных.</LI>
|
||||
</UL>
|
||||
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
|
||||
<P><LI><B>20.07.2001</B><BR>
|
||||
Вышла версия <B>FLAC 1.0</B>! Добавлено несколько новых возможностей, но в основном исправления ошибок.</P>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
|
||||
<LI>Новая опция '<TT>--sector-align</TT>' позволяет выравнивать группу кодируемых аудиофайлов на границу сектора в формате Audio-CD.</LI>
|
||||
|
||||
<LI>Новая опция '<TT>--output-prefix</TT>' добавляет префикс ко всем выходным именам файлов (полезно, например, для сохранения результатов работы в другой каталог).</LI>
|
||||
|
||||
<LI>Улучшенное автоопределение WAVE (больше не полагается на ungetc()).</LI>
|
||||
|
||||
<LI>Более понятная статистика при кодировании/декодировании.</LI>
|
||||
|
||||
<LI>Изменения в интерефейсе библиотеки <TT>libFLAC</TT> для более простой поддержки бинарной совместимости в будущем.</LI>
|
||||
|
||||
<LI>Новая опция '<LI>--sse-os</LI>' в конфигурационном скрипте для использования более быстрых процедур, основанных на SSE.</LI>
|
||||
|
||||
<LI>Еще одно (надеюсь последнее) исправление в плагине для Winamp 2.</LI>
|
||||
|
||||
<LI>Немного улучшена оценка параметра Райса.</LI>
|
||||
|
||||
<LI>Исправление ошибок, возникающих в очень редких ситуациях при кодировании.</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
|
||||
<P><LI><B>07.06.2001</B></LI><BR>
|
||||
Вышла версия FLAC 0.10. Скорее всего это последняя бета версия. За последние два месяца было сделано много улучшений.</P>
|
||||
|
||||
<P><BLOCKQUOTE><UL>
|
||||
<LI>Скорость работы кодера и декодера значительно возросла. Основные процедуры написаны на ассемблере для IA-32.</LI>
|
||||
|
||||
<LI>Добавлен блок метаданных SEEKTABLE, содержащий информацию, позволяющую ускорить значительно ускорить поиск в потоке.</LI>
|
||||
|
||||
<LI>Модель поведения <B><TT>flac</TT></B> теперь аналогична <B><TT>gzip</TT></B>.</LI>
|
||||
|
||||
<LI>Опции -# настроены для получения наилучшего соотношения уровень/время сжатия. По умолчению установлено значение -5.</LI>
|
||||
|
||||
<LI>Неподдерживаемые блоки в WAVE-файле теперь пропускаются с предупреждением.</LI>
|
||||
|
||||
<LI>Добавлена опция <TT>--delete-input-file</TT>, позволяющая удалять входной файл после удачного кодирования/декодирования.</LI>
|
||||
|
||||
<LI>Изменен плагин для XMMS, чтобы нормально работала визуализация.</LI>
|
||||
|
||||
<LI>Исправлена ошибка, возникающая в потоковом декодере после поиска.</LI>
|
||||
</UL></BLOCKQUOTE></P>
|
||||
|
||||
|
||||
<P><LI><B>31.03.2001</B></LI><BR>
|
||||
Вышла версия 0.9. Исправлены плагины для Winamp и XMMS. Изменен формат (надеюсь, последний раз). Потеряна совместимость со всеми предыдущими версиями.</P>
|
||||
|
||||
|
||||
<P><LI><B>24.03.2001</B></LI><BR>
|
||||
Близится выход версии 0.9, в которой должен быть исправлен плагин для Winamp. Джош обратился через список рассылки, чтобы после выхода этой версии к нему обратились с пожеланиями (особенно радикальными, которые могут коснуться формата).</P>
|
||||
|
||||
|
||||
<P><LI><B>21.03.2001</B></LI><BR>
|
||||
Текущая версия FLAC - 0.8. Начат перевод документации.</P>
|
||||
|
||||
|
||||
<P><LI><B>10.12.2000</B></LI><BR>
|
||||
FLAC выложен на SourceForge. Посетите <A HREF="http://www.sourceforge.net/projects/flac/">страницу</A> проекта, чтобы подписаться на список расылки или стать разработчиком.</P>
|
||||
|
||||
<P> Copyright (c) 2000,2001,2002 Josh Coalson</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
Loading…
Reference in New Issue
Block a user