Qt Run Length Encoding (RLE) QByteArray

Я хочу выполнить кодирование длины цикла в массиве Qt QByteArray с большим количеством избыточных данных изображения. Прямо сейчас я использую функции QByteArrays qCompress и qUncompress, которые используют zlib с параметром сжатия по умолчанию.

После поиска в Google я не нашел никаких сторонних библиотек или компонентов Qt, которые, кажется, делают RLE из коробки. Может ли кто-нибудь указать мне кодировку RLE для Qt?

Спасибо -


person PhilBot    schedule 24.01.2013    source источник
comment
проголосуйте за, потому что вы даете мне ключ к решению моей проблемы. кстати как работает qCompress? например, каково его поведение для такой строки: qCompress(aaaaaaa55555ferfrer)? у меня вроде не работает. каков вывод?   -  person BattleTested_закалённый в бою    schedule 13.08.2018


Ответы (1)


Нет RLE, который я мог бы найти в Qt или у третьих лиц. Для QByteArrays qCompress и qUncompress нормально работают для сжатия, но не могут работать со стандартным сжатием zlib из других источников из-за того, что эти функции Qt добавляют дополнительные 4 байта к данным, описывающим QByteArray. Quazip ( http://quazip.sourceforge.net/ ) выглядел многообещающе, но не соответствовал моим потребностям. Я только что написал свой собственный RLE.

person PhilBot    schedule 29.01.2013