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


тема: алгоритмы сжатия картинок



от: BlastOff
кому: All
дата: 19 Oct 2005
Hello, All

Есть ли в доступном виде(исходник/псевдокод) алгоритмы работы Спектрумовских
программ для упаковки/распаковки картинок?

от: Dima Kozlov
кому: All
дата: 19 Oct 2005
Hello, Hrumer

Hru> Быстров как то в Инферногуид описвыал формат упакованных данных
Hru> разных пакеров, можно там посмотреть...

на всякий случай, распаковка lc 4.0 и lc 5.2 на с/с++

Файл: lc4-5.zip http://zx.pk.ru/attachment.php?attachmentid=1833

от: Dmitry Pyankov
кому: All
дата: 19 Oct 2005
Hello, BlastOff

Быстров как то в Инферногуид описвыал формат упакованных данных разных
пакеров, можно там посмотреть...

от: Dima Kozlov
кому: All
дата: 19 Oct 2005
Hello, psb

psb> хм.. а нету консольных hrust'ов для РС?

ну почему же нету... где нашел не помню, не исключено что где-то здесь, на
форуме

Файл: wloadsp.rar http://zx.pk.ru/attachment.php?attachmentid=1835

от: psb
кому: All
дата: 19 Oct 2005
Hello, elf/2

хм.. а нету консольных hrust'ов для РС?

от: psb
кому: All
дата: 20 Oct 2005
Hello, elf/2

вооо :))) спасибо большое! :)))

от: BlastOff
кому: All
дата: 21 Nov 2005
Hello, psb

А распаковщики hrum/hrust консольные есть(с сорцами)?

от: Slavik Tretiak
кому: All
дата: 21 Nov 2005
Hello, BlastOff

есть как паковщики, так и распаковщики. обращаться надо вроде к elf/2.
есть ещё моя версия на C++ (на самом деле классы юзаются только ради
пространства имён). ИМХО моя версия почитабельнее будет.
если надо, то когда приду домой закину.

от: BlastOff
кому: All
дата: 21 Nov 2005
Hello, Sinus

Да, надо, закидывай! :)

от: Slavik Tretiak
кому: All
дата: 23 Nov 2005
Hello, BlastOff

короче кому надо хруст и дехруст в классах, ловите.
на добрый толк надо конечно было сделать методы статическими, но мне влом.

Файл: hrust-src.zip http://zx.pk.ru/attachment.php?attachmentid=1995

от: Dmitry Pyankov
кому: All
дата: 24 Nov 2005
Hello, Sinus

Привет!

А алгоритм OLZH никто не пробовал прикручивать?

от: Dmitry Pyankov
кому: All
дата: 24 Nov 2005
Hello, lvd

lvd, интересно, а в megalz применяются какие либо специальные алгоритмы для
улучшения качества сжатия(т.е. более опитмального подбора кодируемых пар) или
все кодируется "в лоб"?

от: Slavik Tretiak
кому: All
дата: 24 Nov 2005
Hello, lvd

"хруст в классах" - порт 1:1 со спековского хруста. по этому по всем вопросам
относительно оптимальности/неоптимальности упаковки не ко мне ^_~

а что такое megalz?

от: Slavik Tretiak
кому: All
дата: 24 Nov 2005
Hello, lvd

а где его взять?

от: lvd
кому: All
дата: 24 Nov 2005
Hello, Hrumer

Hru> lvd, интересно, а в megalz применяются какие либо специальные
Hru> алгоритмы для улучшения качества сжатия(т.е. более опитмального
Hru> подбора кодируемых пар) или все кодируется "в лоб"?

Я не знаю, я пакер не писал и не ломал. Депакер можно увидеть в поздних (чем
позже тем больше вероятность что самый последний депакер) релизах mayhem. По
всем вопросам можно обратиться к fyrex'у, он его писал.

Кстати, а есть сорец депакера к этому пакеру, желательно перемещаемый (LDIR'ом)
и нестековый? =)

от: lvd
кому: All
дата: 24 Nov 2005
Hello, Sinus

Sin> а что такое megalz?

Пакер, написанный fyrex'ом из mayhem.

от: lvd
кому: All
дата: 24 Nov 2005
Hello, Sinus

Sin> короче кому надо хруст и дехруст в классах, ловите.
Sin> на добрый толк надо конечно было сделать методы статическими, но мне
Sin> влом.

Интересно, насколько оптимально (в рамках формата упакованных данных) пакует
этот "хруст в классах"? Что такое "spd 0-3" ? Hа 1 файле он немного обошёл, на
другом немного проиграл megalz'у. А поскольку депакер megalz'а всего 112 байт,
то в данном случае хруст в пролёте =)

от: Slavik Tretiak
кому: All
дата: 24 Nov 2005
Hello, fyrex

ну так это, не томи ;)
дай потестить

от: Slavik Tretiak
кому: All
дата: 24 Nov 2005
Hello, lvd

а где его взять?

от: Slavik Tretiak
кому: All
дата: 24 Nov 2005
Hello, lvd

хотелось бы посмотреть на этот пакер. ибо если он пакует лучше хруста с
депакером в 112 байт, то это по крайней мере интересно.

от: lvd
кому: All
дата: 24 Nov 2005
Hello, Sinus

