Added preset=NUM to --lzma1 and --lzma2. This makes it easy
to take a preset as a template and modify it a little.
This commit is contained in:
parent
bceb3918db
commit
1ea9e7f15a
|
@ -806,6 +806,7 @@ message_help(bool long_help)
|
||||||
"\n"
|
"\n"
|
||||||
" --lzma1=[OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
" --lzma1=[OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
||||||
" --lzma2=[OPTS] more of the following options (valid values; default):\n"
|
" --lzma2=[OPTS] more of the following options (valid values; default):\n"
|
||||||
|
" preset=NUM reset options to preset number NUM (1-9)\n"
|
||||||
" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n"
|
" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n"
|
||||||
" lc=NUM number of literal context bits (0-4; 3)\n"
|
" lc=NUM number of literal context bits (0-4; 3)\n"
|
||||||
" lp=NUM number of literal position bits (0-4; 0)\n"
|
" lp=NUM number of literal position bits (0-4; 0)\n"
|
||||||
|
|
|
@ -237,6 +237,7 @@ options_delta(const char *str)
|
||||||
//////////
|
//////////
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
OPT_PRESET,
|
||||||
OPT_DICT,
|
OPT_DICT,
|
||||||
OPT_LC,
|
OPT_LC,
|
||||||
OPT_LP,
|
OPT_LP,
|
||||||
|
@ -254,6 +255,12 @@ set_lzma(void *options, uint32_t key, uint64_t value)
|
||||||
lzma_options_lzma *opt = options;
|
lzma_options_lzma *opt = options;
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
|
case OPT_PRESET:
|
||||||
|
if (lzma_lzma_preset(options, (uint32_t)(value)))
|
||||||
|
message_fatal("LZMA1/LZMA2 preset %u is not supported",
|
||||||
|
(unsigned int)(value));
|
||||||
|
break;
|
||||||
|
|
||||||
case OPT_DICT:
|
case OPT_DICT:
|
||||||
opt->dict_size = value;
|
opt->dict_size = value;
|
||||||
break;
|
break;
|
||||||
|
@ -308,6 +315,7 @@ options_lzma(const char *str)
|
||||||
};
|
};
|
||||||
|
|
||||||
static const option_map opts[] = {
|
static const option_map opts[] = {
|
||||||
|
{ "preset", NULL, 1, 9 },
|
||||||
{ "dict", NULL, LZMA_DICT_SIZE_MIN,
|
{ "dict", NULL, LZMA_DICT_SIZE_MIN,
|
||||||
(UINT32_C(1) << 30) + (UINT32_C(1) << 29) },
|
(UINT32_C(1) << 30) + (UINT32_C(1) << 29) },
|
||||||
{ "lc", NULL, LZMA_LCLP_MIN, LZMA_LCLP_MAX },
|
{ "lc", NULL, LZMA_LCLP_MIN, LZMA_LCLP_MAX },
|
||||||
|
|
Loading…
Reference in New Issue