Смотрел на сайте 7z: там лежит SDK и все, мол пользуйте нашу имплементацию и не выпендривайтесь. Текстового описания сжатия/распаковки, формата .lzma я так и не нашел. Можно конечно разбирать исходники на Си, только что попробовал это: пока нашел, за что отвечают первые 5+8 байт файла, прошло 15 минут, такими темпами я через несколько лет его разбиру, комментариев в исходниках нет, имена переменных не всегда понятны.
Зато нашел на других сайтах вопли, что нормального описания нет.
Мне же готовая имплементация не подходит, мне нужно самому изобрести велосипед, но с использованием только uint16, ибо 32-битных переменных нима + добавить распаковку с произвольного места (работа со state), дабы можно было распаковывать совсем мелкие части, расположенные в разных частях архива без полной распаковки.