Board.KolibriOS.org

Official KolibriOS board
It is currently Thu Nov 21, 2019 5:25 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 27 posts ]  Go to page Previous 1 2
Author Message
PostPosted: Thu Oct 27, 2016 3:57 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 812
rev 6617
Сделал в папке с fkfar папку для zlib с примером. Думаю что в дальнейшем нужно будет объединить библиотеки archiver и zlib, но пока что сделано отдельной библиотекой.
Распаковка происходит правильно, но есть 2 проблемы, из-за которых я не спешу объединять библиотеки:
1) В crc почему-то пишутся 0, посмотрел в исходном коде там в большинстве случаев при вызове функции crc вместо буфера передается Z_NULL. Не пойму почему не передается нормальный указатель на буфер, может я что-то не так использую.
2) Размер распакованных данных я беру из переменной.


Top
   
PostPosted: Thu Oct 27, 2016 4:43 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5066
Как насчет сделать программу-распаковщик zip архивов? Вроде
kunzip "/sys/arc.zip" "/tmp0/1/"
Рисует только окно с процессом распаковки: имя распаковуемого файла, полоса прогресса.

_________________
Через тернии к звездам


Top
   
PostPosted: Tue Nov 01, 2016 4:17 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1248
For network applications, it would be useful to have deflate function which works on streams.
I have tried hacking the archiver library to do this in the past but could not master.
(Applications/protocols which come to mind: HTTP, VNC, SSH,...)

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Top
   
PostPosted: Tue Nov 01, 2016 6:57 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 812
Leency wrote:
Как насчет сделать программу-распаковщик zip архивов? Вроде
kunzip "/sys/arc.zip" "/tmp0/1/"
Рисует только окно с процессом распаковки: имя распаковуемого файла, полоса прогресса.

Идея хорошая но думаю что с полосой прогресса могут быть проблемы. Дело в том что распаковка архива идет за один вызов функции deflate_unpack потому полоса прогресса будет или пустой или сразу полной.

hidnplayr wrote:
For network applications, it would be useful to have deflate function which works on streams. I have tried hacking the archiver library to do this in the past but could not master.

Apparently the compression is working properly. But I would like to further develop neotroye function of the library. For example, in the source code 'longest_match' function was 2 version. If you set the FASTEST == 0 and make the code of the function for this parameter, it will be possible to establish different degrees of compression. I think that even though it is already possible to use the library.


Top
   
PostPosted: Tue Nov 01, 2016 8:09 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5066
Полоса может отображать количество распакованных файлов относительно всех файлов в архиве, ех. 10/134.

_________________
Через тернии к звездам


Top
   
PostPosted: Wed Nov 02, 2016 4:19 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 812
Обнаружил что функция deflate (из zlib.obj) почему-то не работает с параметром Z_NO_FLUSH. Потому если кто захочет использовать ее, то пусть всегда ставит Z_FINISH, до выяснения причины почему не работает. Это может немного ухудшить качество сжатия, но сжимать всеравно должно.


Top
   
PostPosted: Fri Nov 11, 2016 8:42 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
IgorA, а ты zlib "с нуля" что ли переписываешь на ассемблере?
Есть ведь zlib уже http://websvn.kolibrios.org/listing.php ... 86eb580ba9


Top
   
PostPosted: Wed Dec 07, 2016 3:37 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 812
0CodErr wrote:
IgorA, а ты zlib "с нуля" что ли переписываешь на ассемблере?
Есть ведь zlib уже http://websvn.kolibrios.org/listing.php ... 86eb580ba9

Оно же там на C++, а мне очень нужно было на asm, потому как libimg экспортировала функции из archiver-а который также был на asm.


Top
   
PostPosted: Fri Dec 16, 2016 12:52 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 812
rev 6799
Удалось сделать более сложный вариант функции longest_match, который дает большее сжатие. Теперь png файл с пустым рабочим столом занимает не 269 кб а 80 кб.


Top
   
PostPosted: Fri Dec 16, 2016 5:35 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5066
IgorA
Круто! Paint открывает норм.
Но ни XnView, ни Chome не хочет открывать созданный файл http://prntscr.com/dk6t08

_________________
Через тернии к звездам


Top
   
PostPosted: Fri Dec 16, 2016 6:19 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 812
Leency wrote:
Но ни XnView, ни Chome не хочет открывать созданный файл http://prntscr.com/dk6t08

Думаю что может быть одно из 2-х:
1) Либо не правильно считаются контрольные суммы crc, adler. Потому как Колибриевская функция deflate_unpack по моим опытам вообще на crc не реагирует и распаковывает всегда. Возможно что Виндосовские программы увидев не правильную контрольную сумму даже не берутся за распаковку данных и выкидывают ошибку.
2) Возможно что данные в IDAT нужно паковать по строкам изображения а не кусками по 16 кб как у меня в libimg.
Leency wrote:
Paint открывает норм.

Это уже хорошо, значит можно в случае чего смотреть и пересохранять через Paint и потери данных не будет.
А пока будет над чем еще дальше подумать.


Top
   
PostPosted: Sat Mar 04, 2017 10:59 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 812
Leency wrote:
Но ни XnView, ни Chome не хочет открывать созданный файл http://prntscr.com/dk6t08

Пока все никак не могу найти причину такого поведения. Уже так много ошибок исправил но все мимо.
Вероятнее всего что где-то не правильно работает на стороне libimg, потому как в archiver (оно же zlib) в последнее время много чего было исправлено.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 27 posts ]  Go to page Previous 1 2

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited