summaryrefslogtreecommitdiffstats
path: root/programs
diff options
context:
space:
mode:
authorYann Collet <yann.collet.73@gmail.com>2014-09-04 21:56:51 (GMT)
committerYann Collet <yann.collet.73@gmail.com>2014-09-04 21:56:51 (GMT)
commitb03f8f0e6f40d17740685e50332b8eedb5117cec (patch)
treeabc0d172e722cd69f7a0594a62cd525d5dffe4f5 /programs
parente619cfe8525f16d382fad1c569c1b71b25ac3d1d (diff)
downloadlz4-b03f8f0e6f40d17740685e50332b8eedb5117cec.zip
lz4-b03f8f0e6f40d17740685e50332b8eedb5117cec.tar.gz
lz4-b03f8f0e6f40d17740685e50332b8eedb5117cec.tar.bz2
fixed : LZ4F_decompress()
more decompress tests
Diffstat (limited to 'programs')
-rw-r--r--programs/frametest.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/programs/frametest.c b/programs/frametest.c
index 2b52190..7742110 100644
--- a/programs/frametest.c
+++ b/programs/frametest.c
@@ -205,13 +205,33 @@ int frameTest(U32 seed, int nbCycles, int startCycle, double compressibility)
DISPLAY("Decompression test : \n");
{
- LZ4F_errorCode_t errorCode = LZ4F_createDecompressionContext(&dCtx);
size_t decodedBufferSize = COMPRESSIBLE_NOISE_LENGTH;
size_t compressedBufferSize = cSize;
+ BYTE* op = (BYTE*)decodedBuffer;
+ BYTE* const oend = (BYTE*)decodedBuffer + COMPRESSIBLE_NOISE_LENGTH;
+ BYTE* ip = (BYTE*)compressedBuffer;
+ BYTE* const iend = (BYTE*)compressedBuffer + cSize;
+ LZ4F_errorCode_t errorCode = LZ4F_createDecompressionContext(&dCtx);
if (LZ4F_isError(errorCode)) goto _output_error;
+
+ DISPLAY("Single Block : \n");
errorCode = LZ4F_decompress(dCtx, decodedBuffer, &decodedBufferSize, compressedBuffer, &compressedBufferSize, NULL);
if (LZ4F_isError(errorCode)) goto _output_error;
DISPLAY("Regenerated %i bytes \n", (int)decodedBufferSize);
+
+ DISPLAY("Byte after byte : \n");
+ while (ip < iend)
+ {
+ size_t oSize = oend-op;
+ size_t iSize = 1;
+ //DISPLAY("%7i \n", (int)(ip-(BYTE*)compressedBuffer));
+ errorCode = LZ4F_decompress(dCtx, op, &oSize, ip, &iSize, NULL);
+ if (LZ4F_isError(errorCode)) goto _output_error;
+ op += oSize;
+ ip += iSize;
+ }
+ DISPLAY("Regenerated %i bytes \n", (int)decodedBufferSize);
+
errorCode = LZ4F_freeDecompressionContext(dCtx);
if (LZ4F_isError(errorCode)) goto _output_error;
}