Parcourir la source

Merge pull request #4 from chenyong111/master

update quicklz sample, modify the padding definition
朱天龙 (Armink) il y a 8 ans
Parent
commit
095345e4ff
2 fichiers modifiés avec 9 ajouts et 6 suppressions
  1. 1 1
      quicklz.h
  2. 8 5
      quicklz_sample.c

+ 1 - 1
quicklz.h

@@ -55,7 +55,7 @@
 #define QLZ_VERSION_REVISION 0
 
 // Buffer padding for destination buffer, least size + 400 bytes large because incompressible data may increase in size.
-#define QLZ_COMPRESS_BUFFER_PADDING    400
+#define QLZ_BUFFER_PADDING    400
 
 // Using size_t, memset() and memcpy()
 #include <string.h>

+ 8 - 5
quicklz_sample.c

@@ -40,10 +40,13 @@
 #define free       rt_free
 
 #define BLOCK_HEADER_SIZE              4
-#define COMPRESS_BUFFER_PADDING        400
+
 #define COMPRESS_BUFFER_SIZE           4096
 #define DCOMPRESS_BUFFER_SIZE          4096
 
+/* Buffer padding for destination buffer, least size + 400 bytes large because incompressible data may increase in size. */
+#define BUFFER_PADDING                 QLZ_BUFFER_PADDING
+
 #if QLZ_STREAMING_BUFFER != 0
     #error Define QLZ_STREAMING_BUFFER to a zero value for this demo
 #endif
@@ -61,7 +64,7 @@ static int quicklz_compress_file(int fd_in, int fd_out)
     file_size = lseek(fd_in, 0, SEEK_END);
     lseek(fd_in, 0, SEEK_SET);
 
-    cmprs_buffer = (rt_uint8_t *) malloc(COMPRESS_BUFFER_SIZE + COMPRESS_BUFFER_PADDING);
+    cmprs_buffer = (rt_uint8_t *) malloc(COMPRESS_BUFFER_SIZE + BUFFER_PADDING);
     buffer = (rt_uint8_t *) malloc(COMPRESS_BUFFER_SIZE);
     if (!cmprs_buffer || !buffer)
     {
@@ -93,7 +96,7 @@ static int quicklz_compress_file(int fd_in, int fd_out)
         }
 
         memset(buffer, 0x00, COMPRESS_BUFFER_SIZE);
-        memset(cmprs_buffer, 0x00, COMPRESS_BUFFER_SIZE + COMPRESS_BUFFER_PADDING);
+        memset(cmprs_buffer, 0x00, COMPRESS_BUFFER_SIZE + BUFFER_PADDING);
 
         read(fd_in, buffer, block_size);
 
@@ -157,7 +160,7 @@ static int quicklz_decompress_file(int fd_in, int fd_out)
     }
 
     dcmprs_buffer = (rt_uint8_t *) malloc(DCOMPRESS_BUFFER_SIZE);
-    buffer = (rt_uint8_t *) malloc(DCOMPRESS_BUFFER_SIZE + COMPRESS_BUFFER_PADDING);
+    buffer = (rt_uint8_t *) malloc(DCOMPRESS_BUFFER_SIZE + BUFFER_PADDING);
     if (!dcmprs_buffer || !buffer)
     {
         rt_kprintf("[qlz] No memory for dcmprs_buffer or buffer!\n");
@@ -181,7 +184,7 @@ static int quicklz_decompress_file(int fd_in, int fd_out)
         read(fd_in, buffer_hdr, BLOCK_HEADER_SIZE);
         block_size = buffer_hdr[0] * (1 << 24) + buffer_hdr[1] * (1 << 16) + buffer_hdr[2] * (1 << 8) + buffer_hdr[3];
 
-        memset(buffer, 0x00, COMPRESS_BUFFER_SIZE + COMPRESS_BUFFER_PADDING);
+        memset(buffer, 0x00, COMPRESS_BUFFER_SIZE + BUFFER_PADDING);
         memset(dcmprs_buffer, 0x00, DCOMPRESS_BUFFER_SIZE);
 
         read(fd_in, buffer, block_size);