Исходный автор (ы) | Андреа Маззолени |
---|---|
Первоначальный выпуск |
|
Стабильный выпуск | 2.1 / 12 февраля 2018 г.; 2 года назад (12.02.2018) |
Репозиторий | Репозиторий AdvanceCOMP |
Лицензия | GNU GPLv3 |
Веб-сайт | www.advancemame.it/comp-readme |
AdvanceCOMP - это набор кроссплатформенных инструментов командной строки (повторного) сжатия данных. Утилиты позволяют изменять уже сжатый файл с целью уменьшения размера файла за счет оптимизации сжатого представления. Пакет AdvanceCOMP свободно доступен в соответствии с условиями лицензии GPLv3.
AdvanceCOMP работает с файлами, используя LZ /алгоритм сжатия на основе Хаффмана , известный как DEFLATE, наиболее широко используемые системы кодирования сжатия. Большое количество форматов файлов включает DEFLATE как часть своей спецификации, в первую очередь PNG, gzip и ZIP.
DEFLATE определяет поток- кодировку, так что любой совместимый декодер может анализировать любой действующий поток; алгоритм и программа, используемые для этапа сжатия, не требуются.
Для создания сжатых разделов данных DEFLATE обычно использовался кодировщик, доступный в эталонной реализации zlib / gzip. Компрессор zlib / gzip предлагает пользователю скользящую шкалу между использованием ЦП и вероятной величиной уменьшения размера в диапазоне от -0
(без сжатия) до - 9
(максимальное сжатие gzip).
Кодировщики 7-Zip и Zopfli DEFLATE, используемые в наборе AdvanceCOMP, эффективно расширяют скользящую шкалу. Выполняется гораздо более подробный поиск возможностей сжатия за счет значительного дополнительного времени, затрачиваемого на поиск процессора. Фактически, 10-балльная шкала, используемая в gzip, расширена за счет включения дополнительных настроек выше -9
, предыдущего максимального уровня поиска. Не будет разницы в скорости распаковки, независимо от достигнутого уровня сжатого размера или времени, затраченного на кодирование данных.
AdvanceCOMP включает четыре утилиты, каждая из которых позволяет установить один из четырех уровней поиска DEFLATE:
advpng
, удаление вспомогательных фрагментов, объединение всех отдельных фрагментов IDAT
; затем перекодирование объединенного файла изображения PNG с использованием метода дефлятирования 7-Zip.advmng
, попытка использовать дельта-кодирование с последующим перекодированием сжатых разделов с использованием 7 -Zip deflate method.advdef
, общее перекодирование всего, что содержит поток zlib; это включает файлы .gz
и .png
.advzip
, перекодирование сжатых потоков DEFLATE в архиве .zip
.Дополнительный поиск, выполняемый во время сжатия (и, следовательно, дополнительное использование ЦП), по словам авторов AdvanceCOMP, часто может привести к увеличению размера сжатого файла на 5-10%. После использования AdvanceCOMP выходной поток остается обратно совместимым и совместимым с DEFLATE потоком, который может быть декодирован любыми существующими инструментами.