AC3Filter ver 0.55b

SourceForge Logo
English version
Download: server1 sourceforge


AC3Filter - это DirectShow фильтр для декодирования AC3. Возможность воспроизведения .AVI с аудио-треками в формате AC3 и MPEG2 (DVD). Распространяется абсолютно бесплатно, то есть - даром (FREEWARE).

Основные особенности:



Содержание



Скачать.

Новые версии программы можно найти на сайте:
http://ac3filter.sourceforge.net
http://xvalex.hotbox.ru/programs/ac3filter

Если вы хотите получать рассылку с объявлениями о новых версиях то подписаться можно послав пустое письмо по адресу:
mailto:ac3filter_news-subscribe@yahoogroups.com

Все версии:
http://sourceforge.net/projects/ac3filter/

ac3filter ver 0.54b
server1:
http://xvalex.hotbox.ru/download/ac3filter_0_55b.zip - binary
http://xvalex.hotbox.ru/download/ac3filter_0_55b_src.zip - sources

ac3filter ver 0.54b
server1:
http://ac3filter.sourceforge.net/download/ac3filter_0_54b.zip - binary
http://ac3filter.sourceforge.net/download/ac3filter_0_54b_src.zip - sources
server2:
http://xvalex.hotbox.ru/download/ac3filter_0_54b.zip - binary
http://xvalex.hotbox.ru/download/ac3filter_0_54b_src.zip - sources

ac3filter ver 0.53b
server1:
http://ac3filter.sourceforge.net/download/ac3filter_0_53b.zip - binary
http://ac3filter.sourceforge.net/download/ac3filter_0_53b_debug.zip - debug version
http://ac3filter.sourceforge.net/download/ac3filter_0_53b_src.zip - sources
server2:
http://xvalex.hotbox.ru/download/ac3filter_0_53b.zip - binary
http://xvalex.hotbox.ru/download/ac3filter_0_53b_debug.zip - debug version
http://xvalex.hotbox.ru/download/ac3filter_0_53b_src.zip - sources

ac3filter ver 0.52b
server1:
http://ac3filter.sourceforge.net/download/ac3filter_0_52b.zip
server2:
http://xvalex.hotbox.ru/download/ac3filter_0_52b.zip

ac3filter ver 0.51b
server1:
http://ac3filter.sourceforge.net/download/ac3filter_0_51b.zip
server2:
http://xvalex.hotbox.ru/download/ac3filter_0_51b.zip

ac3filter ver 0.5b
server1:
http://ac3filter.sourceforge.net/download/ac3filter_0_5b.zip
server2:
http://xvalex.hotbox.ru/download/ac3filter_0_5b.zip

ac3filter ver 0.3a
server1:
http://ac3filter.sourceforge.net/download/ac3filter_0_3a.zip
server2:
http://xvalex.hotbox.ru/download/ac3filter_0_3a.zip



Установка.

Коммандный файл установки - install.bat.

Установка из командной строки:
Зарегистрировать фильтр:
x:\somedir\> regsvr32 ac3filter.ax
Импортировать файл пресетов preset.reg в реестр (см. также раздел Реестр).

Далее может потребоваться настроить конфигурацию колонок (см. раздел Конфигурация колонок).



Удаление.

Коммандный файл для деинсталляции uninstall.bat.

Деисталляция из командной строки:
x:\somedir\> regsvr32 ac3filter.ax /u
Если требуется очистить реестр он сохраненных настроек, то импортировать файл uninstall.reg (см. также раздел Реестр).



Использование.

Фильтр декодирует потоки ac3 полученные из .avi или mpeg2 файлов. Если все нормально, то при открытии файла фильтр должен появиться в списке используемых фильтров. Так, для Windows Media Player 6.4 он вызывается через меню File->Properties->Advanced:



Первым в этом списке фильтров и находится ac3filter. Выбрав его можно открыть окно свойств:



Основные настройки (Main)

* Информация о потоке (Bitstream information).

Слева сверху - информация о потоке (bitstream information, BSI).

* Переключение конфигурации колонок (Output speakers).

Слева снизу - настройка выходной конфигурации колонок. Это - реально присутствующие колонки, куда будут микшироваться. каналы ac3-потока. Чекбокс 'Subwoofer' - означает наличие отдельного сабвуфера (канала .1). При его наличии на него направляется канал LFE, при отсутствии - LFE микшируется в передние колонки.

Чекбокс 'SPDIF' - означает, что поток ac3 будет передаваться непосредственно на цифровой выход аудиокарты (без изменений). То есть все остальные настройки не будут действовать.

Необходимо отметить, что переключение режима колонок возможно далеко не всегда. Во-первых проигрывание файла должно быть остановлено (не пауза). А во вторых в некоторых случаях переключение колонок непосредственно из фильтра невозбожно вообще (за подробностями обращайтесь к разделу Конфигурация колонок).

