UVLC на C/ASM?

Тема в разделе "WASM.ZEN", создана пользователем Quantum, 29 ноя 2004.

  1. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Никому не попадалась реализация алгоритма UVLC (Universal Variable Length Code)? Это применяется в алгоритмах сжатия. Желательно на C, но подойдёт и на асме. Или может уже есть готовая либа? Пробую писать с нуля согласно спецификации, но время поджимает...
     
  2. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2002
    Сообщения:
    348
    Универсального не бывает - реализация зависит от максимальных длин которые могут быть закодированы. Но в основе как всегда битовые потоки, так штаа: hXXp://bitsum.com/files/bitio_010804.zip а дальше как-нить сам, например

    value = 1;

    while(GetBit()) value <<= 1;

    while(GetBit()) value += 1;
     
  3. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Dr.Golova



    Это понятно. Я разбиваю входной поток на блоки по 128 байт, немного сжимаю с помощью RLE (rune, level), а далее надо применить VLC :-( Надеялся найти пример реализации, чтоб потом подогнать под свои данные, но ничего конкретного так и не нашёл (кругом полно pdf-ов, которые около-вокруг описывают сам алгоритм). За битовые потоки спасибо!