Распаковка GIF_LZW — ZXNet «code.zx»

Распаковка GIF_LZW

ZXNet echo conference «code.zx»



from: Alexandr Sinyakov
to: All
date: 20 April 2006
Hello, DVS Сейчас уже не помню как точно, но в GFXcon я обошелся таблицей в 12К для распаковки GIFов. Hа элемент я тратил по 3 байта, максимальная длина кода - 12 бит (4096 значений). "Hовая" цепочка была не блинее 2 байт, а все остальные складывались по принципу "старая" цепочка + еще один байт. Т.е например: 12,32 - это цепочка с кодом 258 (хранится в виде #00,#0C,#20) 12,32,48 = (цепочка 258) + байт 48 - это код 259 (#01,#02,#30) 12,32,48,56 = (цепочка 259) + байт 56 - код 260 (#01,#03,#38) итд. Если кто придумает, как можно обойтись менее чем 12К на таблицу - поставлю памятник на центральной площади славного Бобруйска. :)

from: DVS
to: All
date: 20 April 2006
Hello, All Кто нибудь этим занимался? В моём понимании и на примерах распаковка требует довольно много RAM для составления таблицы цепочек. Если размер картинки 98*67 и 64 цвета на пиксель, то может можно как-нить съэкономить на RAMe?

from: DVS
to: All
date: 20 April 2006
Hello, SAM style Да про 12Кб я согласен. Можно съэкономить немного лишь не делая выравнивание по 1 байту, учитывая, что размер кода начианет расти не с 12бит, а максимум с 9, в моём случае с 7. Как то грустно... я думал в AVR запрограмить это, ну максимум с 8Кб без внешней памяти. Тут конечно тогда ARM нужен. Помогу поставить памятник, если кто-нить скажет как в 3Кб влезти :-) А лучше в 1Кб.

from: Valery Grigoriev
to: All
date: 14 May 2006
Hello, DVS Бери без GIF и сам себе памятник ставь (((-;