В конце октября прошлого года Apple открыла исходники ALAC кодера и декодера, чем однозначно порадовала общественность.

Впервые этот кодек появился в 2004 году в пакете iTunes 4.5. И вот, спустя 7 лет, Apple пошла на такой шаг: опубликовала исходные коды проекта под Apache License 2.0. По сути ALAC мало чем отличается от FLAC и прочих кодеков без потерь. Имеет сравнимую эффективность и скорость.

Я решил попробовать собрать этот кодек у себя на Windows 7. Все оказалось очень просто (спасибо на этом Apple):

  1. Делаем чекаут из репозитория svn checkout http://svn.macosforge.org/repository/alac/trunk ALAC
  2. Открываем из папки convert-utility солюшен ALACconvert.sln (я открывал в VS2010).
  3. Билдим.

И вот, мы имеем на руках уже готовый исполняемый файл. К сожалению, сборка конфигурации Release не оказалась столь радужной и компилятор выдавал ошибку:

error D8045: cannot compile C file '..\codec\ag_dec.c' with the /clr option

На самом деле, тут можно кинуть камень в огород Apple. Они совершенно никак не озаботились настройкой конфигурации Release. Я "тряхнул стариной" (будучи в далеком прошлом C++ девелопером на VS): скопировал конфигурацию из Debug и руками выставил все необходимые оптимизации. Таким образом, для желающих я выкладываю свою сборку кодека ALAC от Apple. Ссылку вы можете найти в конце статьи.

Официальный фронтенд работает весьма примитивно и не принимает никаких ключей (судя по документации):

F:\vanac>alacConvert.exe a.wav a.caf
Input file: a.wav
Output file: a.caf

F:\vanac>alacConvert.exe a.caf b.wav
Input file: a.caf
Output file: b.wav

Итоговый файл воспроизвелся нормально, что показывает работоспособность фронт-енда.

Что ж, почаще бы нас радовали подобные гиганты открытием исходных кодов своих закрытых проектов.

codecs
alac
x86
false
codecs
alac
codec
кодек
кодеки
ALAC x86
Дата: 16 января 2012
Файл: alacConvert.zip
Размер: 95.4 kB