Я использую MiniLZO для проекта для некоторых действительно простых задач сжатия. Я сжимаю одну программу и декомпрессию с другой. Я хотел бы знать, сколько места выделяется для буфера декомпрессии. Я в порядке с избыточным распределением пространства, если это может избавить меня от необходимости комментировать мой выходной файл целым числом, объявляющим, сколько места должны были бы декомпрессированные данные. Как бы я понял, сколько места он может взять?Размер буфера декомпрессии LZO
После некоторого рассмотрения, я думаю, этот вопрос сводится к следующему: Какова максимальная степень сжатия сжатия lzo1x?
Это тоже хорошее предложение, но оно добавляет аннотации - именно то, чего я надеялся избежать. Таким образом, я могу просто сжать мои данные в одном блоке (так как он уже сохранен) и аннотировать его размером блока. – Benson
Я думал, вы просто хотели избежать хранения * распакованного * размера на выходе. Я не думаю, что вы можете избежать хранения какого-либо маркера конца блока, если только вы не убедитесь, что входные блоки всегда меньше N байтов; то каждый сжатый поток имеет ровно один блок, поэтому вам не нужен разделитель. Или вы можете расширить декомпрессор, чтобы возвращать частичный результат и код «больше делать», когда он заполняет буфер, поэтому вы можете называть его повторно, чтобы распаковать весь ввод. –
Все хорошие предложения, но я думаю, что сохранение размера распакованного буфера будет проще. Итак, я думаю, что ответ на мой вопрос - это «справиться с этим и аннотировать с декомпрессированным размером». – Benson