Цитата Сообщение от nzeemin Посмотреть сообщение
Там, в отличие от "классического" LZSS, управляющие биты сгруппированы в байты, биты "ссылок" устроены как 4 бит длина + 12 бит смещение назад = одно слово, окно получается размером 4 КБ. В такой реализации почти не используются побитовые сдвиги, выборка идёт побайтно.
Это я к тому что вдруг у вас что-то похожее.
Да, именно такое, от Haruhiko Okumura. Но все константы надо проверять (вдруг не 4/12, а 5/11?). (Иначе бы я его на глаз не опознал! А у LZA весь сжатый поток зачем-то проинвертирован.) Выше я уже давал ссылки на него. Еще он применяется в Renesas .PAK. Там метод определяется равенством сжатого и несжатого размеров - если равны, то store, иначе LZSS.

- - - Добавлено - - -

У Вас как минимум 2 отличия: инверсное значение флагов и смещение от текущей позиции вместо смещения от начала буфера.
В LZA больше похоже на версию Haruhiko Okumura.