BG Development


  Reply to this topicStart new topicStart Poll

> deflate.asm питане
wqw
Публикувано на: 24-05-2019, 15:08
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6068
Регистриран на: 10.06.04



https://fresh.flatassembler.net/fossil/repo...ata/deflate.asm

Питам се защо в deflate.asm някой би сложил само proc Inflate. Като и да е. . . Абе Johnny, къде е inflate.asm в който предполагам се крие proc Deflate. Търся нещо кратко което прави dynamic Huffman дърветата, че не ми се търкалят 52KB за libdeflate :-))

За static дървета само имам компресор (sshzlib.c от PuTTY), но губи 5-10% от компресията спрямо нормален ZIP.

cheers,
</wqw>

Това мнение е било редактирано от wqw на 24-05-2019, 15:09


--------------------
PMEmail PosterUsers Website
Top
johnfound
Публикувано на: 24-05-2019, 20:01
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 7417
Регистриран на: 27.05.04



QUOTE (wqw @ 24-05-2019, 16:08)
https://fresh.flatassembler.net/fossil/repo...ata/deflate.asm

Питам се защо в deflate.asm някой би сложил само proc Inflate. Като и да е. . . Абе Johnny, къде е inflate.asm в който предполагам се крие proc Deflate. Търся нещо кратко което прави dynamic Huffman дърветата, че не ми се търкалят 52KB за libdeflate :-))

За static дървета само имам компресор (sshzlib.c от PuTTY), но губи 5-10% от компресията спрямо нормален ZIP.

cheers,
</wqw>

М-м-м, да, не мога да не призная издънката. Но мога да обясня! Въпросният файл, по идея трябва да съдържа цялата библиотека за обслужване на формата "deflate". Която библиотека се състои от две процедури: Deflate за компресиране и Inflate за разкомпресиране.

Но тъй като в момента на написване на библиотеката ми трябваше само разкомпресиране (за показване на png картинки) то и написах само едната половина. С идеята по-късно да напиша другата. По-късното още не е дошло, но живот и здраве, все някога ще дойде... Или някой добър човек ще се подразни от несъответствието между името на процедурата и файла и ще го допише.

Това мнение е било редактирано от johnfound на 24-05-2019, 20:02


--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9
PMEmail PosterUsers Website
Top
PxL
Публикувано на: 25-05-2019, 06:26
Quote Post


Group Icon
Име: Димитър Т. Димитров
Група: VIP
Ранг: Почетен член

Мнения: 2885
Регистриран на: 26.04.05



QUOTE (wqw @ 24-05-2019, 16:08)
...
Търся нещо кратко което прави dynamic Huffman дърветата, че не ми се търкалят 52KB за libdeflate :-))
...

Ако не ти е твърде грозен кода на г-н Шон Барет (stb), може от неговият да го изкараш:
https://github.com/nothings/stb/blob/master/stb_image.h


--------------------
void putchar(char c);int main(){int x,c=1,i;for(i=0;(x="PxLY2H4:2E;7231?=68255A5S5P9N:N9O84111H861I85111G9N:O811O812M<G33911EAEDBECE22169D1=2k"[i+++3]);)while(x-->'0')putchar((!(++c%'('))?0x0a:33^(i&1));}
PMEmail PosterUsers Website
Top
wqw
Публикувано на: 27-05-2019, 21:02
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6068
Регистриран на: 10.06.04



QUOTE (PxL @ 25-05-2019, 06:26)
Ако не ти е твърде грозен кода на г-н  Шон Барет (stb), може от неговият да го изкараш:
https://github.com/nothings/stb/blob/master/stb_image.h

Гледах го вече, само fixed Huffman си признават че encode-ва.

cheers,
</wqw>


--------------------
PMEmail PosterUsers Website
Top
PxL
Публикувано на: 27-05-2019, 23:03
Quote Post


Group Icon
Име: Димитър Т. Димитров
Група: VIP
Ранг: Почетен член

Мнения: 2885
Регистриран на: 26.04.05



QUOTE (wqw @ 27-05-2019, 22:02)
QUOTE (PxL @ 25-05-2019, 06:26)
Ако не ти е твърде грозен кода на г-н  Шон Барет (stb), може от неговият да го изкараш:
https://github.com/nothings/stb/blob/master/stb_image.h

Гледах го вече, само fixed Huffman си признават че encode-ва.

cheers,
</wqw>

Ма не им вЕрвай на коментера icon_smile.gif На мен си ми изглежда адаптивен този:
https://github.com/nothings/stb/blob/1034f5...b_image.h#L1820


--------------------
void putchar(char c);int main(){int x,c=1,i;for(i=0;(x="PxLY2H4:2E;7231?=68255A5S5P9N:N9O84111H861I85111G9N:O811O812M<G33911EAEDBECE22169D1=2k"[i+++3]);)while(x-->'0')putchar((!(++c%'('))?0x0a:33^(i&1));}
PMEmail PosterUsers Website
Top
wqw
Публикувано на: 29-05-2019, 14:33
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6068
Регистриран на: 10.06.04



Ама гледай сега, декомпресора работи със static *и* с dynamic дървета щото иначе няма да може да визуализира jpg-та от PhotoShop примерно.

Encoder-ът обаче го дава айляк и дъмпи само static дървета щото иначе трябва да е 2-pass компресията да си извади stats на база на които да оптимизира dynamic дървото.

cheers,
</wqw>


--------------------
PMEmail PosterUsers Website
Top
dvader
Публикувано на: 29-05-2019, 15:24
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 4476
Регистриран на: 12.07.05



QUOTE (johnfound @ 24-05-2019, 20:01)
и ще го допише.

Ръчички, не ви сърби...
Ръчички, не ви сърби...
Ръчички, не ви сърби...


--------------------
I find your lack of faith disturbing
PM
Top
johnfound
Публикувано на: 29-05-2019, 16:42
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 7417
Регистриран на: 27.05.04



QUOTE (dvader @ 29-05-2019, 16:24)
QUOTE (johnfound @ 24-05-2019, 20:01)
и ще го допише.

Ръчички, не ви сърби...
Ръчички, не ви сърби...
Ръчички, не ви сърби...

icon_lol.gif


--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9
PMEmail PosterUsers Website
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0