Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Распаковка данных в формате ULZ на Ассемблере

21.01.2021 | Категория: Образ мышления: Assembler | Автор: ManHunter

Распаковка данных в формате ULZ на Ассемблере

Алгоритм упаковки ULZ (Ultra-fast LZ) был разработан Ильей Муравьевым в 2010 году, а в 2019 году выложен в открытый доступ. Илью вы должны помнить по модификации упаковщика LZ4. Алгоритм ULZ стал очередным развитием классического LZ77, но с максимальным упором на скорость упаковки и распаковки данных.

Читать статью целиком »
Просмотров: 288 | Комментариев: 4

Упаковка и распаковка данных в формате LZ77 на Ассемблере

13.01.2021 | Категория: Образ мышления: Assembler | Автор: ManHunter

Упаковка и распаковка данных в формате LZ77 на Ассемблере

Алгоритм сжатия LZ77, также известный как LZ1, впервые был опубликован в 1977 году и получил свое название по первым буквам фамилий его авторов - Abraham Lempel и Jacob Ziv. LZ77 стал родоначальником для множества других алгоритмов сжатия, в том числе и разобранных в предыдущих статьях. Из-за особенностей реализации, более-менее приличные результаты алгоритм показывает на данных с повторяющимися элементами. Например, текст или разреженные двоичные данные. Данные с уникальными последовательностями не только плохо сжимаются, но даже могут увеличиваться в размере после сжатия, так как к ним прибавляются служебные данные для распаковки.

Читать статью целиком »
Просмотров: 321 | Комментариев: 1

Распаковка данных в формате BitBuster на Ассемблере

23.12.2020 | Категория: Образ мышления: Assembler | Автор: ManHunter

Распаковка данных в формате BitBuster на Ассемблере

BitBuster - высокоэффективный алгоритм сжатия данных от GameDev-команды Team Bomba. Исходный код упаковщика и распаковщика открыт, но готовых ассемблерных распаковщиков для BitBuster не было. Ну ничего, посидел вечерок в отладчике, портировал алгоритм распаковки с Си на Ассемблер, теперь есть.

Читать статью целиком »
Просмотров: 452 | Комментариев: 0

Распаковка данных в формате LZE на Ассемблере

20.12.2020 | Категория: Образ мышления: Assembler | Автор: ManHunter

Распаковка данных в формате LZE на Ассемблере

Продолжаем тему о распаковке сжатых данных. Сегодня это будет алгоритм LZE. Этот алгоритм разработал в далеком 1989 году Fabrice Bellard, известный как один из разработчиков проекта FFmpeg и упаковщика исполняемых файлов LZEXE, популярного во времена MS-DOS. В этом упаковщике и применялся указанный алгоритм. Fabrice Bellard не стал выкладывать описание LZE в публичный доступ, но в 1995 году японец Hiroaki Goto отреверсил алгоритм и опубликовал его на своем сайте. Я перевел его функцию распаковки с 16-битного Ассемблера на 32-битный, теперь ее, так же как и LZ4, можно использовать в своих проектах.

Читать статью целиком »
Просмотров: 319 | Комментариев: 0

Распаковка данных в формате LZ4 на Ассемблере

11.12.2020 | Категория: Образ мышления: Assembler | Автор: ManHunter

Распаковка данных в формате LZ4 на Ассемблере

Алгоритм сжатия LZ4 был разработан Yann Collet в 2011-м году. При небольшом размере упаковщика и распаковщика, LZ4 обладает очень высокой скоростью обработки данных и хорошей степенью компрессии, поэтому используется в большом числе серьезных проектов. На офсайте есть ссылки на реализации этого алгоритма на различных языках программирования, в том числе и вариант на 16-битном Ассемблере от Jim Leonard. Для использования в своих программах я адаптировал его функцию распаковки LZ4.

Читать статью целиком »
Просмотров: 554 | Комментариев: 3

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2021
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.18 сек. / MySQL: 3 (0.0715 сек.) / Память: 5 Mb
Наверх