summaryrefslogtreecommitdiff
path: root/doc/html
diff options
context:
space:
mode:
authorAndrey Astafiev <andrei33@users.sourceforce.net>2002-09-11 12:31:51 +0000
committerAndrey Astafiev <andrei33@users.sourceforce.net>2002-09-11 12:31:51 +0000
commit3a3e09fa73a122ded504aa8ee8a231f18248180e (patch)
treead2761e5f05b38a6c51724df4387201d7bd84154 /doc/html
parentafb15d15e3f9fa80b958dd045aabcb628819fd9b (diff)
downloadflac-3a3e09fa73a122ded504aa8ee8a231f18248180e.tar.gz
1.0.4 beta
Diffstat (limited to 'doc/html')
-rw-r--r--doc/html/ru/documentation.html343
-rw-r--r--doc/html/ru/format.html23
-rw-r--r--doc/html/ru/index.html20
-rw-r--r--doc/html/ru/links.html44
-rw-r--r--doc/html/ru/news.html57
5 files changed, 191 insertions, 296 deletions
diff --git a/doc/html/ru/documentation.html b/doc/html/ru/documentation.html
index 7913d10e..220b8db5 100644
--- a/doc/html/ru/documentation.html
+++ b/doc/html/ru/documentation.html
@@ -78,7 +78,7 @@
<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="../api/index.html">API</A> для <B><TT>libFLAC</TT></B> и <B><TT>libFLAC++</TT></B> - для разработчиков, желающих использовать поддержку FLAC в своих продуктах.</LI>
<LI><A HREF="#bugs">ошибки</A> - известные ошибки.</LI>
<LI><A HREF="#monkey">как добавить поддержку FLAC в Monkey's Audio GUI</A></LI>
</UL>
@@ -160,9 +160,9 @@
<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, AIFF или в виде потока сэмплов без заголовка. <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> предполагает, что файлы RIFF WAVE имеют суффикс ".wav", а файлы формата AIFF имеют суффиксы ".aif", ".aiff" или встречен заголовок AIFF; это умолчание может быть переопределено специальным ключом. Также предполагается, что файлы с суффиком ".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>
@@ -202,73 +202,78 @@
<P>Данные в стандартный вывод можно перенаправить с помощью ключа <TT>-c</TT>.</P>
-<P>Опции кодирования влияют на скорость работы и уровень сжатия. Настройки формата определяют расположение сэмплов, если на вход поступает файл без заголовка. Если у файла есть заголовок <TT>RIFF WAVE</TT>, то настойки формата не нужны, так как они берутся из файла.</P>
+<P>Опции кодирования влияют на скорость работы и уровень сжатия. Настройки формата определяют расположение сэмплов, если на вход поступает файл без заголовка. Если у файла есть заголовок RIFF WAVE или AIFF, то настойки формата не нужны, так как они берутся из файла.</P>
<P>В режиме тестирования <B><TT>flac</TT></B> работает как и при декодировании, только выходной файл не записывается. Режимы декодирования и тестирования проверяют поток на наличие ошибок, а также сравнивают подпись MD5 декодированного потока с сохраненной подписью, даже если формат потока правильный.</P>
<H4><a name="general_options">Основные ключи</A></H4>
<TABLE border=1>
+<TR><TD WIDTH=25%><TT>-v</TT>, <TT>--version</TT></TD>
+<TD WIDTH=75%>Номер версии <B><TT>flac</TT></B>.</TD></TR>
+
+<TR><TD><TT>-h</TT>, <TT>--help</TT></TD>
+<TD>Вывести основные методы использования и список всех опций. При запуске <B><TT>flac</TT></B> без аргументов отображается краткая справка.</TD></TR>
-<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>
+<TR><TD><TT>-H</TT>, <TT>--explain</TT></TD>
<TD>Вывести справку полностью. При запуске <B><TT>flac</TT></B> без аргументов отображается краткая справка.</TD></TR>
-<TR><TD><TT>-t</TT></TD>
+<TR><TD><TT>-d</TT>, <TT>--decode</TT></TD>
+<TD>Декодирование (по умолчанию <B><TT>flac</TT></B> кодирует). <B><TT>flac</TT></B> завершит работу с кодом выхода <TT>1</TT>, если будет встречена ошибка или контрольная сумма MD5 декодированного потока не совпадет с сохраненной. Если ошибок не будет, код возврата будет равен <TT>0</TT>.</TD></TR>
+
+<TR><TD><TT>-t</TT>, <TT>--test</TT></TD>
<TD>Тестирование (то же самое, что и декодирование, только выход не записывается в файл). Коды возврата те же.</TD></TR>
-<TR><TD><TT>-a</TT></TD>
+<TR><TD><TT>-a</TT>, <TT>--analyze</TT></TD>
<TD>Анализ (то же самое, что и декодирование, только выходом является файл статистики). Коды возврата те же. Режим предназначен в основном для разработчиков. В выходной текстовый файл записывается информация о каждом фрейме и подфрейме.</TD></TR>
-<TR><TD><TT>-c</TT></TD>
+<TR><TD><TT>-c</TT>, <TT>--stdout</TT></TD>
<TD>Направить результат в стандартный вывод (stdout).</TD></TR>
-<TR><TD><TT>-s</TT></TD>
+<TR><TD><TT>-s</TT>, <TT>--silent</TT></TD>
<TD>Не показывать статистику при кодировании/декодировании.</TD></TR>
-<TR><TD><TT>-o файл</TT></TD>
+<TR><TD><TT>-o файл</TT><BR><TT>--output-name=файл</TD>
<TD>Явно указать имя выходного файла, по умолчанию <B><TT>flac</TT></B> просто заменяет суффикс.</TD></TR>
-<TR><TD><TT>--output-prefix строка</TT></TD>
+<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>
+<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=25%><TT>--residual-text</TT></TD>
+<TD width=75%>Добавляет в файл остаточный сигнал. Результирующий файл получается <B>очень большим</B>.</TD></TR>
-<TR><TD width=10%><TT>--a-rgp</TT></TD>
-<TD width=90%>Создает файлы-диаграммы для каждого подфрейма. В каждом файле будет остаточное распределение для подфрейма. Будет создано <B>очень много</B> файлов.</TD></TR>
+<TR><TD><TT>--residual-gnuplot</TT></TD>
+<TD>Создает файлы-диаграммы для каждого подфрейма. В каждом файле будет остаточное распределение для подфрейма. Будет создано <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>
+<TR><TD width=30%><TT>-F</TT>,<BR><TT>--decode-through-errors</TT></TD>
+<TD width=70%>По умолчанию <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>
+<TR><TD width=30%><TT>-V</TT></TD>
+<TD width=70%>Проверять процесс сжатия. В данном случае <B><TT>flac</TT></B> создает параллельный декодер, раскодирующий выход кодера и сравнивает результат с оригиналом. Если будет найдено несоответствие, кодирование прекратится. Время работы с этой опцией увеличивается, однако, при этом гарантируется, что файл будет правильно декодирован.</TD></TR>
+
+<TR><TD><TT>--ogg</TT></TD>
+<TD><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>--serial-number=#</TT></TD>
+<TD>При использовании с ключом --ogg определяет серийный номер для потока FLAC. При кодировании без явно указанного серийного номера, <B><TT>flac</TT></B> использует '0'. При декодировании по умолчанию используется серийный номер определенный на первой странице.</TD></TR>
+
<TR><TD><TT>--lax</TT></TD>
<TD>Позволяет кодеру создавать файлы, отвечающие подмножеству формата FLAC. В результате работы будет получаться непотоковый файл, поэтому этот ключ следует использовать только для архивирования. Декодер будет поддерживать воспроизведение и поиск в таких файлах.</TD></TR>
@@ -281,8 +286,8 @@
<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>.
+<TR><TD><TT>-S {#|X|#x}</TT>,<BR><TT>--seekpoint={#|X|#x}</TD>
+<TD>Добавляет точки для поиска в таблицу <TT>SEEKTABLE</TT>.
<UL>
<LI><TT>#&nbsp;</TT> : создается точка поиска для сэмпла с определенным номером.</LI>
@@ -298,114 +303,125 @@
<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>-P #</TT>, <TT>--padding</TT></TD>
+<TD>Кодер запишет блок метаданных <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>
+<TR><TD><TT>-b #</TT>, <TT>--blocksize</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>
+<TR><TD><TT>-m</TT>, <TT>--mid-side</TT></TD>
<TD>Включает разностное кодирование (только для стерео потоков). Обычно увеличивает уровень сжатия на несколько процентов. Для каждого блока создается усредненная и стерео версия блока, сохраняется блок меньшего размера. Сейчас разностное кодирование доступно для файлов, где сэмпл имеет размер не больше 16 бит.</TD></TR>
-<TR><TD><TT>-M</TT></TD>
-<TD>Включает свободное разностное кодирование (только для стерео потоков). Работает аналогично <TT>-m</TT>, однако кодер переключается между независимым и усредняющим кодированием адаптивно. Метод работает быстрее, но уровень сжатия меньше, так как <TT>-m</TT> производит полный перебор вариантов.</TD></TR>
+<TR><TD><TT>-M</TT>, <TT>--adaptive-mid-side</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>
+<TR><TD><TT>-0</TT>, <TT>--compression-level-0</TT></TD>
<TD>Аналогично <TT>-l 0 -b 1152 -r 2,2</TT>.</TD></TR>
-<TR><TD><TT>-1</TT></TD>
+<TR><TD><TT>-1</TT>, <TT>--compression-level-1</TT></TD>
<TD>Аналогично <TT>-l 0 -b 1152 -r 2,2 -M</TT>.</TD></TR>
-<TR><TD><TT>-2</TT></TD>
+<TR><TD><TT>-2</TT>, <TT>--compression-level-2</TT></TD>
<TD>Аналогично <TT>-l 0 -b 1152 -r 3 -m</TT>.</TD></TR>
-<TR><TD><TT>-3</TT></TD>
+<TR><TD><TT>-3</TT>, <TT>--compression-level-3</TT></TD>
<TD>Аналогично <TT>-l 6 -b 4608 -r 3,3</TD></TR>
-<TR><TD><TT>-4</TT></TD>
+<TR><TD><TT>-4</TT>, <TT>--compression-level-4</TT></TD>
<TD>Аналогично <TT>-l 8 -b 4608 -r 3,3 -M</TT>.</TD></TR>
-<TR><TD><TT>-5</TT></TD>
+<TR><TD><TT>-5</TT>, <TT>--compression-level-5</TT></TD>
<TD>Аналогично <TT>-l 8 -b 4608 -r 3,3 -m</TT>.</TD></TR>
-<TR><TD><TT>-6</TT></TD>
+<TR><TD><TT>-6</TT>, <TT>--compression-level-6</TT></TD>
<TD>Аналогично <TT>-l 8 -b 4608 -r 4 -m</TT>.</TD></TR>
-<TR><TD><TT>-7</TT></TD>
+<TR><TD><TT>-7</TT>, <TT>--compression-level-7</TT></TD>
<TD>Аналогично <TT>-l 8 -b 4608 -r 6 -m -e</TT>.</TD></TR>
-<TR><TD><TT>-8</TT></TD>
+<TR><TD><TT>-8</TT>, <TT>--compression-level-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>
+<TR><TD><TT>-e</TT>,<BR><TT>--exhaustive-model-search</TT></TD>
<TD>Полный поиск модели (работает медленно!). Обычно кодер определяет лучшую модель и кодирует далее опираясь на нее. В данном режиме кодер будет создавать подфреймы всех порядков и использовать наименьший. Если максимальное значение порядка LPC велико, время кодирования существенно возрастет. Выигрыш обычно составляет около 0.5%.</TD></TR>
-<TR><TD><TT>-E</TT></TD>
+<TR><TD><TT>-E</TT>,<BR><TT>--escape-coding</TT></TD>
<TD>Использовать управляющие коды в кодере энтропии. Эта опция позволяет записывать незакодированное представление остатка в разделе, если его размер меньше. При этом время работы увеличивается, а уровень сжатия обычно улучшается примерно на 1%.</TD></TR>
-<TR><TD><TT>-l #</TT></TD>
+<TR><TD><TT>-l #</TT>,<BR><TT>--max-lpc-order=#</TT></TD>
<TD>Определяет максимальный порядок LPC (коэффициентов линейного прогнозирования). Число должно быть меньше или равно <TT>32</TT>. Если значение равно <TT>0</TT>, кодер будет использовать вместо общего линейного прогнозирования постоянные коэффициенты. Этот метод увеличивает скорость работы, но файлы получаются на 5-10% больше.</TD></TR>
-<TR><TD><TT>-q #</TT></TD>
+<TR><TD><TT>-q #</TT>,<BR><TT>--qlp-coeff-precision=#</TD>
<TD>Определяет точность дискретных коэффициентов линейного прогнозирования в битах. По умолчанию <TT>-q 0</TT>, что позволяет кодеру принимать решение в зависимости от сигнала. Лучше оставлять значение по умолчанию.</TD></TR>
-<TR><TD><TT>-p</TT></TD>
+<TR><TD><TT>-p</TT>,<BR><TT>--qlp-coeff-precision-search</TT></TD>
<TD>Производить оптимизацию LPC. Переопределяет любую опцию <TT>-q</TT>. Сильно замедляет работу, и уменьшает размер файла на долю процента. <TT>-q</TT> не работает, когда используется <TT>-l 0</TT>.</TD></TR>
-<TR><TD><TT>-r [#,]#</TT></TD>
+<TR><TD><TT>-r [#,]#</TT>,<BR><TT>--rice-partition-order=[#,]#</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>&nbsp;</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=30%><TT>--endian={big|little}</TT></TD>
+<TD width=70%>Определяет порядок байтов в файле без заголовка big-endian | little-endian.</TD></TR>
-<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>
+<TR><TD><TT>--channels=#</TT></TD>
<TD>Определяет количество каналов в файле без заголовка.</TD></TR>
-<TR><TD><TT>-fp n</TT></TD>
+<TR><TD><TT>--bps=#</TT></TD>
<TD>Определяет количество бит на сэмпл в файле без заголовка.</TD></TR>
-<TR><TD><TT>-fs n</TT></TD>
+<TR><TD><TT>--sample-rate=#</TT></TD>
<TD>Определяет количество сэмплов в секунду в файле без заголовка.</TD></TR>
-<TR><TD><TT>-fu</TT></TD>
-<TD>Указывает, что сэмплы в файле без заголовка беззнаковые (по умолчанию знаковые).</TD></TR>
+<TR><TD><TT>--sign={signed|unsigned}</TT></TD>
+<TD>Определяет, должны ли быть сэмплы в файле без заголовка беззнаковые или знаковые (по умолчанию знаковые).</TD></TR>
-<TR><TD><TT>-fr</TT></TD>
-<TD>Воспринимать входной (или выходной при декодировании) файл как raw поток сэмплов вне зависимости от суффикса.</TD></TR>
+<TR><TD><TT>--force-raw-format</TT></TD>
+<TD>Воспринимать входной (или выходной при декодировании) файл как поток сэмплов без заголовка вне зависимости от суффикса.</TD></TR>
</TABLE>
-<A NAME="metaflac">
-<H3><B><TT>metaflac</TT></B></H3>
-
-<P><B><TT>metaflac</TT></B> - это редактор метаданных, работающий из командной строки. Сейчас он только выводит содержимое блоков метаданных во .flac файле, но скоро с его помощью можно будет вставлять, удалять и редактировать блоки.</P>
+<H4><a name="format-options">Отмена действия опций</H4>
+<TABLE border=1>
+<TR><TD width=40%>
+<TT>--no-adaptive-mid-side</TT><BR>
+<TT>--no-decode-through-errors</TT><BR>
+<TT>--no-delete-input-file</TT><BR>
+<TT>--no-escape-coding</TT><BR>
+<TT>--no-exhaustive-model-search</TT><BR>
+<TT>--no-lax</TT><BR>
+<TT>--no-mid-side</TT><BR>
+<TT>--no-ogg</TT><BR>
+<TT>--no-padding</TT><BR>
+<TT>--no-qlp-coeff-precision-search</TT><BR>
+<TT>--no-residual-gnuplot</TT><BR>
+<TT>--no-residual-text</TT><BR>
+<TT>--no-sector-align</TT><BR>
+<TT>--no-seektable</TT><BR>
+<TT>--no-silent</TT><BR>
+<TT>--no-verify</TT></TD>
+<TD width=60%>Можно использовать для отключения действия конкретной опции.</TD></TR>
+</TABLE>
-<P>Cейчас <B><TT>metaflac</TT></B> вызывается только одним способом:</P>
-<P><TT>metaflac [-v] входной_файл</TT></P>
+<A NAME="metaflac">
+<H3><B><TT>metaflac</TT></B></H3>
-<P>Входным_файлом может быть "-" для стандартного ввода (stdin). если использовать <TT>-v</TT>, будет получен более подробный отчет.</P>
+<P><B><TT>metaflac</TT></B> - это редактор метаданных, работающий из командной строки. Его можно использовать для удаления, вставки и вывода содержимого блоков во .flac файле, а также управления блоком<TT>PADDING</TT>, резервирующим место.</P>
+<P>Документация для <B><TT>metaflac</TT></B> сейчас переписывается, поэтому сейчас о возможностях можно узнать, дав команду: <TT>metaflac --help</TT>.
<A NAME="plugins"><A NAME="xmms_plugin">
<H3>Плагин для XMMS</H3>
@@ -414,184 +430,19 @@
<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> (количество каналов) - должно быть &lt;= <TT>FLAC__MAX_CHANNELS</TT>.</LI>
-
- <LI><B><TT>bits_per_sample</TT></B> - количество битов на сэмпл.</LI>
-
- <LI><B><TT>sample_rate</TT></B> (частота дискретизации) - должно быть &lt;= <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, а только постоянные предикторы. Должно быть &lt;= <TT>FLAC__MAX_LPC_ORDER</TT>.</LI>
-
- <LI><B><TT>qlp_coeff_precision</TT></B> - должно быть &gt;= <TT>FLAC__MIN_QLP_COEFF_PRECISION</TT>, или <TT>0</TT>, чтобы кодер мог выбирать коэффициенты в зависимости от размера блока. В текущей реализации сумма <TT>qlp_coeff_precision</TT>+<TT>bits_per_sample</TT> должна быть &lt; <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>, чтобы оценивать параметр Райса основываясь на дисперсии остатков; &gt; <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> непосредственно производит обратный вызов для записи сигнатуры &quot;fLaC&quot; и всех определенных на данный момент метаданных.</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>
+<P>Есть два плагина для Winamp: один для версий 2.x, а второй для 3.x. Если вы используете Winamp 3.x, то для установки плагина необходимо скопировать <TT>cnv_flacpcm.wac</TT> в каталог, где находятся плагины ввода Winamp (обычно <TT>/Wacs</TT>). Больше ничего настраивать не надо. Для воспроизведения .flac файлов перезапустите Winamp.</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>
@@ -611,7 +462,7 @@
</UL>
</P>
-<P>Если вам нравится использовать оболочку Monkey's Audio GUI для получения файлов FLAC, попросите <A HREF="mailto:email@monkeysaudio.com">Мэта</A> (автора) добавить официальную поддержку FLAC! Другие оболочки можно использовать аналогичным образом. Если вы заитересованы в использовании какой-либо, пишите в список рассылки flac-dev.</P>
+<P>Другие оболочки можно использовать примерно таким же способом.</P>
<P>&nbsp;Copyright (c) 2000,2001,2002 Josh Coalson</P>
diff --git a/doc/html/ru/format.html b/doc/html/ru/format.html
index e5f6f0b4..b95d40a7 100644
--- a/doc/html/ru/format.html
+++ b/doc/html/ru/format.html
@@ -80,7 +80,7 @@
<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://www-svr.eng.cam.ac.uk/reports/abstracts/robinson_tr156.html">Э. Робинсону</A> за работу над Shorten. Его статья послужила отправной точкой для нескольких основных методов, заложенных во FLAC. FLAC развил идею постоянных предикторов, используемую в Shorten.</LI>
<LI><A HREF="http://commsci.usc.edu/faculty/golomb.html">С. Голомбу</A> и Роберту Райсу. Их универсальные коды используются кодером энтропии.</LI>
@@ -237,11 +237,9 @@
<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-0101 или 1000-1110. Поток должен состоять из блоков одинакового небольшого размера (за исключением последнего), а в блоке метаданных <TT>STREAMINFO</TT> должны быть указаны равные значения для минимального и максимального размера блока.</LI>
<LI>Частота дискретизации в заголовке фрейма должна описываться следующим диапазоном битов 0001-1011.</LI>
+ <LI>Количество бит на сэмпл в заголовке фрейма должно описываться следующим диапазоном битов 001-111.</LI>
</UL>
</BLOCKQUOTE></P>
@@ -492,11 +490,9 @@
</UL>
</TD>
</TR>
-
-
</TABLE></P>
-
-
+
+
<P><TABLE WIDTH="100%" BORDER="1">
<TR>
@@ -505,13 +501,9 @@
<TR>
<TD VALIGN="TOP">&lt;n&gt;</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>
+ <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">
@@ -536,8 +528,7 @@
<TR>
<TD VALIGN="TOP"><A HREF="format.html#frame_footer"><TT>ЗАВЕРШЕНИЕ_ФРЕЙМА</TT></A></TD>
- <TD>&nbsp;</TD>
-</TR>
+ <TD>&nbsp;</TD>1</TR>
</TABLE></P>
diff --git a/doc/html/ru/index.html b/doc/html/ru/index.html
index 4504a69a..58954953 100644
--- a/doc/html/ru/index.html
+++ b/doc/html/ru/index.html
@@ -71,9 +71,11 @@
<H3>Статус</H3>
-<P>13 февраля 2002: аппаратная реализация FLAC</P>
+<P>11 сентября 2002: FLAC 1.0.4 бета</P>
-<P><A HREF="http://www.phatnoise.com/">Phatnoise</A> стала первой коммерческой аппаратной платформой, поддерживающей FLAC. Для воспроизведения FLAC файлов плейером Phatbox выпущена прошивка. Подробнее об этом на странице <A HREF="http://phatbox.sixpak.org/">Phatbox</A>.</P>
+<P>Поддержка FLAC была добавлена в Rio Receiver и Dell Digital Audio Receiver; <A HREF="http://rioreceiver.comms.net/php/showflat.php?Cat=&Board=Technical&Number=2262&page=0&view=collapsed&sb=5&o=0&fpart=">здесь</A> все описано подробнее.</P>
+
+<P>Осталось совсем немного до выхода FLAC 1.0.4.</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>
@@ -83,16 +85,16 @@
<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>потоковый формат;</LI>
+ <LI><B><TT>libFLAC</TT></B>, библиотеку для базовых кодеров и декодеров и интерфейса метаданных;</LI>
+ <LI><B><TT>libFLAC++</TT></B>, объектную оболочку для <TT>libFLAC</TT>;</LI>
+ <LI><B><TT>libOggFLAC</TT></B> и <B><TT>libOggFLAC++</TT></B>, обертки кодеров и декодеров <TT>libFLAC</TT> и <TT>libFLAC++</TT>, соответственно, для доступа к потокам FLAC в контейнере Ogg;</LI>
+ <LI><B><TT>flac</TT></B>, утилиту командной строки, выполняющую сжатие и распаковку файлов .flac;</LI>
+ <LI><B><TT>metaflac</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>"Свобода" означает, что спецификация потокового формата относится к категории public domain (проект FLAC оставляет за собой право устанавливать спецификации и сертифицировать относящиеся к нему продукты на совместимость), а также то, что ни формат, ни один из реализованных методов кодирования/декодирования не запатентованы. Это также значит, что исходные тексты для библиотек доступны по лицензии <A HREF="http://www.opensource.org/licenses/lgpl-license.html">LGPL</A>, а утилит <B><TT>flac</TT></B>, <B><TT>metaflac</TT></B> и плагинов - по <A HREF="http://www.opensource.org/licenses/gpl-license.html">GPL</A>.</P>
<P>FLAC компилируется на множестве платформ: Unixes (Linux, *BSD, Solaris, OS X), Windows, BeOS и OS/2. Имеются системы сборки для autoconf/automake, MSVC, Watcom C и Project Builder.</P>
diff --git a/doc/html/ru/links.html b/doc/html/ru/links.html
index dff2b545..4a6bf4bb 100644
--- a/doc/html/ru/links.html
+++ b/doc/html/ru/links.html
@@ -71,51 +71,47 @@
<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>Аппаратура, поддерживающая 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>
+<LI><A HREF="http://www.sonicblue.com/audio/rio/rio_receiver.asp">Rio Reciever</A> и Dell Digital Audio Receiver с помощью клиента <A HREF="http://sourceforge.net/projects/rioplay/">RioPlay</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>
+<P>Программы, использующие FLAC:</P>
+<P><BLOCKQUOTE><UL>
+<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://www.gstreamer.net/">GStreamer</A> система для потоковой передачи медиа-файлов</LI>
+<LI><A HREF="http://jreceiver.sourceforge.net/">JReceiver</A> аудио-сервер, использующий технологию сервлетов</LI>
+<LI><A HREF="http://www.danrules.com/macflac/">MacFLAC</A> дистрибутив для Mac OS X</LI>
<LI><A HREF="http://mediaxw.sourceforge.net/">MediaXW</A> включает фильтр FLAC DirectShow</LI>
-
+<LI><A HREF="http://ptarmigan.sourceforge.net/">Ptarmigan</A> анализатор медиафайлов для XML</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://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://shnutils.etree.org/shntool/">shntool</A></LI>
<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>
+<LI><A HREF="http://www.lameb.fsnet.co.uk/">Split_wav</A> WAV+CUE splitter</A></LI>
+<LI><A HREF="http://www.saunalahti.fi/~cse/html/tag.html">Tag</A> редактор тегов (доступна <A HREF="http://home.wanadoo.nl/~w.speek/tag.htm">графическая оболочка</A>)</LI>
</UL></BLOCKQUOTE></P>
+<P>Сообщества, использующие FLAC:</P>
+<P><BLOCKQUOTE></UL>
+<LI><A HREF="http://wiki.etree.org/">etree.org</A></LI>
+</UL></BLOCKQUOTE></P>
+
+
<P>&nbsp;Copyright (c) 2001,2002 Josh Coalson</P>
</BODY>
diff --git a/doc/html/ru/news.html b/doc/html/ru/news.html
index b8d0bdd4..694ba7b4 100644
--- a/doc/html/ru/news.html
+++ b/doc/html/ru/news.html
@@ -68,6 +68,61 @@
<CENTER><H2>FLAC: новости</H2></CENTER>
+<P><LI><B>10.09.2002</B><BR>
+Вышла версия <B>FLAC 1.0.4</B>, в которой сделано большое количество улучшений:</P>
+
+<P><BLOCKQUOTE><UL>
+<LI>Плагины:</LI>
+
+<UL>
+
+ <LI>Поддержка комментариев Vorbis, ID3 v1 и v2.</LI>
+ <LI>Конфигуруемое форматирование заголовка и преобразование кодировок в плагине для XMMS.</LI>
+ <LI>Поддержка 8- и 24-битных файлов. На стадии компиляции можно выбрать либо 24-битный вывод, либо линейное преобразование к 16-битному выводу (по умолчанию).</LI>
+</UL>
+
+<LI><B><TT>flac</TT></B></LI>
+
+<UL>
+ <LI>Улучшен анализ опций командной строки (с помощью getopt).</LI>
+ <LI>Поддержка формата AIFF (спасибо Брэди Паттерсону).</LI>
+ <LI>Небольшое увеличение скорости работы декодера.</LI>
+ <LI><TT>--sector-align</TT> теперь поддерживает в качестве ввода файлы без заголовка.</LI>
+ <LI>Новая опция <TT>--serial-number</LI>, которая может использоваться вместе с ключом <TT>--ogg</TT>.</LI>
+ <LI>Автоматически записывается информация о кодере в комментарии Vorbis.</LI>
+ <LI>Значительно уменьшены требования к памяти.</LI>
+ <LI>Исправлена ошибка, из-за которой неподдерживаемые дополнительные теги формата RIFF WAVE не пропускались.</LI>
+ <LI>Исправлена ошибка с определением значения granulepos в потоках Ogg FLAC.</LI>
+ <LI>Исправлена утечка памяти при кодировании нескольких файлов с опцией <TT>-V</TT>.</LI>
+</UL>
+
+<LI><B><TT>metaflac</TT></B></LI>
+<UL>
+ <LI>Поддержка UTF-8 в комментариях Vorbis.</LI>
+ <LI>Новые команды <TT>--import-vc-from</TT> и <TT>--export-vc-to commands</TT> для импорта/экспорта комментариев Vorbis. Например, так можно скопировать тег из файла и записать в него:<BR>
+ <TT>metaflac --export-vc-to=- --no-utf8-convert file.flac | vorbiscomment --raw -w -c file.ogg<BR>vorbiscomment -l --raw file.ogg | metaflac --import-vc-from=- --no-utf8-convert file.flac</TT></LI>
+ <LI>Исправлена ошибка, возникавшая при обработке файлов, доступных только для чтения</LI>
+</UL>
+
+<LI>Библиотеки:</LI>
+
+<UL>
+ <LI>Все API теперь докуметируются с помощью cbcntvs Doxygen. См. <A HREF="../api/index.html">здесь</A>.</LI>
+ <LI>Новые библиотеки libOggFLAC и libOggFLAC++, которые являются оболочками для libFLAC и libFLAC++, для кодирования и декодирования потоков Ogg FLAC.</LI>
+ <LI>Новые <TT>FLAC__SeekableStreamEncoder</TT> и <TT>FLAC__FileEncoder</TT> из библиотеки libFLAC упрощают основные задачи, возникающие при кодировании.</LI>
+ <LI>Новый режим проверки во всех кодерах.</LI>
+ <LI>Значительно уменьшено количество памяти, требуемой для кодеров и декодеров.</LI>
+ <LI>Кодер автоматически записывает информацию в блок <TT>VORBIS_COMMENT</TT>.</LI>
+ <LI>Увеличена скорость вычисления MD5 для 16-битных моно- и стереосигналов на архитектуре x86 (спасибо Мирославу Личвару).</LI>
+ <LI>Исправлена ошибка в интерфейсе метаданных, из-за которой информация о количестве битов на сэмпл в блоке STREAMINFO считывалась неверно.</LI>
+ <LI>Исправлена ошибка, из-за которой декодер мог войти в бесконечный цикл при обрыве потока.</LI>
+</UL>
+
+</UL></BLOCKQUOTE></P>
+
+<P><LI><B>22.08.2002</B><BR>
+Поддержка FLAC была добавлена в Rio Receiver и Dell Digital Audio Receiver с помощью клиента <A HREF="http://sourceforge.net/projects/rioplay/">RioPlay</A> Дэвида Флауердэя. См. <A HREF="http://rioreceiver.comms.net/php/showflat.php?Cat=&Board=Technical&Number=2262&page=0&view=collapsed&sb=5&o=0&fpart=">анонс полностью</A>.</P>
+
<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>
@@ -99,7 +154,7 @@
<UL>
<LI>
-Добавлен уровень SeekableStreamDecoder между StreamDecoder и FileDecoder. С его помощью удобнее использовать библиотеку <TT>libFLAC</TT> в ситуациях, когда неодостачно информации о декодируемом файле. Болле подробно все описано в разделе <A HREF="documentation.html#libflac">документация</A>. Интерфейс для StreamDecoder и FileDecoder остался прежним и, соответственно, сохранилась бинарная совместимость с libFLAC 1.0.</LI>
+Добавлен уровень SeekableStreamDecoder между StreamDecoder и FileDecoder. С его помощью удобнее использовать библиотеку <TT>libFLAC</TT> в ситуациях, когда неодостачно информации о декодируемом файле. Болле подробно все описано в разделе <A HREF="../api/index.html">документация</A>. Интерфейс для StreamDecoder и FileDecoder остался прежним и, соответственно, сохранилась бинарная совместимость с libFLAC 1.0.</LI>
<LI>Уменьшен размер стека необходимый кодеру.</LI>
</UL>