* Уровни усиления (Gains).

Снизу посередине находятся уровни усиления.
Master и Gain отвечают за общий уровень усиления. Master устанавливает желаемый уровень усиления. Если уровень усиления слишком высок и происходит переполнение, то текущий уровень усиления уменьшается. Текущий уровень усиления отображает Gain.

* Сжатие динамического диапазона (DRC).

По сути, ac3 - логарифмический формат, сэмплы хранятся в формате экспоненты и мантиссы. В пересчете на нормальную битность один сэмпл может занимать до 40бит (чисто теоретически) или до 24бит (норма), что обеспечивает огромный динамический диапазон (хотя, как любил говорить великий дедушка Эйнштейн - все хорошее в этом мире относительно :-). Это означает, что тихая запись с низким уровнем при воспроизведении на 16-битной звуковой карте будет совершенно не слышна или воспроизводиться с очень низким абсолютным уровнем сигнала (=> большими искажениями). Для решения этой проблемы в ac3 существует понятие сжатия динамического диапазона. Идея заключается в том, чтобы при воспроизведении тихого звука с низким уровнем поднимать уровень до преобразования сэмпла в 16-битную форму (для громких звуков - соответственно, наоборот). В ac3 потоке передаются специальные маркеры, насколько изменять текущий уровень. Эти маркеры записываются режисером на стадии мастеринга, потому гарантируют достаточно высокое качество. Индикатор DRC level (Dynamic Range Compression level) отображает этот уровень. При помощи чекбокса Use DRC можно включать и выключать использование сжатия динамического диапазона. (конечно, все вышесказанное только приблизительное и грубое описание проблемы).

Уровень DRC Power отвечает за то, насколько уровень сжатия динамического диапазона влияет на выходную громкость. При увеличении этого параметра тихие звуки будут подчеркиваться еще больше, а громкие - еще более затеняться. При уменьшении DRC Power влияние сжатия динамического диапазона будет уменьшаться. Нулевое значение DRC Power означает нормальное применение сжатия динамического диапазона.

* Загрузка процессора (CPU usage).

Индикатор показывает загрузку процессора декодером. В эту нагрузку также включается вся последующая обработка (если есть) до непосредственного воспроизведения.

* Индикаторы уровней (Levels).

Правая часть - индикация уровней. Необходимо отметить, что уровни здесь - логарифмические. По входным уровням хорошо видна реальная конфигурация каналов в потоке. Так, бывает, что формат потока выставлен как 5.1, однако фактически низкочастотный канал отсутствует.

* Пресеты (Preset)

Комбо-бокс в правом нижнем углу позволяет загружать стандартные наборы настроек:

Настройки микшера (Mixer)

Вторая закладка - настройки микшера.



Основной элемент этой страницы - матрица микширования. Она представлена в форме матричного умножения: S' = M S, где S = { L, C, R, SL, SR, LFE } - входной сэмпл, S' = { L', C', R', SL', SR', LFE' } - выходной сэмпл.

Для удобства на эту страницу вынесены некоторые элементы управления со страницы основных настроек, поэтому за их описанием обращайтесь в разделу Основные настройки.

Описание настроек:
Комбо-бокс позволяет сохранять и загружать сохраненные матрицы.



Настройка.


Конфигурация колонок


