User Tag List

Страница 4 из 12 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 114

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

  1. #31

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

    По умолчанию

    На днях встретил: http://www.compression.ru/download/a...m_encoding.pdf

    В.В. Семенюк, на русском, 2001год. Особенно интересен разбор LZRW 1-4. Рекомендую. Мало что конечно можно применить на спеке, потому как распаковщики будут тормозные, и потребуют лишнюю память.

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

  3. #32

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

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Что если у нас есть ветка, которая вставляет L байтов (i=0..L-1) следующим образом:
    mem[pointer+i] = mem[pointer+i-disp] xor <data[i]>
    Где <data[i]> - только младшие N битов, причём N вычисляется так (вариация на тему DAKX):

    N=curN[L]
    Читаем из потока биты и считаем число единиц M - до первого нуля или пока N+M-1 < 8
    N=N+M-1
    curN[pointer mod disp]=N

    Такое кодирование может оптимизировать много вызовов типа:
    ld hl,nn
    ld a,n
    call nn

    или развёрнутых лупов типа
    add hl,bc
    ld a,h
    ld e,n
    ld (de),a

    В последнем случае L=disp.
    Ты прям как Алекс Юстасу, сразу зашифровал и закодил

    Я так понимаю, на примере:

    Ранее встречалось:

    00 11 56 92 34 CD

    встретилось:

    01 10 56 93 36 CD

    Кодируем длину, дистанцию, колво бит, от 1 до.. ну, наверное, 4, и далее биты. В результате наложения этих бит по XOR с ранее встреченной строкой получаем текущую строку.

    Верно?

    ---------- Post added at 11:59 ---------- Previous post was at 11:50 ----------

    Цитата Сообщение от alone Посмотреть сообщение
    Потому что, например, между значениями 2 и 7 нужно ксорить всего 3 бита, а для сложения надо 3 бита и знак, т.е. 4 бита.

    ---------- Post added at 14:01 ---------- Previous post was at 14:00 ----------

    Вообще интересно было бы послушать идеи, как в рамках этой концепции кодировать ксоры типа #80 (1 сдвинутый бит).
    Добавить маску для битов в виде 1 байта. %10000000. Можно вот так даже:
    %10101010. Типа, есть данные, где четные биты не меняются.

    upd: при таком подходе в 1 байте уже есть инфа как о месте изменяющихся бит, так и о длине бит.
    Последний раз редактировалось Hrumer; 14.04.2014 в 09:01. Причина: добавил мыслей.

  4. #33

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

    По умолчанию

    К Laser Compact 5.2 "портированным" на си Никитой Бурнашевым в 2004г добавил Optimal LZH. Выгода от 30 до 100 байт. Осталось прикрутить депакер.

    Надо сделать поддержку сжатия 1/3, 2/3 экрана?
    Надо сделать депакер еще более коротким, но в 1,5 раза медленнее?
    И еще более коротким, но не релоцируемым?

  5. #34

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hrumer Посмотреть сообщение
    Надо сделать депакер еще более коротким, но в 1,5 раза медленнее?
    если это относится к выводу картинки, то наверное нет.
    (кому нравятся аттрибуты выводимые рывком)

  6. #35

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

    По умолчанию

    А, кстати, аттрибуты с такой же скоростью будут выводиться.

  7. #36

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а про `оптимизацию` аттрибутов не-думал ?


    оригинал


    обработка


    обработанный вариант после упаковки LC5.2 на один сектор меньше

  8. #37

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

    По умолчанию

    Раньше думал. Но мой алгоритм оптимизации 1999 года давал отрицательный результат. Дай пожалуйста эти 2 варианта в 6912. Результат сюда выложу, сравним всё.


    Апдейт:
    Не 1999 года, и не для LC5. Я такой алгоритм делал для LC4, где особое отношение к "0". Да и то алгоритм был тупым - инвертировал цвета, если получалось нулей больше.

    Апд2: Неужели это такой хитро-простой алгоритм, который в основе своей для решения, чего же делать, опирается не на ч-б картинку, а на аттрибуты, и обработка начинается с аттрибутов???

    Апд3: На вскидку и это представление не самое оптимальное, см. верхний правый прямоугольник размером примерно 9*1. надо бы его инвертировать. Но надо тестить.


    Апд4: нашел оригинал. На оригинале выигрыш 98 байт. Без изменения картинки, какая есть, такая есть.

    Апд5: они просматриваются, например, фаром с плагинами от halfelf.
    Апд6: забыл сказать самое главное - 1 сектор это круто, но сколько байтов?
    Вложения Вложения
    Последний раз редактировалось Hrumer; 26.10.2014 в 20:36.

  9. #38

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hrumer Посмотреть сообщение
    Апд6: забыл сказать самое главное - 1 сектор это круто, но сколько байтов?
    111

  10. #39

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А где лежит упаковщик на PC в LC5?
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  11. #40

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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



    на тот момент это была достаточно мощная программа, 5 вариантов упаковки + красивый вывод картинки
    (fade in/out)



    сейчас LC 5.x сжимает лучше, но оптимизировав предварительно картинку можно выиграть в размере.

    главный минус уничтожение скрытых надписей и нежелательное изменение аттрибутов - если часть картинки (рамка) используется в игре. как пример LastNinjaII,Barbarian
    Последний раз редактировалось goodboy; 27.10.2014 в 09:50.

Страница 4 из 12 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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