|
Страница 1 из 2 Хотя первоначально данный стандарт разрабатывался, чтобы стать платформонезависимым стандартом компрессии звуковых файлов, IMA ADPCM не полностью соответствует этому требованию. Низкоуровневая компрессия не вызывает затруднений: она не зависит от порядка следования байтов и, по определению, в ней используются только элементарные битовые манипуляции. Это позволяет добиться высокой производительности даже на тех процессорах, на которых целочисленное деление выполняется медленно. Как бы там ни было, различия между версиями Microsoft и Apple сделали невозможным совместное использование подобных кодировщиков и декодировщиков. Невозможно извлечь сжатые данные формата IMA ADPCM из файла AIFF-Cи подать их на модуль кодек Microsoft, и точно так же нельзя данные из файла формата IMA ADPCM WAVE подать на кодек Apple. K счастью, кодеки IMA ADPCM занимают немного места, так что программы, о которых мы говорили в этой главе, позволят вам с легкостью работать с обоими широко распространенными вариантами.
Как я разбирался с форматами ADPCM
Хотя IMA действительно предоставляет полный пакет спецификаций на IMA ADPCM, в том числе примеры программ, реализующих данный стандарт, мне не удалось отыскать детальной информации по реализациям последнего, подготовленным Microsoft и Apple. Кроме того, чтобы не допустить возможного нарушения авторских прав IMA, я намеренно не использовал разработанные этой организацией примеры. Кое-какой полезный материал мне удалось отыскать в Internet, в том числе реализацию базового алгоритма, написанного Джеком Дженсеном QackJansen), и раздел «Техническая поддержка разработчиков Apple 1081» (Apple Developer Support TechNote 1081), где был выделен ряд фундаментальных отличий между версиями этого алгоритма от Microsoft и Apple. Тем не менее указанных источников было недостаточно для реализации тех декомпрессоров, о которых шел разговор в этой главе. Чтобы выяснить необходимые детали, мне пришлось экспериментировать с реальными файлами. Использованные мною методы могут пригодиться, если вам придется анализировать другие схожие форматы. Для начала я воспользовался стандартными утилитами (поставляемыми в составе Mac OS 7.6 и Windows 95), чтобы конвертировать короткий файл выборок в сжатый формат IMA ADPCM.
|