При первом запуске фильтр определяет конфигурацию колонок, для корректного даунмикса. Используются настройки из Control Panel->Sounds and Multimedia->Audio->Sound Playback->Advanced->Speaker Setup. (Для владельцев SB Live! - при изменении конфигурации колонок в Surround Mixer'е изменения не всегда производятся в панели управления - поэтому в настройки панели управления всегда полезно посмотреть).

Текущее состояние конфигурации колонок при выходе сохраняется в реестре. Поэтому при всех последующих запусках конфигурация колонок не зависит от установок в панели управления.

Поменять конфигурацию колонок можно с помощью программы ac3speakers.exe:



Программа меняет конфигурацию колонок в пресете _default, который читается при загрузке фильтра (см. также раздел Реестр). Autodetect означает самостоятельное определение конфигурации (берутся настройки из панели управления, см выше).

Также текущая конфигурация колонок может быть сброшена в состояние автоопределения файлом reset.reg (см. раздел Реестр).

Поменять конфигурацию колонок непосредственно из фильтра (см раздел Основные настройки) можно только при выполнении определенных условий. Во-первых проигрывание файла должно быть остановлено (не пауза). Во-вторых все промежуточные аудио фильтры должны поддерживать динамическое реконфигурирование (изменение формата без полной перестройки графа).

Чаще всего проблемы возникают из-за наличия фильтра mmswitch (тот, который позволяет смотреть .avi (и DVD) с несколькими аудио-треками и переключать их (в основном для мультиязычных фильмов). Если Вы в основном смотрите DVD, то лучше использовать mpeg2 парсер, который поддерживает переключение языков самостоятельно (например, стандартный MPEG2 Splitter [mpg2splt.ax]поддерживает возможность переключения аудио-потоков, а Elecard MPEG2 demultiplexor [mpg2dmx.ax] - нет) а mmswitsh дерегистрировать - кроме всего прочего спадет нагрузка на процессор. Дело в том, что если mpeg2 парсер не поддерживает переключения потоков то для каждого аудио-потока создается по собственной цепочке декодирования, все они будут работать паралельно и нагружать процессор, несмотря на то, что на слышен будет только один.

Если же наличие mmswitch необходимо, то возможны следующие варианты:

Windows 98

По умолчанию в Windows 98 поддерживается только стерео-режим (spdif по умолчанию также не поддерживается). Возможнось работать в мультиканальных и spdif режимах сейчас находится в стадии экспериментальной проверки. Поэтому нижеследующие советы могут не работать.

Первое, что необходимо сделать - это установить патч от microsoft:
http://xvalex.hotbox.ru/download/269601usa8.exe

Второе - необходимо использовать WaveOut Device в качестве устройства вывода аудио. В некоторых плеерах это настраивается, в некоторых - нет. Поэтому в большинстве случаев необходимо явно назначить WaveOut устройством вывода аудио по умолчанию. Это можно сделать при помоци командного файла set_waveout.bat (командный файл set_directsound.bat возвращает настройки обратно - назначает DirectSound устройством вывода аудио по умолчанию).

После этих действий в большинстве плееров должны работать многоканальное воспроизведение и таже режим spdif. Режим колонок необходимо выставить заранее, переключение колонок из самого фильтра работать скорее всего не будет!


Рекомендации по настройке.

* Общие рекомендации

* Максимальное соответствие стандарту.

Рекомендуется во всех случаях.

* Однопроходная нормализация.

Для просмотра на максимально возможной громкости.

Реестр

Фильтр сохраняет свои настройки в разделе реестра: [HKEY_CURRENT_USER\Software\AC3Filter]. Подраздел 'preset' содержит отдельные разделы для каждого набора настроек (пресетов). При загрузке фильтра всегда загружается пресет '_default', при выгрузке фильтра все текущие настройки записываются туда же. Описание значений:
Переменная acmod может принимать следующие значения:

Значение
Режим
0
2/0 (стерео)
1
1/0 (моно)
2
2/0 (стерео)
3
3/0
4
2/1
5
3/1
6
2/2 (квадро)
7
3/2

Для указания канала LFE к этому значению прибавляется 8. Так, режим 5.1 будет предствален значением 15 (7+8). Для указания режима SPDIF к режиму прибавляется 32 (т.о. spdf может быть представлен числами от 32 до 47). Число 64 и большие означают ошибочные режимы и интерпретируются как автоопределение.

В программе не предусмотрено средств для создания пресетов, поэтому новые пресеты можно создавать только изменением реестра.

Матрицы микширования хранятся в подразделе 'matrix'. Каждый подраздел этого подраздела содержит одну матрицу микширования. При загрузке фильтра всегда загружается матрица _default, при выгрузке фильтра текущая матрица записываются в матрицу туда же. Если в пресете _deafult указана другая матрица то матрица _default теряет свое значение. Ключи матрицы именуются следующим образом: [from_channel]_[to_channel], где from_channel микшируется в to_channel, с коэффициентом, указанным в ключе.

Все уровни храняться в реестре в виде коэффициентов (не в dB).

Для сброса всех настроек в начальное состояние импортируйте файл reset.reg. При этом удалятся удаляется пресет _default и матрица _default, загружаемые по умолчанию.



Разное.

Хочу отдельно поблагодарить Марселло Мота (Marcello Mota) за моральную поддержку и огромную помощь в тяжком деле тестирования и отладки.

Фильтр был основан на OpenSource библиотеке LibA/52 (http://liba52.sourceforge.net) и во многом наследует его свойства. Многое было переписано, но основные положительные свойства я старался сохранить. Можно отметить очень высокое качество этой библиотеки, и весьма последовательное следование стандарту (http://www.atsc.org/standards/a_52a.pdf).



Условия распространения.

Даный программный продукт распространяется под лицензией GNU General Public Licence v2, текст которой прилагается в файле GNU_eng.txt - на английском языке и GNU_rus.txt - на русском языке. Вариант на русском языке прилагается только в справочных целях, поэтому при всех возможных разночтениях приоритет имеет версия на английском языке.

Данный программный продукт может быть использован только в демонстрационных целях и в целях обучения. Любое использование помимо этих целей может быть запрещено в некоторых странах. Этот программный продукт может распространяться свободно, за исключением случаев, запрещенных законом.

Даный программный продукт распространяется исключительно в надежде, что он будет полезен, однако безо всяких гарантий работы на конкретном оборудовании, соответствия каким-либо условиям, стандартам или нуждам. Я не обязуюсь обеспечивать круглосуточную (и вообще, какую либо) поддержку, исправление ошибок, восстановление потерянных из-за работы программы данных, отвечать за испорченное железо, а также за потерянное рабочее вермя. Я не несу ответственности за легальность воспроизводимой при помощи данной программы мультимедиа-продукции.



Связь с автором.

По всем вопросам, связанным с программой просьба писать по этому адресу. Большая просьба сообщать обо всех ошибках в программе, и крайне желательно приводить следующую информацию:
Это поможет мне в исправлении ошибки.



Changelog.

0.55b - 25.11.2002
+ Исправлен баг - неверное декодирование стерео ac3 файлов.
+ Исправлено: Упровни усиления Sorround и Voice не работали

0.54b - 01.10.2002
+ Сделан вывод на SPDIF.
+ Сделана загрузка пресетов + несколько стандартных пресетов.
* Конфигурация колонок теперь запоминается в реестре.
+ Отдельная программа для конфигурации колонок.
+ Патч для коррекции размера диалога для Win98 Chieneese.
+ Исправлен баг - в некоторых случаях настройки не записывались.

0.53b - 14.09.2002
! Фильтр теперь распространяется под лицензией GPL.
+ сохранение настроек в реестре.
+ добавлена страница настроек микшера с матрицей микширования.
* канал LFE сейчас микшируется только в передние колонки.
* Чекбокс 'Normalize' на главной странице теперь
означает однопроходую нормализацию.

0.52b - 01.09.2002

+ Исправлен баг, приводящий к зависанию на испорченных PES-потоках.
+ Увеличена громкость.
+ Добавлен контроль переполнения и автоматическая регулировка усиления.
+ Добавлено управление уровнем усиления.
+ Добавлено управление мощностью сжатия динамического диапазона.

0.51b - 18.07.2002

+ Исправлен баг приводящий к краху на некоторых ac3.

v0.5b - 07.07.2002

* Полностью переписан код декодера, а заодно и самого фильтра.
+ Добавлена поддержка PES.
+ Уровни LFE, Surround и Voice по умолчанию беруться из BSI.
+ Индикатор загрузки процессора.
+ Индикаторы входных и выходных уровней.
+ Индикатор уровня DRC.
+ Добавлены несколько полей с информацией о потоке.
+ Исправлена куча всякой мелочи.

v0.4a - 23.06.2002

+ Добавлена поддержка LFE и регулятор усиления LFE.
+ Добавлены кнопки сброса регуляторов до значений заданных в BSI
+ Формат стерео теперь передается в стандартном формате, т.о. возможна
работа фильтра с системами не поддерживающими многоколоночный
формат (Win9x/WinNT).
+ Добавлена поддержка декодирования DVD
+ Исправлена проблема с синхронизацией
+ Добавлена опция отлючения сжатия динамического диапазона и индикатор
текущего уровня.

v0.3a - 03.04.2002

+ Сделаны регулировки балансов громкости Voice (центральный канал) и
Surround (задние колонки).
+ Сделано изменение конфигурации колонок. Работает только если
промежуточными фильтрами поддерживается динамическое реконфигурирование
и только в режиме остановки (не паузы!).

v0.2a - 01.04.2002

* Код библиотеки LibA52 переписан для многопоточного исполнения,
соответственно появилась возможность создавать несколько экзкмпляров
фильтра для многоязычных фильмов.
+ Добавлено окно информации (настройки пока не работают)

v0.1a - первая альфа-версия фильтра.



Полезные ссылки.

Сайт AC3Filter (rus+eng): (http://xvalex.hotbox.ru/programs/ac3filter)
Сайт AC3Filter (rus+eng): (http://ac3filter.sourceforge.net)

Стандарт A/52a (AC3) (eng): (http://www.atsc.org/standards/a_52a.pdf).
Библиотека LibA52 (бывший ac3dec) (eng): (http://liba52.sourceforge.net).
Многоканальное воспроизведение под Windows (eng): (http://www.microsoft.com/hwdev/tech/audio/multichaudP.asp)
Просто полезный сайт по видео (eng): (http://www.doom9.org).
И еще один (rus): (http://freetime.sinor.ru/observatory/digitalvideo).


Copyright (c) 2002 by Vigovsky Alexander.
Last updated 25.11.2002