Info Guide
#05
30 апреля 2004 |
|
Sofтинка - Упаковщик RGB картинок Powerful Code Decreaser v6.2.
Powerful Code Decreaser v6.2 Упаковщик в своё время использовался для сжатия RGB картинок (.Y). Возможно, им упакованы многие журналы. Возможно, именно здесь появилось стандартное дерево из 16 вариантов,которое впоследствии попало в MS Pack, Hrum, Hrust... Не берусь утверждать ничего... В комплекте с компрессором прилагаются распаковщики в исходниках. Это решает мно- гие проблемы,давая возможность выбрать,как использовать распаковщик. Распаковщики не- достаточно оптимизированы,но наличие исхо- дников позволяет решить и этот вопрос. Имеются битовый и байтовый потоки,бито- вый поток выбирается по 2 байта. Для рабо- ты используется стек (принцип DJNZ:POP HL: LD B,C:ADD HL,HL ). Упакованный блок начинается с 5 байт, относящихся к концу файла, потом лежат 2 первых байта битового потока. Далее согласно битовому потоку: %1 - просто байт (из байтового потока); %000,xxxx - puts=1. Сверхкороткая ссылка с disp=xxxx+1=1..16; %001 - puts=2. Короткая ссылка, dispL изв- лекается из байтового потока. Если -1, то выход из распаковщика,иначе dispL на еди- ницу больше прочитанного; %010 - puts=3. Здесь и далее следующим об- разом определяется disp: из байтового по- тока считывается dispL, а dispH из бито- вого потока по дереву: %0 - dispH=0, %1000 - dispH=1, %1010 - dispH=2, %1100 - dispH=3, %1110 - dispH=4, %1011000 - dispH=5, и т.д. Коды начинаются с единицы и имеют структуру: 2 информационных бита, 1 бит признака окончания (0=окончание) и т.д.До 8 бит dispH. Крупный недостаток - совер- шенно не используются коды,начинающиеся с %1001... %01101 - puts=4; %01110 - puts=5; %0111100 - puts=6; %0111101 - puts=7; %0111110 - puts=8; %011111100 - puts=9; %011111101 - puts=10; %011111110 - puts=11; %01111111100 - puts=12; %01111111101 - puts=13; %01111111110 - puts=14; %01111111111 - puts=15; %01100 - взять некий byte из байтового по- тока. Если 0, то считать 2 байта puts из байтового потока, иначе puts=byte+15. подготовил А. Кодер
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября