User Tag List

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

Тема: Подскажите хороший упаковщик графики

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    http://zxdocs.fatal.ru/formats/B/BIT.zip

    Если надо, могу кинуть исходы плагина, там выводилка имеется

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

  3. #2

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ага, вроде понятно все. Только байт разницы -- не меняется, пока маска не укажет? или кроме XOR для получения данных еще что-то надо?..
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  4. #3

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нет не меняется. Вот исходник, может придется чтото подправить для оптимизации. Начальный байт данных и разница равны нулю, т.е. одним нулевым байтом кодируется пустое знакоместо. Может быть другое направление распаковки маски (придется заменить RR C на RL C).

    ;распаковка одного знакоместа
    ;HL- адрес в памяти
    ;DE- адрес первой строки знакоместа


    DEPACKPLC ;HL->DE
    LD C,(HL) ;взяли маску знакоместа
    INC HL
    EX AF,AF'
    XOR A ;начальный байт
    LD B,A ;начальная разница
    MCO EX AF,AF'
    RR C ;выделяем очередной бит
    JR NC,OLBB
    LD B,(HL) ;новая разница- обновляем
    INC HL
    OLBB ;выводим данные
    XOR B
    LD (DE),A
    INC D
    EX AF,AF'
    LD A,D
    AND 7
    JR NZ,MCO
    RET

  5. #4

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    брр...
    запутался теперь что-то
    это A, которое кладется в DE, нигде не сохраняется? получается, лучше всего пакуются байты 255-0-255-0, или 130-125-130-125, т.е. негатив-позитив-негатив? Разве такие последовательности часто встречаются? Странно как-то, если на код смотреть. Или я плохо врубился... А он работает?
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  6. #5

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, и входное значение A -- никак не влияет?
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  7. #6

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обшибся слегка. Надо перед меткой MCO поставить EX AF,AF' (это я на лету писал). Ну еще можно развернуть цикл и вообще избавиться от этих обменов.

    Цитата Сообщение от TomCaT
    получается, лучше всего пакуются байты 255-0-255-0, или 130-125-130-125, т.е. негатив-позитив-негатив? Разве такие последовательности часто встречаются?
    Если исходное изображение является конверсией по floyd-steinberg, то сжатие будет хреновым (равно как и любым другим пакером), а вот если оно по методу threshold или ordered то все замечательно. Плагин к bge (поставляется в комплекте к qhts или скачивается с сайта http://zxdocs.fatal.ru (раздел projects). В нем можно посмотреть сколько будет весить набор изображений в сжатом и расжатом виде. В среднем в 1.5-2 раза получается выигрыш. И это при достаточно высокой скорости распаковки. Ну и плюс итоговые данные хорошо пакуются хрустом.
    ЗЫ. В videostudio также используется этот метод, он оттуда пришел%))

  8. #7

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну, раз работает, значит правильный алгоритм. Хотя я все равно не понимаю, почему просто XOR дает такой выигрыш... и да ладно. Буду пробовать завтра...

    P.S. два EX AF подряд... нельзя ли как-то иначе? Ведь всего только под конец проверить, добрались ли донизу? Надо еще один восьмибитный рег., а в него единицу и RLC ее, тогда и конец определится, и экономия... Может, адрес один в SP положить?
    Последний раз редактировалось TomCaT; 21.09.2006 в 20:20.
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


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

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

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

Похожие темы

  1. FAR: просмотр графики
    от elf/2 в разделе Утилиты
    Ответов: 39
    Последнее: 31.07.2009, 20:18
  2. Хороший эмулятор
    от ian в разделе Эмуляторы
    Ответов: 13
    Последнее: 06.01.2006, 13:43
  3. Лучший конвертер графики ПЦ==>ZX
    от poison в разделе Графика
    Ответов: 37
    Последнее: 05.11.2005, 03:20
  4. Хороший ПЦшный ассемблер - залог успеха!
    от Aprisobal в разделе Программирование
    Ответов: 35
    Последнее: 08.08.2005, 15:25
  5. Хороший ПЦшный редактор спрайтов - залог успеха!
    от Aprisobal в разделе Программирование
    Ответов: 0
    Последнее: 01.03.2005, 00:48

Ваши права

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