| | начало | | | новости | | | файлы | | | характеристики | | | цели | | | формат | | |
| | id | | | сравнение | | | разработка | | | документация | | | ссылки | | | авторы | | |
| | english | | | русский | | |
Обратите внимание на то, что был увеличен младший номер версии, а значит совместимость снизу вверх была нарушена (т.е. более ранние версии декодеров не смогут воспроизводить файлы созданные более поздними версиями кодера). Это произошло из-за ошибки в декодерах в версиях до 1.0.4 включительно, из-за которой декодеры неправильно пропускали неизвестные блоки метаданных. Потоковый формат не изменился, поэтому обратная совместимость не нарушена. Это значит, что файл FLAC со списком разбиения аудиодиска не будет декодироваться версиями до 1.1.0, в которой была исправлена упомянутая выше ошибка.
Список изменений:
- Основное:
- Весь код проверен программой Valgrind!
- Новый блок метаданных CUESHEET для хранения содержания CD и информации об индексных точках. Теперь аудиодиск может быть полностью сохранен в один файл.
- Поддержка ReplayGain.
- Улучшен уровень сжатия для 24-битных файлов.
- Более полная поддержка формата AIFF.
- Оптимизация для 3DNow! теперь включена по умолчанию.
- Полная система сборки для MSVC с файлом проекта .dsp, с помощью которой можно создать статитеские и динамические библиотеки в режиме отладки или релиза.
- flac:
- Может декодировать FLAC в AIFF; новый ключ --force-aiff-format.
- Новая возможность --cuesheet позволяет читать и сохранять списки разбиения аудиодиска при кодирования диска полностью. Автоматически создаются точки поиска для треков и индексные точки, кроме тех случаев, когда используется ключ --no-cued-seekpoints.
- Новая опция --replay-gain для вычисления и сохранения значений ReplayGain.
- Новая опция --until дополняет --skip для остановки декодирования в определенном месте потока.
- --skip и --until могут получать значения в формате мм:сс.сс.
- Новый ключ -S #s указывает, что точки для поиска нужно расставлять с интервалом в '#' секунд.
- flac создает таблицу поиска по умолчанию параметром -S 10s вместо -S 100x.
- flac добавляет блок PADDING размером 4Кб по умолчанию (отключается опцией --no-padding).
- Исправлена ошибка с ключом --skip и кодированием из AIFF в FLAC.
- Исправлена ошибка, приводящая к порче заголовка WAVE файла, создаваемого при декодировании файла FLAC, у которого в блоке STREAMINFO было значение total_samples==0.
- metaflac:
- Новый ключ --import-cuesheet-from для чтения и сохранения списка разметки аудиодиска при кодирования диска полностью. Также автоматически создаются точки поиска для трека и индексные точки, кроме тех случаев, когда используется ключ --no-cued-seekpoints.
- Новый ключ --export-cuesheet-to для записи списка разметки аудиодиска из файла FLAC.
- Новый ключ --add-replay-gain для вычисления значений ReplayGain и сохранения их в виде тегов.
- Новый ключ --add-seekpoint для добавления точек поиска в существующий файл FLAC.
- Плагин для XMMS:
- Настраиваемое проебразование частоты дискретизации со сглаживанием сигнала.
- Поддержка ReplayGain для настройки ограничения шума, предварительного усиления и опционального жесткого ограничителя.
- Новый редактор комментариев Vorbis.
- Работает окно информации о файле.
- Используется тег ARTIST, если нет тега PERFORMER.
- Библиотеки (для разработчиков):
- Весь код и тесты отлажены для Valgrind. Все тесты прошли проверку Valgrind, а это значит, что в программе нет утечек памяти или переполнений буфера.
- Процедура FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT) теперь записывает информацию о кодере.
- Плагины:
- Поддержка комментариев Vorbis, ID3 v1 и v2.
- Конфигуруемое форматирование заголовка и преобразование кодировок в плагине для XMMS.
- Поддержка 8- и 24-битных файлов. На стадии компиляции можно выбрать либо 24-битный вывод, либо линейное преобразование к 16-битному выводу (по умолчанию).
- flac
- Улучшен анализ опций командной строки (с помощью getopt).
- Поддержка формата AIFF (спасибо Брэди Паттерсону).
- Небольшое увеличение скорости работы декодера.
- --sector-align теперь поддерживает в качестве ввода файлы без заголовка.
- Новая опция -T, --tag для добавления комментариев Vorbis при кодировании.
- Новая опция --serial-number, которая может использоваться вместе с ключом --ogg.
- Автоматически записывается информация о кодере в комментарии Vorbis.
- Значительно уменьшены требования к памяти.
- Исправлена ошибка, из-за которой неподдерживаемые дополнительные теги формата RIFF WAVE не пропускались.
- Исправлена ошибка с определением значения granulepos в потоках Ogg FLAC.
- Исправлена утечка памяти при кодировании нескольких файлов с опцией -V.
- metaflac
- Поддержка UTF-8 в комментариях Vorbis.
- Новые команды --import-vc-from и --export-vc-to commands для импорта/экспорта комментариев Vorbis. Например, так можно скопировать тег из файла и записать в него:
$ metaflac --export-vc-to=- --no-utf8-convert file.flac | vorbiscomment --raw -w file.ogg
$ vorbiscomment --raw -l file.ogg | metaflac --import-vc-from=- --no-utf8-convert file.flac- Исправлена ошибка, возникавшая при обработке файлов, доступных только для чтения
- Библиотеки:
- Все API теперь докуметируются с помощью cbcntvs Doxygen. См. здесь.
- Новые библиотеки libOggFLAC и libOggFLAC++, которые являются оболочками для libFLAC и libFLAC++, для кодирования и декодирования потоков Ogg FLAC.
- Новые FLAC__SeekableStreamEncoder и FLAC__FileEncoder из библиотеки libFLAC упрощают основные задачи, возникающие при кодировании.
- Новый режим проверки во всех кодерах.
- Значительно уменьшено количество памяти, требуемой для кодеров и декодеров.
- Кодер автоматически записывает информацию в блок VORBIS_COMMENT.
- Увеличена скорость кодирования с постоянными предикторами, а также скорость вычисления MD5 для 16-битных моно- и стереосигналов на архитектуре x86 (спасибо Мирославу Личвару).
- Исправлена ошибка в интерфейсе метаданных, из-за которой информация о количестве битов на сэмпл в блоке STREAMINFO считывалась неверно.
- Исправлена ошибка, из-за которой декодер мог войти в бесконечный цикл при обрыве потока.
- Новые возможности для пользователей:
- Поддержка Ogg-FLAC, т.е. flac теперь может читать и создавать потоки с использованием транспортного уровня Ogg.
- Новый плагин для Winamp 3, основанный на Wasabi Beta 1 SDK.
- Новые утилиты для поддержки FLAC в Monkey Audio GUI; см. описание.
- Поддержка Mac OS X. В разделе файлы теперь есть скомпилированная версия для OS X.
- Поддержка Mingw32.
- Улучшена обработка специфичных для MS 'fmt' заголовков файлов WAVE.
- Новые возможности для разработчиков:
- Добавлен уровень SeekableStreamDecoder между StreamDecoder и FileDecoder. С его помощью удобнее использовать библиотеку libFLAC в ситуациях, когда неодостачно информации о декодируемом файле. Болле подробно все описано в разделе документация. Интерфейс для StreamDecoder и FileDecoder остался прежним и, соответственно, сохранилась бинарная совместимость с libFLAC 1.0.
- Уменьшен размер стека необходимый кодеру.
- Исправленные ошибки:
- Существенная ошибка при кодировании raw ввода, приводящая к добавлению 12 лишних сэмплов к получаемому файлу. Кодирование из WAVE файлов работало правильно.
- Ошибка в libFLAC, связанная с установкой имени файла в stdin в декодере файлов.
- Ошибка в libFLAC, возникающая при множественных вызовах для установки имени файла и приводящая к утечке памяти.
- metaflac правильно пропускает тег id3v2.
- metaflac правильно пропускает большие блоки метаданных.
- Новая опция '--sector-align' позволяет выравнивать группу кодируемых аудиофайлов на границу сектора в формате Audio-CD.
- Новая опция '--output-prefix' добавляет префикс ко всем выходным именам файлов (полезно, например, для сохранения результатов работы в другой каталог).
- Улучшенное автоопределение WAVE (больше не полагается на ungetc()).
- Более понятная статистика при кодировании/декодировании.
- Изменения в интерефейсе библиотеки libFLAC для более простой поддержки бинарной совместимости в будущем.
- Новая опция '
- --sse-os
' в конфигурационном скрипте для использования более быстрых процедур, основанных на SSE.
- Скорость работы кодера и декодера значительно возросла. Основные процедуры написаны на ассемблере для IA-32.
- Добавлен блок метаданных SEEKTABLE, содержащий информацию, позволяющую ускорить значительно ускорить поиск в потоке.
- Модель поведения flac теперь аналогична gzip.
- Опции -# настроены для получения наилучшего соотношения уровень/время сжатия. По умолчению установлено значение -5.
- Неподдерживаемые блоки в WAVE-файле теперь пропускаются с предупреждением.
- Добавлена опция --delete-input-file, позволяющая удалять входной файл после удачного кодирования/декодирования.
- Изменен плагин для XMMS, чтобы нормально работала визуализация.
- Исправлена ошибка, возникающая в потоковом декодере после поиска.
Copyright (c) 2000,2001,2002,2003,2004 Josh Coalson