Кодер FLAC с поддержкой использования вычислительных ресурсов видеокарты. На примере nVidia GTX285 это даёт 10-кратный прирост скорости кодирования по сравнению с процессором Intel Core i7 940.
В отличие от FlaCuda (такое название имели ранние версии) FLACCL использует библиотеку OpenCL, а не CUDA, что позволяет работать с различными платформами - AMD Stream, NVIDIA CUDA, Intel(R) OpenCL, AMD Accelerated Parallel Processing. Таким образом, кодер поддерживает не только видеокарты nVidia, но также AMD (ATI), и даже центральные процессоры Intel / AMD.
За помощь в тестировании и настройке кодера - большое спасибо no404error.
Процессоры Intel, имеющие поддержку SSE 4.1 или выше (начиная с Intel Core 2 Duo 8XXX, а также процессор Intel® Core™ 2 Duo E7200). Более подробный список.
Для работы требуется Intel® OpenCL SDK.
Процессоры AMD с поддержкой SSE 2.x или выше (начиная с AMD K8, т.е. только 64-битные процессоры).
Для работы требуется AMD APP SDK.
Поддерживаются только ОС Windows Vista SP2 и Windows 7 (32/64 бит).
Все файлы из папки FLACCL должны находится в той же директории, что и CUETools.FLACCL.cmd.exe.
Примечание: укажите "-" вместо входного файла для кодирования со STDIN.
Параметры:
* -0...-11 степень сжатия
Указывает степень сжатия. Поддерживаются целые значения от -0 до -11. Чем больше - тем выше уровень сжатия и ниже скорость кодирования/декодирования. Обратите внимание: возможны проблемы аппаратного декодирования для файлов закодированных со степенью сжатия выше 8-ми. Для полной совместимости рекомендуется использовать только значения 0-8.
* --verify проверка
Проверка целостности данных в процессе кодирования. Негативно сказывается на скорости сжатия.
* -q, --quiet тихий режим
Не отображать прогресс кодирования в консоли
* --cpu-threads <n> количество потоков
Параметр задаёт количество потоков обработки центральным процессором.
* --opencl-type <X> тип устройства
Тип устройства, к которому будет осуществляться доступ через OpenCL. Может быть CPU ил GPU (по умолчанию).
* --opencl-platform "X" OpenCL платформа
Укажите платформу, которая используется OpenCL устройством. Например: AMD Stream, NVIDIA CUDA, Intel(R) OpenCL, AMD Accelerated Parallel Processing. Для доступа к CPU платформам надо также указать соответствующий тип устройства (см. выше).
* --fast-gpu мощная видеокарта
Экспериментальный режим, используйте его только в паре с --verify. Может не работать на некоторых видеокартах. Переносит практически все расчеты на GPU. Может несколько повысить скорость кодирования при наличии слабого процессора и мощной видеокарты. На степень сжатия не влияет. Для примера: на процессоре Core i3 530 и видеокарте GTX460 при кодировании с --cpu-threads 4 этот ключ дал даже некоторое снижение скорости кодирования.
* --slow-gpu слабая видеокарта
Данный режим - наоборот - переносит основные расчеты на центральный процессор, что позволяет получить прирост скорости примерно в полтора раза (на Core i3 530/GTX 460) по сравнению со стандартным режимом. Но, при условии наличия относительно мощного многоядерного процессора. Незначительно снижает уровень сжатия.
Максимальное сжатие (с использованием GPU): -q -11 - -o %d
Более быстрое сжатие (с использованием GPU), для процессоров с 4-мя логическими ядрами: -q -11 --slow-gpu --cpu-threads 4 - -o %d
Максимальное сжатие (с использованием GPU), для более слабых процессоров и относительно мощных видеокарт: -q -11 --fast-gpu --verify - -o %d
Максимальное сжатие с использованием только лишь процессора Intel (4 логических ядра): -q -11 --opencl-type CPU --opencl-platform "Intel(R) OpenCL" --cpu-threads 4 - -o %d
Максимальное сжатие с использованием только лишь процессора AMD (4 логических ядра): -q -11 --opencl-type CPU --opencl-platform "AMD Accelerated Parallel Processing" --cpu-threads 4 - -o %d
Я кодировал со стандартными настройками -q -X - -o %d, также пробовал ставить "--verify", не помогло, возможно ошибки возникают только у меня. Попробуйте перекодировать этот файл со всеми степеням сжатия - narod.ru/disk/25393136001/03.%20%5BMoby%5D%20-%20Porcelain.zip.html
Заметил очень неприятный баг, который попортил мне несколько десятков альбомов хай-реза. При кодировании возможна порча данных. Будьте осторожны, проверяйте файлы после кодирования с помощью "Verify Integrity".
Ответ:
Quote
* --fast-gpu мощная видеокарта Экспериментальный режим, используйте его только в паре с --verify.
Уровни сжатия 9-11 могут дать файлы несовместимые с аппаратными декодерами. Об этом раньше даже на сайте cuetools сказано:
Quote
They also support additional compression levels 9-11, however their use is not recommended, because those levels produce so called non-subset files, which might not be supported by certain e.g. hardware implementations.
Ответ: Вот это интересно. Мы с no404error это обсуждали, но в итоге пришли к выводу, что проблем пока что не было, и писать об этом не стоит. Есть конкретный пример?
Спасибо за проделанную работу. Решил забить на TAK, из-за его виндозависимости, хорошо хоть это lossless кодек, а то получилось бы как тогда, когда начал всё конвертировать в AAC. Буду конвертить обратно во FLAC. Ограничение по воспроизведению на железе и различных OS надеюсь нет?