Объединил в
ревизии 6673 библиотеки
zlib и
archiver что-бы оно уже было в сборке, потому как Leency обещал скоро выпустить Kolibri N10.
В примере с сохранением *.png добился увеличения размера сохраняемого файла до 64 Кб (около 180*120 пикселей). Сделал также фильтр Up, для увеличения степени сжатия.
Даю архив с кодом, но предупреждаю что там много лишнего. Делалось это на основе libpng 1.6.25, потому многие функции нам в ближайшем будущем будут не нужны, но и мешать не будут, т. к. макрос proc и endp не включают в бинарный файл функции которые нигде в коде не вызываются.
Если возник вопрос почему именно 64 Кб, то вот объяснение почему:
Quote:
Алгоритм для упаковки данных:
1) Вызов функции deflateInit или deflateInit2.
2) Разбиение входного потока данных на порции по 64 Кб.
Для каждого блока в 64 Кб в цикле должен делаться вызов функции deflate.
За один вызов функции deflate сжатых данных образуется не более 16 Кб.
Т. е. если сжимаемых данных менее 16 Кб, то их можно упаковать за один вызов deflate.
Если сжимаемых данных менее 64 Кб, то их можно упаковать организовав один цикл с вызовом deflate.
Если сжимаемых данных более 64 Кб, то их можно упаковать организовав двойной цикл с вызовом deflate.
3) Вызов функции deflateEnd для очистки памяти.
Просто пока что не стал делать двойной цикл.