Sin> а где его взять?

Депакер вроде я сказал где, а пакер только для внутреннего использования. По
всем вопросам можно к fyrex'у, он тута есть в юзерах, если надо, скажу емыл в
личку.

от: Андрей Лысенко
кому: All
дата: 24 Nov 2005
Hello, Sinus

То, что лучше - это конечно врядли...
но то что быстрее распаковщик и меньше на соизмеримом
качестве сжатия - это да.

2hrumer - к сожалению не использует, хотел в своё время поработать с
этим подходом к сжатию, но так и не было особой нужды - предел
некий уже можно сказать достигнут (в этом классе кранчеров)

от: Dmitry Pyankov
кому: All
дата: 24 Nov 2005
Hello, Hrumer

fyrex: оппа. я депакера от megalz не видел. То, на что я подумал называлось
bitbuster и RNC_ProPack... Если не трудно, дай текст распаковщика.

от: Dmitry Pyankov
кому: All
дата: 24 Nov 2005
Hello, Sinus

fyrex: Hапрасно. Я оцениваю выигрыш по объему где то 1..15%. А может и выше.
Если уж Павлов в своем 7zip для формата zip указывает выигрыш до 8..10%, то при
использовании "статических кодов" выигрыш будет гораздо серьезнее.

от: jtn
кому: All
дата: 24 Nov 2005
Hello, Hrumer

да, закиньте уже плиз эти 112 байт в виде текста прямо в форум

от: lvd
кому: All
дата: 24 Nov 2005
Hello, jtn

jtn> да, закиньте уже плиз эти 112 байт в виде текста прямо в форум

Из дома закину. Туто нету. Кстати фурех разрешил дать пакер отдельным личностям
- тоже разошлю =)).

от: lvd
кому: All
дата: 24 Nov 2005
Hello, axor

axo> Зачем только отдельным? Из чего делать секрет? Лучше здесь выложить.
axo> Спектрумисты будут благодарны. А вдруг его поддержат в каком-нибудь
axo> новом коммандере (например, QC).

Вопрос не ко мне - к фуреху.

от: lvd
кому: All
дата: 24 Nov 2005
Hello, lvd

Депакер megalz v4
┌─- code ───

DEC40
;HL - from
;DE - to

LD A,#80
EX AF,AF'
MS LDI
M0 LD BC,#2FF
M1 EX AF,AF'
M1X ADD A,A
JR NZ,M2
LD A,(HL)
INC HL
RLA
M2 RL C
JR NC,M1X
EX AF,AF'
DJNZ X2
LD A,2
SRA C
JR C,N1
INC A
INC C
JR Z,N2
LD BC,#33F
JR M1

X2 DJNZ X3
SRL C
JR C,MS
INC B
JR M1
X6
ADD A,C
N2
LD BC,#4FF
JR M1
N1
INC C
JR NZ,M4
EX AF,AF'
INC B
N5 RR C
RET C
RL B
ADD A,A
JR NZ,N6
LD A,(HL)
INC HL
RLA
N6 JR NC,N5
EX AF,AF'
ADD A,B
LD B,6
JR M1
X3
DJNZ X4
LD A,1
JR M3
X4 DJNZ X5
INC C
JR NZ,M4
LD BC,#51F
JR M1
X5
DJNZ X6
LD B,C
M4 LD C,(HL)
INC HL
M3 DEC B
PUSH HL
LD L,C
LD H,B
ADD HL,DE
LD C,A
LD B,0
LDIR
POP HL
JR M0

└── code ───

от: Александр Шушков
кому: All
дата: 24 Nov 2005
Hello, lvd

lvd> Кстати фурех разрешил дать пакер отдельным личностям - тоже разошлю
lvd> =)).

Зачем только отдельным? Из чего делать секрет? Лучше здесь выложить.
Спектрумисты будут благодарны. А вдруг его поддержат в каком-нибудь новом
коммандере (например, QC).

от: Александр Шушков
кому: All
дата: 25 Nov 2005
Hello, fyrex

fyr> 2hrumer - Да, как раз 7з мне и открыл глаза на оптимальное сжатие,
fyr> когда обычным методом зипа достигается существенно большее сжатие...
fyr> Hо нада учитывать, что на спеке файлы жмут обычно маленькие, так что
fyr> выигрыш в проценты - это несколько байт ! А мучиться с пакером
fyr> придётся
fyr> долго =)

Повторю вопрос. Можно ли пакер закинуть сюда?

от: Андрей Лысенко
кому: All
дата: 25 Nov 2005
Hello, Hrumer

2hrumer - Да, как раз 7з мне и открыл глаза на оптимальное сжатие, когда
обычным методом зипа достигается существенно большее сжатие...
Hо нада учитывать, что на спеке файлы жмут обычно маленькие, так что
выигрыш в проценты - это несколько байт ! А мучиться с пакером придётся
долго =)




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Условия распространения - Oб условиях распространения нашего журнала.
Новости - Yаhооо! Пpuколuтecь, я только что откpыл тpu бутылкu "Балтuка-3" тpeхдюймовым дucком ;)
AMIGA vs PC - Сборник вопросов-ответов из ZX-FORMATa

В этот день...   6 декабря