Важная информация

User Tag List

Показано с 1 по 10 из 114

Тема: Сжатие и упаковка. hrum3.5, hrust1, hrust2, laser compact x.x.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Member
    Регистрация
    17.01.2005
    Адрес
    Gorno-Altaysk
    Сообщений
    82
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Сжатие и упаковка. hrum3.5, hrust1, hrust2, laser compact x.x.

    Добрый вечер!

    В День Дурака хотелось бы открыть свою новую тему, в которой осветить особенности, хитрости, и прочие радости сабжа, тем более что, в общем то и обещал.

    Алгоритмы выдуманные(в т.ч. велосипедные), реализованные, не реализованные и непридуманные(пока еще). Буду пополнять тему, а пока начну с краткого. Вдруг кому пригодится. Буду рад, если кто поделится мыслями.

    Совершенно ясно, что писатели пакеров-депакеров, архиваторов берут, придумывают всякие эммм... хорошие вещи, и никому ничего не говорят. Но бывают и говорят, но очень уж редко. Или того хуже, патентуют . Но здесь не об этом. Заглянете в какой архиватор(исходники), а там такого напридумано... И никто ниче не пишет, что такого придумал. Высшая математика, теоремы, теория вероятностей и прочее...


    Для сабжа все проще! Никакой вышки. 15-19 лет прошло, можно кое что вспомнить

    Итак, общее для сабжевых пакеров: в них не все коды задействованы... Почему? Инфу выложу позже...

    Для затравки, с хруста1:
    Где то в середине 2013г понял, что кое чего пропустил в формате хруста1. Открыл записи, и правда, ага. Светокопию где была зарыта собака выложу завтра. Или в ближайшие полгода. Шутка. Записи 96-97 года. Хех.

    Итак, в хрусте1, помимо обычного LZ применяется еще кодирование вида AxC, т.е. такого, когда при ранее встреченной последовательности ABC вдруг(ну надо же!) встречается AEC. Берем, и вместо неё пишем код особый, далее расстояние, а потом и символ "Е". Это позволяет на уж совсем вроде бы непакующихся данных кое что сжимать.

    Дистанция при этом кодировалась вариантами 16+32+32-1 = 79. т.е. от 1 до 79. Дистанциям от 1 до 16 присваивался код более короткий. После какого то ветвления (т.е. префикса), в виде 4 бит. Однако, такую же последовательность, AEC, при ранее встреченной последовательности ABC на дистанции от 1 до 8 байт можно было закодировать по другому, в виде <LEN=1, DIST=1..8>. В результате последний вариант проверялся первым, и кодирование типа AxC для дистанций 1..8 не применялось. А значит, для кодирования дистанций для случая 1..16, а фактически для 9..16 хватало бы 3 бит, а не 4. Что привело бы к повышению сжатия.

    Продолжу не 1 апреля...

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Архивирование, сжатие, упаковка.
    от GriV в разделе Программирование
    Ответов: 30
    Последнее: 22.07.2019, 17:25
  2. ɹǀɩ ATARI. Упаковка данных
    от breeze в разделе Atari
    Ответов: 4
    Последнее: 16.11.2014, 15:55
  3. Баг в depacker от hrust1.3?
    от moroz1999 в разделе Программирование
    Ответов: 65
    Последнее: 17.04.2014, 10:39
  4. Упаковка текстов
    от Shadow Maker в разделе Программирование
    Ответов: 18
    Последнее: 10.10.2008, 21:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •