zlibとQtで解凍するのに問題があります。 私は、zlibで圧縮するべきAsterix Cat 240プロトコル(レーダービデオ送信データ)によって提出されたビデオデータを持っています。 私はQByteArray
内のデータを保存し、そのようにそれを抽出しようとした:抽出するための圧縮解除Zlib
QByteArray compressedRawVideoDataBlock;
QByteArray rawVideoDataBlock;
QVector <QVector <quint8>> videoDataBlock;
//Video Data
resize(rawAsterix.videoDataBlockREP);
for(int r = 0; r<videoDataBlockREP; r++)//index of Video Block
{
for(int b = 0; b<blockSize ; b++)//index of Video Byte
{
compressedRawVideoDataBlock.append(static_cast<quint8>(buffer->at(i)));
videoDataBlock[r].append(static_cast<quint8>(buffer->at(i)));
i++;
}
}
qDebug() << gzipDecompress(compressedRawVideoDataBlock, rawVideoDataBlock);
、私は(Zlib QCompressor)この機能を試してみましたが、それは常にfalseを返し、私はなぜわかりません。
例データ:
videoDataBlockREP=1
blockSize=64
compressedRawVideoDataBlock.toHex() = 7801edd0010d000000c2a0f74f6d0e37884061c0800103060c183060c0800103060c183060c0800103060c183060c0800103060cbc0f0c200000010000000000
あなたのループには何がありますか? – Ilya
@Ilya私のバッファには、圧縮されたビデオデータより多くのデータが含まれているので、私の元のQByteArrayのカウンタです。 – honiahaka10