ParPar
High performance PAR2 creation tool
-----------------------------------

Usage: parpar -s <slice_size/count> -o <output> [options] [--] <input1> [<input2>...]

Unless otherwise specified, all options take one parameter.

PAR2 Options:

  -s,  --input-slices        Slice/block size or number of input slices/blocks.
                             To specify exact slice size, append a size suffix
                             to the number. Examples:
                                 `-s2000`: selects a slice size so that there
                                           are 2000 input slices
                                 `-s1M`: sets the slice size to 1 megabyte
                                 `-s1024B`: set the slice size to 1 kilobyte
                             This option must be specified.
                             par2cmdline's default equivalent: `-s2000`
                             Multipar/par2j's default equivalent: `-s0.5w*10`
  -S,  --auto-slice-size     Automatically scale up input slice size if the
                             number of input slices would exceed the maximum
                             allowed.
                             This option takes no parameters.
  -r,  --recovery-slices     Number of recovery slices to generate. You can
                             append a suffix to auto-calculate this, as in the
                             following examples:
                                 `-r100`: generates 100 recovery slices
                                 `-r15.7%`: generates 15.7% recovery
                                 `-r2.5M`: generates 2.5MB of recovery
                             Default is 0, which generates no recovery.
  -f,  --filepath-format     How to format input file paths, can be either:
                                 basename: discard paths
                                 keep: retain full paths as specified
                                 common: discard common parts of paths; falls
                                         back to basename if there is no common
                                         path
                                 outrel: path computed relative to output
                                 path: path computed relative to that specified
                                       in `--filepath-base`
                             Default is `common`, or `path` if `--filepath-base`
                             is specified.
  -B,  --filepath-base       The base path to use when computing paths when
                             `--filepath-format=path` is used.
                             Default is `.` (i.e. current working directory)

Output Options:

  -o,  --out                 Base PAR2 file name. A .par2 extension will be
                             appeneded if not supplied.
  -O,  --overwrite           Overwrite existing files if they exist. This
                             option doesn't take any parameters.
                             Note that this will not delete existing PAR2
                             recovery files that match the base PAR2 name, but
                             wouldn't be written to.
  -d,  --slice-dist          Specify how recovery slices are distributed
                             amongst output files. Can be:
                                 equal: each file contains `--slices-per-file`
                                        slices
                                 uniform: like `equal` but try to distribute
                                          slices evenly distributed amongst
                                          files
                                 pow2: power-of-2 sizing scheme (default)
  -p,  --slices-per-file     Specify the maximum number of slices each file
                             may contain.
                             Default 65535

Performance Options:

  -m,  --memory              Maximum amount of memory to use for computing
                             recovery. ParPar will run multiple passes on input
                             data to generate recovery if insufficient memory
                             is allowed, so increasing this value can improve
                             performance. Default is auto-detected based on
                             total/free RAM, typically 75% of free RAM up to
                             8192MB.
  -t,  --threads             Limit number of threads to use. Default equals
                             number of CPU cores/threads.

Other Options:

  All of the following options take no parameters.

  -R,  --recurse             If specified, recurse into subdirectories. If
                             `--no-recurse` is specified, do not traverse
                             subdirectories. The default is to traverse
                             directories given on the command line without
                             recursion.
  -q,  --quiet               Suppress information output. Errors will still be
                             displayed
  -?,  --help                Displays this list of options
       --help-full           Displays full list of options
       --version             Print application version number and exit

------------------
Examples

  parpar -s 1M -r 64 -o my_recovery.par2 file1 file2
      Generate 64MB of PAR2 recovery files from file1 and file2, named "my_recovery"
