Распаковка GIF_LZW

ZXNet эхоконференция «code.zx»

От Alexandr Sinyakov Кому All 20.04.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К на таблицу - поставлю памятник на центральной площади славного Бобруйска. :)

От DVS Кому All 20.04.2006

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

От DVS Кому All 20.04.2006

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

От Valery Grigoriev Кому All 14.05.2006

Hello, DVS Бери без GIF и сам себе памятник ставь (((-;