]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
modified : compression Levels for blocks <= 16KB
authorYann Collet <yann.collet.73@gmail.com>
Sat, 13 Feb 2016 14:07:24 +0000 (15:07 +0100)
committerYann Collet <yann.collet.73@gmail.com>
Sat, 13 Feb 2016 14:07:24 +0000 (15:07 +0100)
lib/zstd_compress.c

index a1c7d2652159bd38e62befcd5fd74cce7368b5fa..01d5dce7d7d63e583e470c7a075b9d80a00a5ae8 100644 (file)
@@ -2290,7 +2290,7 @@ static const ZSTD_parameters ZSTD_defaultParameters[4][ZSTD_MAX_CLEVEL+1] = {
     {  0, 26, 27, 25, 10,  4,256, ZSTD_opt_bt  },  /* level 21 */
 },
 {   /* for srcSize <= 256 KB */
-    /*    SL,  W,  C,  H,  S,  L, strat */
+    /*   SL,  W,  C,  H,  S,  L,T, strat */
     {    0, 18, 13, 14,  1,  7, 4, ZSTD_fast    },  /* level  0 - never used */
     {    0, 18, 14, 15,  1,  6, 4, ZSTD_fast    },  /* level  1 */
     {    0, 18, 14, 15,  1,  5, 4, ZSTD_fast    },  /* level  2 */
@@ -2300,19 +2300,19 @@ static const ZSTD_parameters ZSTD_defaultParameters[4][ZSTD_MAX_CLEVEL+1] = {
     {    0, 18, 13, 15,  4,  4, 4, ZSTD_lazy    },  /* level  6 */
     {    0, 18, 14, 16,  5,  4, 4, ZSTD_lazy    },  /* level  7 */
     {    0, 18, 15, 16,  6,  4, 4, ZSTD_lazy    },  /* level  8 */
-    {    0, 18, 15, 15,  7,  4, 4, ZSTD_lazy    },  /* level  9 */
-    {    0, 18, 16, 16,  7,  4, 4, ZSTD_lazy    },  /* level 10 */
-    {    0, 18, 16, 16,  8,  4, 4, ZSTD_lazy    },  /* level 11 */
-    {    0, 18, 17, 16,  8,  4, 4, ZSTD_lazy    },  /* level 12 */
-    {    0, 18, 17, 16,  9,  4, 4, ZSTD_lazy    },  /* level 13 */
-    {    0, 18, 18, 16,  9,  4, 4, ZSTD_lazy    },  /* level 14 */
+    {    0, 18, 15, 15,  5,  4, 8, ZSTD_opt     },  /* level  9 */
+    {    0, 18, 16, 16,  6,  4,12, ZSTD_opt     },  /* level 10 */
+    {    0, 18, 16, 16,  7,  4,16, ZSTD_opt     },  /* level 11 */
+    {    0, 18, 17, 16,  8,  4,20, ZSTD_opt     },  /* level 12 */
+    {    0, 18, 17, 16,  9,  4,24, ZSTD_opt     },  /* level 13 */
+    {    0, 18, 18, 16,  9,  4,32, ZSTD_opt     },  /* level 14 */
     {    0, 18, 17, 17,  9,  4, 4, ZSTD_lazy2   },  /* level 15 */
     {    0, 18, 18, 18,  9,  4, 4, ZSTD_lazy2   },  /* level 16 */
     {    0, 18, 18, 18, 10,  4, 4, ZSTD_lazy2   },  /* level 17 */
-    {    0, 18, 18, 18, 11,  4, 4, ZSTD_lazy2   },  /* level 18 */
-    {    0, 18, 18, 18, 12,  4, 4, ZSTD_lazy2   },  /* level 19 */
-    {    0, 18, 18, 18, 13,  4, 4, ZSTD_lazy2   },  /* level 20 */
-    {    0, 18, 18, 18, 10,  4, 4, ZSTD_lazy2   },  /* level ??? */
+    {    0, 18, 19, 18, 11,  4, 4, ZSTD_btlazy2 },  /* level 18 */
+    {    0, 18, 19, 18, 12,  4,32, ZSTD_opt_bt  },  /* level 19 */
+    {    0, 18, 19, 18, 13,  4,64, ZSTD_opt_bt  },  /* level 20 */
+    {    0, 18, 19, 18, 10,  4,128,ZSTD_opt_bt  },  /* level 21 */
 },
 {   /* for srcSize <= 128 KB */
     /* l,  W,  C,  H,  S,  L,  T, strat */
@@ -2341,29 +2341,29 @@ static const ZSTD_parameters ZSTD_defaultParameters[4][ZSTD_MAX_CLEVEL+1] = {
 
 },
 {   /* for srcSize <= 16 KB */
-    /*     W,  C,  H,  S,  L, strat */
-    {    0,  0,  0,  0,  0,  0, 4, ZSTD_fast    },  /* level  0 - never used */
-    {    0, 14, 14, 14,  1,  4, 4, ZSTD_fast    },  /* level  1 */
-    {    0, 14, 14, 16,  1,  4, 4, ZSTD_fast    },  /* level  2 */
-    {    0, 14, 14, 14,  5,  4, 4, ZSTD_greedy  },  /* level  3 */
-    {    0, 14, 14, 14,  8,  4, 4, ZSTD_greedy  },  /* level  4 */
-    {    0, 14, 11, 14,  6,  4, 4, ZSTD_lazy    },  /* level  5 */
-    {    0, 14, 14, 13,  6,  5, 4, ZSTD_lazy    },  /* level  6 */
-    {    0, 14, 14, 14,  7,  6, 4, ZSTD_lazy    },  /* level  7 */
-    {    0, 14, 14, 14,  8,  4, 4, ZSTD_lazy    },  /* level  8 */
-    {    0, 14, 14, 15,  9,  4, 4, ZSTD_lazy    },  /* level  9 */
-    {    0, 14, 14, 15, 10,  4, 4, ZSTD_lazy    },  /* level 10 */
-    {    0, 14, 15, 15,  6,  4, 4, ZSTD_btlazy2 },  /* level 11 */
-    {    0, 14, 15, 15,  7,  4, 4, ZSTD_btlazy2 },  /* level 12 */
-    {    0, 14, 15, 15,  8,  4, 4, ZSTD_btlazy2 },  /* level 13 */
-    {    0, 14, 15, 15,  9,  4, 4, ZSTD_btlazy2 },  /* level 14 */
-    {    0, 14, 15, 15, 10,  4, 8, ZSTD_opt     },  /* level 15 */
-    {    0, 14, 15, 15, 11,  4,12, ZSTD_opt     },  /* level 16 */
-    {    0, 14, 15, 15, 12,  4,16, ZSTD_opt     },  /* level 17 */
-    {    0, 14, 15, 15, 13,  4,16, ZSTD_opt_bt  },  /* level 18 */
-    {    0, 14, 15, 15, 14,  4,32, ZSTD_opt_bt  },  /* level 19 */
-    {    0, 14, 15, 15, 15,  4,64, ZSTD_opt_bt  },  /* level 20 */
-    {    0, 14, 15, 15, 12,  4,128,ZSTD_opt_bt  },  /* level 21 */
+    /* l,  W,  C,  H,  S,  L,  T, strat */
+    {  0,  0,  0,  0,  0,  0,  0, ZSTD_fast    },  /* level  0 -- never used */
+    {  0, 14, 14, 14,  1,  4,  4, ZSTD_fast    },  /* level  1 */
+    {  0, 14, 14, 15,  1,  4,  4, ZSTD_fast    },  /* level  2 */
+    {  0, 14, 13, 15,  4,  4,  4, ZSTD_greedy  },  /* level  3 */
+    {  0, 14, 14, 15,  3,  4,  4, ZSTD_lazy    },  /* level  4 */
+    {  0, 14, 14, 14,  6,  4,  4, ZSTD_lazy    },  /* level  5 */
+    {  0, 14, 14, 14,  5,  4,  4, ZSTD_lazy2   },  /* level  6 */
+    {  0, 14, 14, 14,  7,  4,  4, ZSTD_lazy2   },  /* level  7 */
+    {  0, 14, 14, 14,  8,  4,  4, ZSTD_lazy2   },  /* level  8 */
+    {  0, 14, 14, 14,  9,  4,  4, ZSTD_lazy2   },  /* level  9 */
+    {  0, 14, 14, 14, 10,  4,  4, ZSTD_lazy2   },  /* level 10 */
+    {  0, 14, 14, 14, 11,  4,  4, ZSTD_lazy2   },  /* level 11 */
+    {  0, 14, 15, 15, 12,  4, 32, ZSTD_opt_bt  },  /* level 12 */
+    {  0, 14, 15, 15, 12,  4, 64, ZSTD_opt_bt  },  /* level 13 */
+    {  0, 14, 15, 15, 12,  4, 96, ZSTD_opt_bt  },  /* level 14 */
+    {  0, 14, 15, 15, 12,  4,128, ZSTD_opt_bt  },  /* level 15 */
+    {  0, 14, 15, 15, 12,  4,256, ZSTD_opt_bt  },  /* level 16 */
+    {  0, 14, 15, 15, 13,  4,256, ZSTD_opt_bt  },  /* level 17 */
+    {  0, 14, 15, 15, 14,  4,256, ZSTD_opt_bt  },  /* level 18 */
+    {  0, 14, 15, 15, 15,  4,256, ZSTD_opt_bt  },  /* level 19 */
+    {  0, 14, 15, 15, 16,  4,256, ZSTD_opt_bt  },  /* level 20 */
+    {  0, 14, 15, 15, 17,  4,256, ZSTD_opt_bt  },  /* level 21 */
 },
 };