The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/zstd/lib/compress/clevels.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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 "../zstd.h"
   16 
   17 /*-=====  Pre-defined compression levels  =====-*/
   18 
   19 #define ZSTD_MAX_CLEVEL     22
   20 
   21 #ifdef __GNUC__
   22 __attribute__((__unused__))
   23 #endif
   24 
   25 static const ZSTD_compressionParameters ZSTD_defaultCParameters[4][ZSTD_MAX_CLEVEL+1] = {
   26 {   /* "default" - for any srcSize > 256 KB */
   27     /* W,  C,  H,  S,  L, TL, strat */
   28     { 19, 12, 13,  1,  6,  1, ZSTD_fast    },  /* base for negative levels */
   29     { 19, 13, 14,  1,  7,  0, ZSTD_fast    },  /* level  1 */
   30     { 20, 15, 16,  1,  6,  0, ZSTD_fast    },  /* level  2 */
   31     { 21, 16, 17,  1,  5,  0, ZSTD_dfast   },  /* level  3 */
   32     { 21, 18, 18,  1,  5,  0, ZSTD_dfast   },  /* level  4 */
   33     { 21, 18, 19,  3,  5,  2, ZSTD_greedy  },  /* level  5 */
   34     { 21, 18, 19,  3,  5,  4, ZSTD_lazy    },  /* level  6 */
   35     { 21, 19, 20,  4,  5,  8, ZSTD_lazy    },  /* level  7 */
   36     { 21, 19, 20,  4,  5, 16, ZSTD_lazy2   },  /* level  8 */
   37     { 22, 20, 21,  4,  5, 16, ZSTD_lazy2   },  /* level  9 */
   38     { 22, 21, 22,  5,  5, 16, ZSTD_lazy2   },  /* level 10 */
   39     { 22, 21, 22,  6,  5, 16, ZSTD_lazy2   },  /* level 11 */
   40     { 22, 22, 23,  6,  5, 32, ZSTD_lazy2   },  /* level 12 */
   41     { 22, 22, 22,  4,  5, 32, ZSTD_btlazy2 },  /* level 13 */
   42     { 22, 22, 23,  5,  5, 32, ZSTD_btlazy2 },  /* level 14 */
   43     { 22, 23, 23,  6,  5, 32, ZSTD_btlazy2 },  /* level 15 */
   44     { 22, 22, 22,  5,  5, 48, ZSTD_btopt   },  /* level 16 */
   45     { 23, 23, 22,  5,  4, 64, ZSTD_btopt   },  /* level 17 */
   46     { 23, 23, 22,  6,  3, 64, ZSTD_btultra },  /* level 18 */
   47     { 23, 24, 22,  7,  3,256, ZSTD_btultra2},  /* level 19 */
   48     { 25, 25, 23,  7,  3,256, ZSTD_btultra2},  /* level 20 */
   49     { 26, 26, 24,  7,  3,512, ZSTD_btultra2},  /* level 21 */
   50     { 27, 27, 25,  9,  3,999, ZSTD_btultra2},  /* level 22 */
   51 },
   52 {   /* for srcSize <= 256 KB */
   53     /* W,  C,  H,  S,  L,  T, strat */
   54     { 18, 12, 13,  1,  5,  1, ZSTD_fast    },  /* base for negative levels */
   55     { 18, 13, 14,  1,  6,  0, ZSTD_fast    },  /* level  1 */
   56     { 18, 14, 14,  1,  5,  0, ZSTD_dfast   },  /* level  2 */
   57     { 18, 16, 16,  1,  4,  0, ZSTD_dfast   },  /* level  3 */
   58     { 18, 16, 17,  3,  5,  2, ZSTD_greedy  },  /* level  4.*/
   59     { 18, 17, 18,  5,  5,  2, ZSTD_greedy  },  /* level  5.*/
   60     { 18, 18, 19,  3,  5,  4, ZSTD_lazy    },  /* level  6.*/
   61     { 18, 18, 19,  4,  4,  4, ZSTD_lazy    },  /* level  7 */
   62     { 18, 18, 19,  4,  4,  8, ZSTD_lazy2   },  /* level  8 */
   63     { 18, 18, 19,  5,  4,  8, ZSTD_lazy2   },  /* level  9 */
   64     { 18, 18, 19,  6,  4,  8, ZSTD_lazy2   },  /* level 10 */
   65     { 18, 18, 19,  5,  4, 12, ZSTD_btlazy2 },  /* level 11.*/
   66     { 18, 19, 19,  7,  4, 12, ZSTD_btlazy2 },  /* level 12.*/
   67     { 18, 18, 19,  4,  4, 16, ZSTD_btopt   },  /* level 13 */
   68     { 18, 18, 19,  4,  3, 32, ZSTD_btopt   },  /* level 14.*/
   69     { 18, 18, 19,  6,  3,128, ZSTD_btopt   },  /* level 15.*/
   70     { 18, 19, 19,  6,  3,128, ZSTD_btultra },  /* level 16.*/
   71     { 18, 19, 19,  8,  3,256, ZSTD_btultra },  /* level 17.*/
   72     { 18, 19, 19,  6,  3,128, ZSTD_btultra2},  /* level 18.*/
   73     { 18, 19, 19,  8,  3,256, ZSTD_btultra2},  /* level 19.*/
   74     { 18, 19, 19, 10,  3,512, ZSTD_btultra2},  /* level 20.*/
   75     { 18, 19, 19, 12,  3,512, ZSTD_btultra2},  /* level 21.*/
   76     { 18, 19, 19, 13,  3,999, ZSTD_btultra2},  /* level 22.*/
   77 },
   78 {   /* for srcSize <= 128 KB */
   79     /* W,  C,  H,  S,  L,  T, strat */
   80     { 17, 12, 12,  1,  5,  1, ZSTD_fast    },  /* base for negative levels */
   81     { 17, 12, 13,  1,  6,  0, ZSTD_fast    },  /* level  1 */
   82     { 17, 13, 15,  1,  5,  0, ZSTD_fast    },  /* level  2 */
   83     { 17, 15, 16,  2,  5,  0, ZSTD_dfast   },  /* level  3 */
   84     { 17, 17, 17,  2,  4,  0, ZSTD_dfast   },  /* level  4 */
   85     { 17, 16, 17,  3,  4,  2, ZSTD_greedy  },  /* level  5 */
   86     { 17, 16, 17,  3,  4,  4, ZSTD_lazy    },  /* level  6 */
   87     { 17, 16, 17,  3,  4,  8, ZSTD_lazy2   },  /* level  7 */
   88     { 17, 16, 17,  4,  4,  8, ZSTD_lazy2   },  /* level  8 */
   89     { 17, 16, 17,  5,  4,  8, ZSTD_lazy2   },  /* level  9 */
   90     { 17, 16, 17,  6,  4,  8, ZSTD_lazy2   },  /* level 10 */
   91     { 17, 17, 17,  5,  4,  8, ZSTD_btlazy2 },  /* level 11 */
   92     { 17, 18, 17,  7,  4, 12, ZSTD_btlazy2 },  /* level 12 */
   93     { 17, 18, 17,  3,  4, 12, ZSTD_btopt   },  /* level 13.*/
   94     { 17, 18, 17,  4,  3, 32, ZSTD_btopt   },  /* level 14.*/
   95     { 17, 18, 17,  6,  3,256, ZSTD_btopt   },  /* level 15.*/
   96     { 17, 18, 17,  6,  3,128, ZSTD_btultra },  /* level 16.*/
   97     { 17, 18, 17,  8,  3,256, ZSTD_btultra },  /* level 17.*/
   98     { 17, 18, 17, 10,  3,512, ZSTD_btultra },  /* level 18.*/
   99     { 17, 18, 17,  5,  3,256, ZSTD_btultra2},  /* level 19.*/
  100     { 17, 18, 17,  7,  3,512, ZSTD_btultra2},  /* level 20.*/
  101     { 17, 18, 17,  9,  3,512, ZSTD_btultra2},  /* level 21.*/
  102     { 17, 18, 17, 11,  3,999, ZSTD_btultra2},  /* level 22.*/
  103 },
  104 {   /* for srcSize <= 16 KB */
  105     /* W,  C,  H,  S,  L,  T, strat */
  106     { 14, 12, 13,  1,  5,  1, ZSTD_fast    },  /* base for negative levels */
  107     { 14, 14, 15,  1,  5,  0, ZSTD_fast    },  /* level  1 */
  108     { 14, 14, 15,  1,  4,  0, ZSTD_fast    },  /* level  2 */
  109     { 14, 14, 15,  2,  4,  0, ZSTD_dfast   },  /* level  3 */
  110     { 14, 14, 14,  4,  4,  2, ZSTD_greedy  },  /* level  4 */
  111     { 14, 14, 14,  3,  4,  4, ZSTD_lazy    },  /* level  5.*/
  112     { 14, 14, 14,  4,  4,  8, ZSTD_lazy2   },  /* level  6 */
  113     { 14, 14, 14,  6,  4,  8, ZSTD_lazy2   },  /* level  7 */
  114     { 14, 14, 14,  8,  4,  8, ZSTD_lazy2   },  /* level  8.*/
  115     { 14, 15, 14,  5,  4,  8, ZSTD_btlazy2 },  /* level  9.*/
  116     { 14, 15, 14,  9,  4,  8, ZSTD_btlazy2 },  /* level 10.*/
  117     { 14, 15, 14,  3,  4, 12, ZSTD_btopt   },  /* level 11.*/
  118     { 14, 15, 14,  4,  3, 24, ZSTD_btopt   },  /* level 12.*/
  119     { 14, 15, 14,  5,  3, 32, ZSTD_btultra },  /* level 13.*/
  120     { 14, 15, 15,  6,  3, 64, ZSTD_btultra },  /* level 14.*/
  121     { 14, 15, 15,  7,  3,256, ZSTD_btultra },  /* level 15.*/
  122     { 14, 15, 15,  5,  3, 48, ZSTD_btultra2},  /* level 16.*/
  123     { 14, 15, 15,  6,  3,128, ZSTD_btultra2},  /* level 17.*/
  124     { 14, 15, 15,  7,  3,256, ZSTD_btultra2},  /* level 18.*/
  125     { 14, 15, 15,  8,  3,256, ZSTD_btultra2},  /* level 19.*/
  126     { 14, 15, 15,  8,  3,512, ZSTD_btultra2},  /* level 20.*/
  127     { 14, 15, 15,  9,  3,512, ZSTD_btultra2},  /* level 21.*/
  128     { 14, 15, 15, 10,  3,999, ZSTD_btultra2},  /* level 22.*/
  129 },
  130 };
  131 
  132 
  133 
  134 #endif  /* ZSTD_CLEVELS_H */

Cache object: d798ec5d37c059dc784206c50415e22e


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.