Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  1/*
  2 * Copyright (c) Yann Collet, Facebook, Inc.
  3 * All rights reserved.
  4 *
  5 * This source code is licensed under both the BSD-style license (found in the
  6 * LICENSE file in the root directory of this source tree) and the GPLv2 (found
  7 * in the COPYING file in the root directory of this source tree).
  8 * You may select, at your option, one of the above-listed licenses.
  9 */
 10
 11#ifndef ZSTD_CLEVELS_H
 12#define ZSTD_CLEVELS_H
 13
 14#define ZSTD_STATIC_LINKING_ONLY  /* ZSTD_compressionParameters  */
 15#include <linux/zstd.h>
 16
 17/*-=====  Pre-defined compression levels  =====-*/
 18
 19#define ZSTD_MAX_CLEVEL     22
 20
 21__attribute__((__unused__))
 22
 23static const ZSTD_compressionParameters ZSTD_defaultCParameters[4][ZSTD_MAX_CLEVEL+1] = {
 24{   /* "default" - for any srcSize > 256 KB */
 25    /* W,  C,  H,  S,  L, TL, strat */
 26    { 19, 12, 13,  1,  6,  1, ZSTD_fast    },  /* base for negative levels */
 27    { 19, 13, 14,  1,  7,  0, ZSTD_fast    },  /* level  1 */
 28    { 20, 15, 16,  1,  6,  0, ZSTD_fast    },  /* level  2 */
 29    { 21, 16, 17,  1,  5,  0, ZSTD_dfast   },  /* level  3 */
 30    { 21, 18, 18,  1,  5,  0, ZSTD_dfast   },  /* level  4 */
 31    { 21, 18, 19,  3,  5,  2, ZSTD_greedy  },  /* level  5 */
 32    { 21, 18, 19,  3,  5,  4, ZSTD_lazy    },  /* level  6 */
 33    { 21, 19, 20,  4,  5,  8, ZSTD_lazy    },  /* level  7 */
 34    { 21, 19, 20,  4,  5, 16, ZSTD_lazy2   },  /* level  8 */
 35    { 22, 20, 21,  4,  5, 16, ZSTD_lazy2   },  /* level  9 */
 36    { 22, 21, 22,  5,  5, 16, ZSTD_lazy2   },  /* level 10 */
 37    { 22, 21, 22,  6,  5, 16, ZSTD_lazy2   },  /* level 11 */
 38    { 22, 22, 23,  6,  5, 32, ZSTD_lazy2   },  /* level 12 */
 39    { 22, 22, 22,  4,  5, 32, ZSTD_btlazy2 },  /* level 13 */
 40    { 22, 22, 23,  5,  5, 32, ZSTD_btlazy2 },  /* level 14 */
 41    { 22, 23, 23,  6,  5, 32, ZSTD_btlazy2 },  /* level 15 */
 42    { 22, 22, 22,  5,  5, 48, ZSTD_btopt   },  /* level 16 */
 43    { 23, 23, 22,  5,  4, 64, ZSTD_btopt   },  /* level 17 */
 44    { 23, 23, 22,  6,  3, 64, ZSTD_btultra },  /* level 18 */
 45    { 23, 24, 22,  7,  3,256, ZSTD_btultra2},  /* level 19 */
 46    { 25, 25, 23,  7,  3,256, ZSTD_btultra2},  /* level 20 */
 47    { 26, 26, 24,  7,  3,512, ZSTD_btultra2},  /* level 21 */
 48    { 27, 27, 25,  9,  3,999, ZSTD_btultra2},  /* level 22 */
 49},
 50{   /* for srcSize <= 256 KB */
 51    /* W,  C,  H,  S,  L,  T, strat */
 52    { 18, 12, 13,  1,  5,  1, ZSTD_fast    },  /* base for negative levels */
 53    { 18, 13, 14,  1,  6,  0, ZSTD_fast    },  /* level  1 */
 54    { 18, 14, 14,  1,  5,  0, ZSTD_dfast   },  /* level  2 */
 55    { 18, 16, 16,  1,  4,  0, ZSTD_dfast   },  /* level  3 */
 56    { 18, 16, 17,  3,  5,  2, ZSTD_greedy  },  /* level  4.*/
 57    { 18, 17, 18,  5,  5,  2, ZSTD_greedy  },  /* level  5.*/
 58    { 18, 18, 19,  3,  5,  4, ZSTD_lazy    },  /* level  6.*/
 59    { 18, 18, 19,  4,  4,  4, ZSTD_lazy    },  /* level  7 */
 60    { 18, 18, 19,  4,  4,  8, ZSTD_lazy2   },  /* level  8 */
 61    { 18, 18, 19,  5,  4,  8, ZSTD_lazy2   },  /* level  9 */
 62    { 18, 18, 19,  6,  4,  8, ZSTD_lazy2   },  /* level 10 */
 63    { 18, 18, 19,  5,  4, 12, ZSTD_btlazy2 },  /* level 11.*/
 64    { 18, 19, 19,  7,  4, 12, ZSTD_btlazy2 },  /* level 12.*/
 65    { 18, 18, 19,  4,  4, 16, ZSTD_btopt   },  /* level 13 */
 66    { 18, 18, 19,  4,  3, 32, ZSTD_btopt   },  /* level 14.*/
 67    { 18, 18, 19,  6,  3,128, ZSTD_btopt   },  /* level 15.*/
 68    { 18, 19, 19,  6,  3,128, ZSTD_btultra },  /* level 16.*/
 69    { 18, 19, 19,  8,  3,256, ZSTD_btultra },  /* level 17.*/
 70    { 18, 19, 19,  6,  3,128, ZSTD_btultra2},  /* level 18.*/
 71    { 18, 19, 19,  8,  3,256, ZSTD_btultra2},  /* level 19.*/
 72    { 18, 19, 19, 10,  3,512, ZSTD_btultra2},  /* level 20.*/
 73    { 18, 19, 19, 12,  3,512, ZSTD_btultra2},  /* level 21.*/
 74    { 18, 19, 19, 13,  3,999, ZSTD_btultra2},  /* level 22.*/
 75},
 76{   /* for srcSize <= 128 KB */
 77    /* W,  C,  H,  S,  L,  T, strat */
 78    { 17, 12, 12,  1,  5,  1, ZSTD_fast    },  /* base for negative levels */
 79    { 17, 12, 13,  1,  6,  0, ZSTD_fast    },  /* level  1 */
 80    { 17, 13, 15,  1,  5,  0, ZSTD_fast    },  /* level  2 */
 81    { 17, 15, 16,  2,  5,  0, ZSTD_dfast   },  /* level  3 */
 82    { 17, 17, 17,  2,  4,  0, ZSTD_dfast   },  /* level  4 */
 83    { 17, 16, 17,  3,  4,  2, ZSTD_greedy  },  /* level  5 */
 84    { 17, 16, 17,  3,  4,  4, ZSTD_lazy    },  /* level  6 */
 85    { 17, 16, 17,  3,  4,  8, ZSTD_lazy2   },  /* level  7 */
 86    { 17, 16, 17,  4,  4,  8, ZSTD_lazy2   },  /* level  8 */
 87    { 17, 16, 17,  5,  4,  8, ZSTD_lazy2   },  /* level  9 */
 88    { 17, 16, 17,  6,  4,  8, ZSTD_lazy2   },  /* level 10 */
 89    { 17, 17, 17,  5,  4,  8, ZSTD_btlazy2 },  /* level 11 */
 90    { 17, 18, 17,  7,  4, 12, ZSTD_btlazy2 },  /* level 12 */
 91    { 17, 18, 17,  3,  4, 12, ZSTD_btopt   },  /* level 13.*/
 92    { 17, 18, 17,  4,  3, 32, ZSTD_btopt   },  /* level 14.*/
 93    { 17, 18, 17,  6,  3,256, ZSTD_btopt   },  /* level 15.*/
 94    { 17, 18, 17,  6,  3,128, ZSTD_btultra },  /* level 16.*/
 95    { 17, 18, 17,  8,  3,256, ZSTD_btultra },  /* level 17.*/
 96    { 17, 18, 17, 10,  3,512, ZSTD_btultra },  /* level 18.*/
 97    { 17, 18, 17,  5,  3,256, ZSTD_btultra2},  /* level 19.*/
 98    { 17, 18, 17,  7,  3,512, ZSTD_btultra2},  /* level 20.*/
 99    { 17, 18, 17,  9,  3,512, ZSTD_btultra2},  /* level 21.*/
100    { 17, 18, 17, 11,  3,999, ZSTD_btultra2},  /* level 22.*/
101},
102{   /* for srcSize <= 16 KB */
103    /* W,  C,  H,  S,  L,  T, strat */
104    { 14, 12, 13,  1,  5,  1, ZSTD_fast    },  /* base for negative levels */
105    { 14, 14, 15,  1,  5,  0, ZSTD_fast    },  /* level  1 */
106    { 14, 14, 15,  1,  4,  0, ZSTD_fast    },  /* level  2 */
107    { 14, 14, 15,  2,  4,  0, ZSTD_dfast   },  /* level  3 */
108    { 14, 14, 14,  4,  4,  2, ZSTD_greedy  },  /* level  4 */
109    { 14, 14, 14,  3,  4,  4, ZSTD_lazy    },  /* level  5.*/
110    { 14, 14, 14,  4,  4,  8, ZSTD_lazy2   },  /* level  6 */
111    { 14, 14, 14,  6,  4,  8, ZSTD_lazy2   },  /* level  7 */
112    { 14, 14, 14,  8,  4,  8, ZSTD_lazy2   },  /* level  8.*/
113    { 14, 15, 14,  5,  4,  8, ZSTD_btlazy2 },  /* level  9.*/
114    { 14, 15, 14,  9,  4,  8, ZSTD_btlazy2 },  /* level 10.*/
115    { 14, 15, 14,  3,  4, 12, ZSTD_btopt   },  /* level 11.*/
116    { 14, 15, 14,  4,  3, 24, ZSTD_btopt   },  /* level 12.*/
117    { 14, 15, 14,  5,  3, 32, ZSTD_btultra },  /* level 13.*/
118    { 14, 15, 15,  6,  3, 64, ZSTD_btultra },  /* level 14.*/
119    { 14, 15, 15,  7,  3,256, ZSTD_btultra },  /* level 15.*/
120    { 14, 15, 15,  5,  3, 48, ZSTD_btultra2},  /* level 16.*/
121    { 14, 15, 15,  6,  3,128, ZSTD_btultra2},  /* level 17.*/
122    { 14, 15, 15,  7,  3,256, ZSTD_btultra2},  /* level 18.*/
123    { 14, 15, 15,  8,  3,256, ZSTD_btultra2},  /* level 19.*/
124    { 14, 15, 15,  8,  3,512, ZSTD_btultra2},  /* level 20.*/
125    { 14, 15, 15,  9,  3,512, ZSTD_btultra2},  /* level 21.*/
126    { 14, 15, 15, 10,  3,999, ZSTD_btultra2},  /* level 22.*/
127},
128};
129
130
131
132#endif  /* ZSTD_CLEVELS_H */