Здравствуйте, quodum, Вы писали:
А>>Встречались ли кому-нибудь реализации deflate на маленьком объеме ОЗУ, для микроконтроллеров? zlib для этого слишком тяжеловесна. В стандартной конфигурации она требует памяти больше чем имеется физически (всего есть 32 кб, но даже все их использовать нельзя). Можно покрутить размеры окна zlib в сторону уменьшения, но может есть что-то более легковесное для таких случаев?
Q>А нужно обязательно deflate?
Q>Вот, например, LZRW1 от Росса Вильямса.
Q>Функция сжатия (на чистейшем K&R Си ) влезает в экран и использует буфер в 4КБ. (Для реального использования её, правда, потребуется слегка подточить -- хотя-бы добавить проверку размера выходного буфера).
Q>Каталог из 96 файлов суммарным объёмом 6+ МБ (исходники, объектники, exe-шники) пожала в 7.5 раз, усреднённый коэффициент сжатия на файл -- 3.9 раза.
Q>Код в public domain, но, возможно, алгоритм закрыт чьим-то патентом. Оригинальные патенты на LZ77 вроде-бы протухли, но в патентах на компрессию чёрт ногу сломит, я так и не смог разобраться в текущей ситуации.
Большое спасибо! Deflate совсем необязателен. Нужен просто какой-нибудь метод сжатия (получше RLE), который можно реализовать на таких небольших ресурсах памяти. Вашу ссылку посмотрю, еще раз спасибо. Если у кого будут другие варианты — рад услышать.