Reformat --help message

- Reduce indentation to 6 spaces
- Word wrap everything to under 80 characters
- Remove defaults from options covered by presets
- Add a dash in front of argument descriptions
- Add --(no-) to names of parameters that accept it and remove mention
  of enabling or disabling
- Add executable and scripts as a dependancy to make docs
This commit is contained in:
Ari Koivula 2016-11-04 15:30:58 +02:00
parent 98a0d54b70
commit 78a28e0338
5 changed files with 419 additions and 389 deletions

View file

@ -15,6 +15,6 @@ EXTRA_DIST = \
# Run scripts to maintain autogenerated documentation # Run scripts to maintain autogenerated documentation
# in the version control. # in the version control.
docs: docs: all ./tools/genmanpage.sh ./tools/update_readme.sh
./tools/genmanpage.sh ./tools/genmanpage.sh
./tools/update_readme.sh ./tools/update_readme.sh

174
README.md
View file

@ -19,25 +19,26 @@ Usage:
kvazaar -i <input> --input-res <width>x<height> -o <output> kvazaar -i <input> --input-res <width>x<height> -o <output>
Required: Required:
-i, --input --input-res <res> : Input resolution [auto] -i, --input : Input file
--input-res <res> : Input resolution [auto]
auto: detect from file name auto: detect from file name
<int>x<int>: width times height <int>x<int>: width times height
-o, --output : Output file -o, --output : Output file
Presets: Presets:
--preset=<preset> : Set options to a preset [medium] --preset=<preset> : Set options to a preset [medium]
ultrafast, superfast, veryfast, faster, - ultrafast, superfast, veryfast, faster,
fast, medium, slow, slower, veryslow, fast, medium, slow, slower, veryslow
placebo placebo
Input: Input:
-n, --frames <integer> : Number of frames to code [all] -n, --frames <integer> : Number of frames to code [all]
--seek <integer> : First frame to code [0] --seek <integer> : First frame to code [0]
--input-fps <num>/<denom> : Framerate of the input video [25.0] --input-fps <num>/<denom> : Framerate of the input video [25.0]
--source-scan-type <string> : Set source scan type ["progressive"]. --source-scan-type <string> : Set source scan type [progressive].
"progressive": progressive scan - progressive: progressive scan
"tff": top field first - tff: top field first
"bff": bottom field first - bff: bottom field first
--input-format : P420 or P400 --input-format : P420 or P400
--input-bitdepth : 8-16 --input-bitdepth : 8-16
--loop-input : Re-read input file forever --loop-input : Re-read input file forever
@ -48,90 +49,98 @@ Options:
--aud : Use access unit delimiters --aud : Use access unit delimiters
--debug <string> : Output encoders reconstruction. --debug <string> : Output encoders reconstruction.
--cpuid <integer> : Disable runtime cpu optimizations with value 0. --cpuid <integer> : Disable runtime cpu optimizations with value 0.
--hash : Specify which decoded picture hash to use [checksum] --hash : Decoded picture hash [checksum]
"none": 0 bytes - none: 0 bytes
"checksum": 18 bytes - checksum: 18 bytes
"md5": 56 bytes - md5: 56 bytes
--no-psnr : Don't calculate PSNR for frames --no-psnr : Don't calculate PSNR for frames
--no-info : Don't add information about the encoder to settings. --no-info : Don't add encoder info SEI.
Video structure: Video structure:
-q, --qp <integer> : Quantization Parameter [32] -q, --qp <integer> : Quantization Parameter [32]
-p, --period <integer> : Period of intra pictures [0] -p, --period <integer> : Period of intra pictures [0]
0: only first picture is intra - 0: only first picture is intra
1: all pictures are intra - 1: all pictures are intra
2-N: every Nth picture is intra - 2-N: every Nth picture is intra
--vps-period <integer> : Specify how often the video parameter set is --vps-period <integer> : Specify how often the video parameter set is
re-sent. [0] re-sent. [0]
0: only send VPS with the first frame - 0: only send VPS with the first frame
1: send VPS with every intra frame - N: send VPS with every Nth intra frame
N: send VPS with every Nth intra frame
-r, --ref <integer> : Reference frames, range 1..15 [3] -r, --ref <integer> : Reference frames, range 1..15 [3]
--gop <string> : Definition of GOP structure [0] --gop <string> : Definition of GOP structure [0]
"0": disabled - 0: disabled
"8": B-frame pyramid of length 8 - 8: B-frame pyramid of length 8
"lp-<string>": lp-gop definition (e.g. lp-g8d4r3t2) - lp-<string>: lp-gop definition
(e.g. lp-g8d4t2, see README)
--cqmfile <string> : Custom Quantization Matrices from a file --cqmfile <string> : Custom Quantization Matrices from a file
--bitrate <integer> : Target bitrate. [0] --bitrate <integer> : Target bitrate. [0]
0: disable rate-control - 0: disable rate-control
N: target N bits per second - N: target N bits per second
--lossless : Use lossless coding --lossless : Use lossless coding
--mv-constraint : Constrain movement vectors --mv-constraint : Constrain movement vectors
"none": no constraint - none: no constraint
"frametile": constrain within the tile - frametile: constrain within the tile
"frametilemargin": constrain even more - frametilemargin: constrain even more
Compression tools: Compression tools:
--no-deblock : Disable deblocking filter --deblock [<beta:tc>] : Deblocking
--deblock <beta:tc> : Deblocking filter parameters - beta: between -6 and 6
beta and tc range is -6..6 [0:0] - tc: between -6 and 6
--no-sao : Disable sample adaptive offset --(no-)sao : Sample Adaptive Offset
--no-rdoq : Disable RDO quantization --(no-)rdoq : Rate-Distortion Optimized Quantization
--no-signhide : Disable sign hiding in quantization --(no-)signhide : Sign Hiding
--smp : Enable Symmetric Motion Partition --(no-)smp : Symmetric Motion Partition
--amp : Enable Asymmetric Motion Partition --(no-)amp : Asymmetric Motion Partition
--rd <integer> : Rate-Distortion Optimization level [1] --rd <integer> : Intra mode search complexity
0: no RDO - 0: skip intra if inter is good enough
1: estimated RDO - 1: rough intra mode search with SATD
2: full RDO - 2: refine intra mode search with SSE
--mv-rdo : Enable Rate-Distortion Optimized motion vector costs --(no-)mv-rdo : Rate-Distortion Optimized motion vector costs
--full-intra-search : Try all intra modes. --(no-)full-intra-search
--no-transform-skip : Disable transform skip : Try all intra modes during rough search.
--me <string> : Set integer motion estimation algorithm ["hexbs"] --(no-)transform-skip : Transform skip
"hexbs": Hexagon Based Search (faster) --me <string> : Integer motion estimation
"tz": Test Zone Search (better quality) - hexbs: Hexagon Based Search
"full": Full Search (super slow) - tz: Test Zone Search
--subme <integer> : Set fractional pixel motion estimation level [4]. - full: Full Search
0: only integer motion estimation - full8, full16, full32, full64
1: + 1/2-pixel horizontal and vertical --subme <integer> : Set fractional pixel motion estimation level
2: + 1/2-pixel diagonal - 0: only integer motion estimation
3: + 1/4-pixel horizontal and vertical - 1: + 1/2-pixel horizontal and vertical
4: + 1/4-pixel diagonal - 2: + 1/2-pixel diagonal
--pu-depth-inter <int>-<int> : Range for sizes of inter prediction units to try. - 3: + 1/4-pixel horizontal and vertical
0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8 - 4: + 1/4-pixel diagonal
--pu-depth-intra <int>-<int> : Range for sizes of intra prediction units to try. --pu-depth-inter <int>-<int>
0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8, 4: 4x4 : Range for sizes for inter predictions
--bipred : Enable bi-prediction search - 0, 1, 2, 3: from 64x64 to 8x8
--cu-split-termination : Specify the cu split termination behaviour --pu-depth-intra <int>-<int> : Range for sizes for intra predictions
"zero": Terminate when splitting gives little - 0, 1, 2, 3, 4: from 64x64 to 4x4
improvement. --(no-)bipred : Bi-prediction
"off": Don't terminate splitting early --(no-)cu-split-termination
--me-early-termination : Specify the me early termination behaviour : CU split search termination condition
"off": Early termination is off - off: Never terminate cu-split search
"on": Early termination is on - zero: Terminate with zero residual
"sensitive": Sensitive early termination is on --(no-)me-early-termination : ME early termination condition
--implicit-rdpcm : Enable implicit residual DPCM. Currently only supported - off: Don't terminate early
with lossless coding. - on: Terminate early
--no-tmvp : Disable Temporal Motion Vector Prediction - sensitive: Terminate even earlier
--rdoq-skip : Skips RDOQ for 4x4 blocks --(no-)implicit-rdpcm : Implicit residual DPCM
Currently only supported with lossless coding.
--(no-)tmvp : Temporal Motion Vector Prediction
--(no-)rdoq-skip : Skips RDOQ for 4x4 blocks
Parallel processing: Parallel processing:
--threads <integer> : Maximum number of threads to use. --threads <integer> : Number of threads to use [auto]
Disable threads if set to 0. - 0: process everything with main thread
--owf <integer>|auto : Number of parallel frames to process. 0 to disable. - N: use N threads for encoding
--wpp, --no-wpp : Wavefront parallel processing [enabled] - auto: select based on number of cores
Enabling tiles automatically disabled WPP. To enable --owf <integer> : Frame parallelism [auto]
WPP with tiles, re-enable it after enabling tiles. - N: Process N-1 frames at a time
- auto: Select automatically
--(no-)wpp : Wavefront parallel processing [enabled]
Enabling tiles automatically disables WPP.
To enable WPP with tiles, re-enable it after
enabling tiles.
--tiles <int>x<int> : Split picture into width x height uniform tiles. --tiles <int>x<int> : Split picture into width x height uniform tiles.
--tiles-width-split <string>|u<int> : --tiles-width-split <string>|u<int> :
Specifies a comma separated list of pixel Specifies a comma separated list of pixel
@ -146,29 +155,28 @@ Parallel processing:
Video Usability Information: Video Usability Information:
--sar <width:height> : Specify Sample Aspect Ratio --sar <width:height> : Specify Sample Aspect Ratio
--overscan <string> : Specify crop overscan setting ["undef"] --overscan <string> : Specify crop overscan setting [undef]
- undef, show, crop - undef, show, crop
--videoformat <string> : Specify video format ["undef"] --videoformat <string> : Specify video format [undef]
- component, pal, ntsc, secam, mac, undef - component, pal, ntsc, secam, mac, undef
--range <string> : Specify color range ["tv"] --range <string> : Specify color range [tv]
- tv, pc - tv, pc
--colorprim <string> : Specify color primaries ["undef"] --colorprim <string> : Specify color primaries [undef]
- undef, bt709, bt470m, bt470bg, - undef, bt709, bt470m, bt470bg,
smpte170m, smpte240m, film, bt2020 smpte170m, smpte240m, film, bt2020
--transfer <string> : Specify transfer characteristics ["undef"] --transfer <string> : Specify transfer characteristics [undef]
- undef, bt709, bt470m, bt470bg, - undef, bt709, bt470m, bt470bg,
smpte170m, smpte240m, linear, log100, smpte170m, smpte240m, linear, log100,
log316, iec61966-2-4, bt1361e, log316, iec61966-2-4, bt1361e,
iec61966-2-1, bt2020-10, bt2020-12 iec61966-2-1, bt2020-10, bt2020-12
--colormatrix <string> : Specify color matrix setting ["undef"] --colormatrix <string> : Specify color matrix setting [undef]
- undef, bt709, fcc, bt470bg, smpte170m, - undef, bt709, fcc, bt470bg, smpte170m,
smpte240m, GBR, YCgCo, bt2020nc, bt2020c smpte240m, GBR, YCgCo, bt2020nc, bt2020c
--chromaloc <integer> : Specify chroma sample location (0 to 5) [0] --chromaloc <integer> : Specify chroma sample location (0 to 5) [0]
Deprecated parameters: (might be removed at some point) Deprecated parameters: (might be removed at some point)
Use --input-res: -w, --width : Use --input-res
-w, --width : Width of input in pixels -h, --height : Use --input-res
-h, --height : Height of input in pixels
``` ```
[comment]: # (END KVAZAAR HELP MESSAGE) [comment]: # (END KVAZAAR HELP MESSAGE)

View file

@ -5,10 +5,13 @@ kvazaar \- open source HEVC encoder
\fBkvazaar \fR\-i <input> \-\-input\-res <width>x<height> \-o <output> \fBkvazaar \fR\-i <input> \-\-input\-res <width>x<height> \-o <output>
.SH DESCRIPTION .SH DESCRIPTION
.TP .TP
\fB\-i\fR, \fB\-\-input \-\-input\-res <res> \fB\-i\fR, \fB\-\-input
Input file
.TP
\fB\-\-input\-res <res>
Input resolution [auto] Input resolution [auto]
auto: detect from file name auto: detect from file name
<int>x<int>: width times height <int>x<int>: width times height
.TP .TP
\fB\-o\fR, \fB\-\-output \fB\-o\fR, \fB\-\-output
Output file Output file
@ -17,8 +20,8 @@ Output file
.TP .TP
\fB\-\-preset=<preset> \fB\-\-preset=<preset>
Set options to a preset [medium] Set options to a preset [medium]
ultrafast, superfast, veryfast, faster, \- ultrafast, superfast, veryfast, faster,
fast, medium, slow, slower, veryslow, fast, medium, slow, slower, veryslow
placebo placebo
.SS "Input:" .SS "Input:"
@ -33,10 +36,10 @@ First frame to code [0]
Framerate of the input video [25.0] Framerate of the input video [25.0]
.TP .TP
\fB\-\-source\-scan\-type <string> \fB\-\-source\-scan\-type <string>
Set source scan type ["progressive"]. Set source scan type [progressive].
"progressive": progressive scan \- progressive: progressive scan
"tff": top field first \- tff: top field first
"bff": bottom field first \- bff: bottom field first
.TP .TP
\fB\-\-input\-format \fB\-\-input\-format
P420 or P400 P420 or P400
@ -65,16 +68,16 @@ Output encoders reconstruction.
Disable runtime cpu optimizations with value 0. Disable runtime cpu optimizations with value 0.
.TP .TP
\fB\-\-hash \fB\-\-hash
Specify which decoded picture hash to use [checksum] Decoded picture hash [checksum]
"none": 0 bytes \- none: 0 bytes
"checksum": 18 bytes \- checksum: 18 bytes
"md5": 56 bytes \- md5: 56 bytes
.TP .TP
\fB\-\-no\-psnr \fB\-\-no\-psnr
Don't calculate PSNR for frames Don't calculate PSNR for frames
.TP .TP
\fB\-\-no\-info \fB\-\-no\-info
Don't add information about the encoder to settings. Don't add encoder info SEI.
.SS "Video structure:" .SS "Video structure:"
.TP .TP
@ -83,142 +86,148 @@ Quantization Parameter [32]
.TP .TP
\fB\-p\fR, \fB\-\-period <integer> \fB\-p\fR, \fB\-\-period <integer>
Period of intra pictures [0] Period of intra pictures [0]
0: only first picture is intra \- 0: only first picture is intra
1: all pictures are intra \- 1: all pictures are intra
2\-N: every Nth picture is intra \- 2\-N: every Nth picture is intra
.TP .TP
\fB\-\-vps\-period <integer> \fB\-\-vps\-period <integer>
Specify how often the video parameter set is Specify how often the video parameter set is
re\-sent. [0] re\-sent. [0]
0: only send VPS with the first frame \- 0: only send VPS with the first frame
1: send VPS with every intra frame \- N: send VPS with every Nth intra frame
N: send VPS with every Nth intra frame
.TP .TP
\fB\-r\fR, \fB\-\-ref <integer> \fB\-r\fR, \fB\-\-ref <integer>
Reference frames, range 1..15 [3] Reference frames, range 1..15 [3]
.TP .TP
\fB\-\-gop <string> \fB\-\-gop <string>
Definition of GOP structure [0] Definition of GOP structure [0]
"0": disabled \- 0: disabled
"8": B\-frame pyramid of length 8 \- 8: B\-frame pyramid of length 8
"lp\-<string>": lp\-gop definition (e.g. lp\-g8d4r3t2) \- lp\-<string>: lp\-gop definition
(e.g. lp\-g8d4t2, see README)
.TP .TP
\fB\-\-cqmfile <string> \fB\-\-cqmfile <string>
Custom Quantization Matrices from a file Custom Quantization Matrices from a file
.TP .TP
\fB\-\-bitrate <integer> \fB\-\-bitrate <integer>
Target bitrate. [0] Target bitrate. [0]
0: disable rate\-control \- 0: disable rate\-control
N: target N bits per second \- N: target N bits per second
.TP .TP
\fB\-\-lossless \fB\-\-lossless
Use lossless coding Use lossless coding
.TP .TP
\fB\-\-mv\-constraint \fB\-\-mv\-constraint
Constrain movement vectors Constrain movement vectors
"none": no constraint \- none: no constraint
"frametile": constrain within the tile \- frametile: constrain within the tile
"frametilemargin": constrain even more \- frametilemargin: constrain even more
.SS "Compression tools:" .SS "Compression tools:"
.TP .TP
\fB\-\-no\-deblock \fB\-\-deblock [<beta:tc>]
Disable deblocking filter Deblocking
\- beta: between \-6 and 6
\- tc: between \-6 and 6
.TP .TP
\fB\-\-deblock <beta:tc> \fB\-\-(no\-)sao
Deblocking filter parameters Sample Adaptive Offset
beta and tc range is \-6..6 [0:0]
.TP .TP
\fB\-\-no\-sao \fB\-\-(no\-)rdoq
Disable sample adaptive offset Rate\-Distortion Optimized Quantization
.TP .TP
\fB\-\-no\-rdoq \fB\-\-(no\-)signhide
Disable RDO quantization Sign Hiding
.TP .TP
\fB\-\-no\-signhide \fB\-\-(no\-)smp
Disable sign hiding in quantization Symmetric Motion Partition
.TP .TP
\fB\-\-smp \fB\-\-(no\-)amp
Enable Symmetric Motion Partition Asymmetric Motion Partition
.TP
\fB\-\-amp
Enable Asymmetric Motion Partition
.TP .TP
\fB\-\-rd <integer> \fB\-\-rd <integer>
Rate\-Distortion Optimization level [1] Intra mode search complexity
0: no RDO \- 0: skip intra if inter is good enough
1: estimated RDO \- 1: rough intra mode search with SATD
2: full RDO \- 2: refine intra mode search with SSE
.TP .TP
\fB\-\-mv\-rdo \fB\-\-(no\-)mv\-rdo
Enable Rate\-Distortion Optimized motion vector costs Rate\-Distortion Optimized motion vector costs
.TP .TP
\fB\-\-full\-intra\-search \fB\-\-(no\-)full\-intra\-search
Try all intra modes.
Try all intra modes during rough search.
.TP .TP
\fB\-\-no\-transform\-skip \fB\-\-(no\-)transform\-skip
Disable transform skip Transform skip
.TP .TP
\fB\-\-me <string> \fB\-\-me <string>
Set integer motion estimation algorithm ["hexbs"] Integer motion estimation
"hexbs": Hexagon Based Search (faster) \- hexbs: Hexagon Based Search
"tz": Test Zone Search (better quality) \- tz: Test Zone Search
"full": Full Search (super slow) \- full: Full Search
\- full8, full16, full32, full64
.TP .TP
\fB\-\-subme <integer> \fB\-\-subme <integer>
Set fractional pixel motion estimation level [4]. Set fractional pixel motion estimation level
0: only integer motion estimation \- 0: only integer motion estimation
1: + 1/2\-pixel horizontal and vertical \- 1: + 1/2\-pixel horizontal and vertical
2: + 1/2\-pixel diagonal \- 2: + 1/2\-pixel diagonal
3: + 1/4\-pixel horizontal and vertical \- 3: + 1/4\-pixel horizontal and vertical
4: + 1/4\-pixel diagonal \- 4: + 1/4\-pixel diagonal
.TP .TP
\fB\-\-pu\-depth\-inter <int>\-<int> \fB\-\-pu\-depth\-inter <int>\-<int>
Range for sizes of inter prediction units to try.
0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8 Range for sizes for inter predictions
\- 0, 1, 2, 3: from 64x64 to 8x8
.TP .TP
\fB\-\-pu\-depth\-intra <int>\-<int> \fB\-\-pu\-depth\-intra <int>\-<int>
Range for sizes of intra prediction units to try. Range for sizes for intra predictions
0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8, 4: 4x4 \- 0, 1, 2, 3, 4: from 64x64 to 4x4
.TP .TP
\fB\-\-bipred \fB\-\-(no\-)bipred
Enable bi\-prediction search Bi\-prediction
.TP .TP
\fB\-\-cu\-split\-termination \fB\-\-(no\-)cu\-split\-termination
Specify the cu split termination behaviour
"zero": Terminate when splitting gives little CU split search termination condition
improvement. \- off: Never terminate cu\-split search
"off": Don't terminate splitting early \- zero: Terminate with zero residual
.TP .TP
\fB\-\-me\-early\-termination \fB\-\-(no\-)me\-early\-termination
Specify the me early termination behaviour ME early termination condition
"off": Early termination is off \- off: Don't terminate early
"on": Early termination is on \- on: Terminate early
"sensitive": Sensitive early termination is on \- sensitive: Terminate even earlier
.TP .TP
\fB\-\-implicit\-rdpcm \fB\-\-(no\-)implicit\-rdpcm
Enable implicit residual DPCM. Currently only supported Implicit residual DPCM
with lossless coding. Currently only supported with lossless coding.
.TP .TP
\fB\-\-no\-tmvp \fB\-\-(no\-)tmvp
Disable Temporal Motion Vector Prediction Temporal Motion Vector Prediction
.TP .TP
\fB\-\-rdoq\-skip \fB\-\-(no\-)rdoq\-skip
Skips RDOQ for 4x4 blocks Skips RDOQ for 4x4 blocks
.SS "Parallel processing:" .SS "Parallel processing:"
.TP .TP
\fB\-\-threads <integer> \fB\-\-threads <integer>
Maximum number of threads to use. Number of threads to use [auto]
Disable threads if set to 0. \- 0: process everything with main thread
\- N: use N threads for encoding
\- auto: select based on number of cores
.TP .TP
\fB\-\-owf <integer>|auto \fB\-\-owf <integer>
Number of parallel frames to process. 0 to disable. Frame parallelism [auto]
\- N: Process N\-1 frames at a time
\- auto: Select automatically
.TP .TP
\fB\-\-wpp\fR, \fB\-\-no\-wpp \fB\-\-(no\-)wpp
Wavefront parallel processing [enabled] Wavefront parallel processing [enabled]
Enabling tiles automatically disabled WPP. To enable Enabling tiles automatically disables WPP.
WPP with tiles, re\-enable it after enabling tiles. To enable WPP with tiles, re\-enable it after
enabling tiles.
.TP .TP
\fB\-\-tiles <int>x<int> \fB\-\-tiles <int>x<int>
Split picture into width x height uniform tiles. Split picture into width x height uniform tiles.
@ -241,34 +250,33 @@ in which case it produces rows of uniform height.
Specify Sample Aspect Ratio Specify Sample Aspect Ratio
.TP .TP
\fB\-\-overscan <string> \fB\-\-overscan <string>
Specify crop overscan setting ["undef"] Specify crop overscan setting [undef]
\- undef, show, crop \- undef, show, crop
.TP .TP
\fB\-\-videoformat <string> \fB\-\-videoformat <string>
Specify video format ["undef"] Specify video format [undef]
\- component, pal, ntsc, secam, mac, undef \- component, pal, ntsc, secam, mac, undef
.TP .TP
\fB\-\-range <string> \fB\-\-range <string>
Specify color range ["tv"] Specify color range [tv]
\- tv, pc \- tv, pc
.TP .TP
\fB\-\-colorprim <string> \fB\-\-colorprim <string>
Specify color primaries ["undef"] Specify color primaries [undef]
\- undef, bt709, bt470m, bt470bg, \- undef, bt709, bt470m, bt470bg,
smpte170m, smpte240m, film, bt2020 smpte170m, smpte240m, film, bt2020
.TP .TP
\fB\-\-transfer <string> \fB\-\-transfer <string>
Specify transfer characteristics ["undef"] Specify transfer characteristics [undef]
\- undef, bt709, bt470m, bt470bg, \- undef, bt709, bt470m, bt470bg,
smpte170m, smpte240m, linear, log100, smpte170m, smpte240m, linear, log100,
log316, iec61966\-2\-4, bt1361e, log316, iec61966\-2\-4, bt1361e,
iec61966\-2\-1, bt2020\-10, bt2020\-12 iec61966\-2\-1, bt2020\-10, bt2020\-12
.TP .TP
\fB\-\-colormatrix <string> \fB\-\-colormatrix <string>
Specify color matrix setting ["undef"] Specify color matrix setting [undef]
\- undef, bt709, fcc, bt470bg, smpte170m, \- undef, bt709, fcc, bt470bg, smpte170m,
smpte240m, GBR, YCgCo, bt2020nc, bt2020c smpte240m, GBR, YCgCo, bt2020nc, bt2020c
.TP .TP
\fB\-\-chromaloc <integer> \fB\-\-chromaloc <integer>
Specify chroma sample location (0 to 5) [0] Specify chroma sample location (0 to 5) [0]

180
src/cli.c
View file

@ -312,6 +312,7 @@ void print_help(void)
"Usage:\n" "Usage:\n"
"kvazaar -i <input> --input-res <width>x<height> -o <output>\n" "kvazaar -i <input> --input-res <width>x<height> -o <output>\n"
"\n" "\n"
/* Word wrap to this width to stay under 80 characters (including ") ************/
"Required:\n" "Required:\n"
" -i, --input : Input file\n" " -i, --input : Input file\n"
" --input-res <res> : Input resolution [auto]\n" " --input-res <res> : Input resolution [auto]\n"
@ -319,114 +320,128 @@ void print_help(void)
" <int>x<int>: width times height\n" " <int>x<int>: width times height\n"
" -o, --output : Output file\n" " -o, --output : Output file\n"
"\n" "\n"
/* Word wrap to this width to stay under 80 characters (including ") ************/
"Presets:\n" "Presets:\n"
" --preset=<preset> : Set options to a preset [medium]\n" " --preset=<preset> : Set options to a preset [medium]\n"
" ultrafast, superfast, veryfast, faster,\n" " - ultrafast, superfast, veryfast, faster,\n"
" fast, medium, slow, slower, veryslow,\n" " fast, medium, slow, slower, veryslow\n"
" placebo\n" " placebo\n"
"\n" "\n"
/* Word wrap to this width to stay under 80 characters (including ") ************/
"Input:\n" "Input:\n"
" -n, --frames <integer> : Number of frames to code [all]\n" " -n, --frames <integer> : Number of frames to code [all]\n"
" --seek <integer> : First frame to code [0]\n" " --seek <integer> : First frame to code [0]\n"
" --input-fps <num>/<denom> : Framerate of the input video [25.0]\n" " --input-fps <num>/<denom> : Framerate of the input video [25.0]\n"
" --source-scan-type <string> : Set source scan type [\"progressive\"].\n" " --source-scan-type <string> : Set source scan type [progressive].\n"
" \"progressive\": progressive scan\n" " - progressive: progressive scan\n"
" \"tff\": top field first\n" " - tff: top field first\n"
" \"bff\": bottom field first\n" " - bff: bottom field first\n"
" --input-format : P420 or P400\n" " --input-format : P420 or P400\n"
" --input-bitdepth : 8-16\n" " --input-bitdepth : 8-16\n"
" --loop-input : Re-read input file forever\n" " --loop-input : Re-read input file forever\n"
"\n" "\n"
/* Word wrap to this width to stay under 80 characters (including ") ************/
"Options:\n" "Options:\n"
" --help : Print this help message and exit\n" " --help : Print this help message and exit\n"
" --version : Print version information and exit\n" " --version : Print version information and exit\n"
" --aud : Use access unit delimiters\n" " --aud : Use access unit delimiters\n"
" --debug <string> : Output encoders reconstruction.\n" " --debug <string> : Output encoders reconstruction.\n"
" --cpuid <integer> : Disable runtime cpu optimizations with value 0.\n" " --cpuid <integer> : Disable runtime cpu optimizations with value 0.\n"
" --hash : Specify which decoded picture hash to use [checksum]\n" " --hash : Decoded picture hash [checksum]\n"
" \"none\": 0 bytes\n" " - none: 0 bytes\n"
" \"checksum\": 18 bytes\n" " - checksum: 18 bytes\n"
" \"md5\": 56 bytes\n" " - md5: 56 bytes\n"
" --no-psnr : Don't calculate PSNR for frames\n" " --no-psnr : Don't calculate PSNR for frames\n"
" --no-info : Don't add information about the encoder to settings.\n" " --no-info : Don't add encoder info SEI.\n"
"\n" "\n"
/* Word wrap to this width to stay under 80 characters (including ") ************/
"Video structure:\n" "Video structure:\n"
" -q, --qp <integer> : Quantization Parameter [32]\n" " -q, --qp <integer> : Quantization Parameter [32]\n"
" -p, --period <integer> : Period of intra pictures [0]\n" " -p, --period <integer> : Period of intra pictures [0]\n"
" 0: only first picture is intra\n" " - 0: only first picture is intra\n"
" 1: all pictures are intra\n" " - 1: all pictures are intra\n"
" 2-N: every Nth picture is intra\n" " - 2-N: every Nth picture is intra\n"
" --vps-period <integer> : Specify how often the video parameter set is\n" " --vps-period <integer> : Specify how often the video parameter set is\n"
" re-sent. [0]\n" " re-sent. [0]\n"
" 0: only send VPS with the first frame\n" " - 0: only send VPS with the first frame\n"
" 1: send VPS with every intra frame\n" " - N: send VPS with every Nth intra frame\n"
" N: send VPS with every Nth intra frame\n"
" -r, --ref <integer> : Reference frames, range 1..15 [3]\n" " -r, --ref <integer> : Reference frames, range 1..15 [3]\n"
" --gop <string> : Definition of GOP structure [0]\n" " --gop <string> : Definition of GOP structure [0]\n"
" \"0\": disabled\n" " - 0: disabled\n"
" \"8\": B-frame pyramid of length 8\n" " - 8: B-frame pyramid of length 8\n"
" \"lp-<string>\": lp-gop definition (e.g. lp-g8d4r3t2)\n" " - lp-<string>: lp-gop definition\n"
" (e.g. lp-g8d4t2, see README)\n"
" --cqmfile <string> : Custom Quantization Matrices from a file\n" " --cqmfile <string> : Custom Quantization Matrices from a file\n"
" --bitrate <integer> : Target bitrate. [0]\n" " --bitrate <integer> : Target bitrate. [0]\n"
" 0: disable rate-control\n" " - 0: disable rate-control\n"
" N: target N bits per second\n" " - N: target N bits per second\n"
" --lossless : Use lossless coding\n" " --lossless : Use lossless coding\n"
" --mv-constraint : Constrain movement vectors\n" " --mv-constraint : Constrain movement vectors\n"
" \"none\": no constraint\n" " - none: no constraint\n"
" \"frametile\": constrain within the tile\n" " - frametile: constrain within the tile\n"
" \"frametilemargin\": constrain even more\n" " - frametilemargin: constrain even more\n"
"\n" "\n"
/* Word wrap to this width to stay under 80 characters (including ") ************/
"Compression tools:\n" "Compression tools:\n"
" --no-deblock : Disable deblocking filter\n" " --deblock [<beta:tc>] : Deblocking\n"
" --deblock <beta:tc> : Deblocking filter parameters\n" " - beta: between -6 and 6\n"
" beta and tc range is -6..6 [0:0]\n" " - tc: between -6 and 6\n"
" --no-sao : Disable sample adaptive offset\n" " --(no-)sao : Sample Adaptive Offset\n"
" --no-rdoq : Disable RDO quantization\n" " --(no-)rdoq : Rate-Distortion Optimized Quantization\n"
" --no-signhide : Disable sign hiding in quantization\n" " --(no-)signhide : Sign Hiding\n"
" --smp : Enable Symmetric Motion Partition\n" " --(no-)smp : Symmetric Motion Partition\n"
" --amp : Enable Asymmetric Motion Partition\n" " --(no-)amp : Asymmetric Motion Partition\n"
" --rd <integer> : Rate-Distortion Optimization level [1]\n" " --rd <integer> : Intra mode search complexity\n"
" 0: no RDO\n" " - 0: skip intra if inter is good enough\n"
" 1: estimated RDO\n" " - 1: rough intra mode search with SATD\n"
" 2: full RDO\n" " - 2: refine intra mode search with SSE\n"
" --mv-rdo : Enable Rate-Distortion Optimized motion vector costs\n" " --(no-)mv-rdo : Rate-Distortion Optimized motion vector costs\n"
" --full-intra-search : Try all intra modes.\n" " --(no-)full-intra-search\n"
" --no-transform-skip : Disable transform skip\n" " : Try all intra modes during rough search.\n"
" --me <string> : Set integer motion estimation algorithm [\"hexbs\"]\n" " --(no-)transform-skip : Transform skip\n"
" \"hexbs\": Hexagon Based Search (faster)\n" " --me <string> : Integer motion estimation\n"
" \"tz\": Test Zone Search (better quality)\n" " - hexbs: Hexagon Based Search\n"
" \"full\": Full Search (super slow)\n" " - tz: Test Zone Search\n"
" --subme <integer> : Set fractional pixel motion estimation level [4].\n" " - full: Full Search\n"
" 0: only integer motion estimation\n" " - full8, full16, full32, full64\n"
" 1: + 1/2-pixel horizontal and vertical\n" " --subme <integer> : Set fractional pixel motion estimation level\n"
" 2: + 1/2-pixel diagonal\n" " - 0: only integer motion estimation\n"
" 3: + 1/4-pixel horizontal and vertical\n" " - 1: + 1/2-pixel horizontal and vertical\n"
" 4: + 1/4-pixel diagonal\n" " - 2: + 1/2-pixel diagonal\n"
" --pu-depth-inter <int>-<int> : Range for sizes of inter prediction units to try.\n" " - 3: + 1/4-pixel horizontal and vertical\n"
" 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8\n" " - 4: + 1/4-pixel diagonal\n"
" --pu-depth-intra <int>-<int> : Range for sizes of intra prediction units to try.\n" " --pu-depth-inter <int>-<int>\n"
" 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8, 4: 4x4\n" " : Range for sizes for inter predictions\n"
" --bipred : Enable bi-prediction search\n" " - 0, 1, 2, 3: from 64x64 to 8x8\n"
" --cu-split-termination : Specify the cu split termination behaviour\n" " --pu-depth-intra <int>-<int> : Range for sizes for intra predictions\n"
" \"zero\": Terminate when splitting gives little\n" " - 0, 1, 2, 3, 4: from 64x64 to 4x4\n"
" improvement.\n" " --(no-)bipred : Bi-prediction\n"
" \"off\": Don't terminate splitting early\n" " --(no-)cu-split-termination\n"
" --me-early-termination : Specify the me early termination behaviour\n" " : CU split search termination condition\n"
" \"off\": Early termination is off\n" " - off: Never terminate cu-split search\n"
" \"on\": Early termination is on\n" " - zero: Terminate with zero residual\n"
" \"sensitive\": Sensitive early termination is on\n" " --(no-)me-early-termination : ME early termination condition\n"
" --implicit-rdpcm : Enable implicit residual DPCM. Currently only supported\n" " - off: Don't terminate early\n"
" with lossless coding.\n" " - on: Terminate early\n"
" --no-tmvp : Disable Temporal Motion Vector Prediction\n" " - sensitive: Terminate even earlier\n"
" --rdoq-skip : Skips RDOQ for 4x4 blocks\n" " --(no-)implicit-rdpcm : Implicit residual DPCM\n"
" Currently only supported with lossless coding.\n"
" --(no-)tmvp : Temporal Motion Vector Prediction\n"
" --(no-)rdoq-skip : Skips RDOQ for 4x4 blocks\n"
"\n" "\n"
/* Word wrap to this width to stay under 80 characters (including ") ************/
"Parallel processing:\n" "Parallel processing:\n"
" --threads <integer> : Maximum number of threads to use.\n" " --threads <integer> : Number of threads to use [auto]\n"
" Disable threads if set to 0.\n" " - 0: process everything with main thread\n"
" --owf <integer>|auto : Number of parallel frames to process. 0 to disable.\n" " - N: use N threads for encoding\n"
" --wpp, --no-wpp : Wavefront parallel processing [enabled]\n" " - auto: select based on number of cores\n"
" Enabling tiles automatically disabled WPP. To enable\n" " --owf <integer> : Frame parallelism [auto]\n"
" WPP with tiles, re-enable it after enabling tiles.\n" " - N: Process N-1 frames at a time\n"
" - auto: Select automatically\n"
" --(no-)wpp : Wavefront parallel processing [enabled]\n"
" Enabling tiles automatically disables WPP.\n"
" To enable WPP with tiles, re-enable it after\n"
" enabling tiles.\n"
" --tiles <int>x<int> : Split picture into width x height uniform tiles.\n" " --tiles <int>x<int> : Split picture into width x height uniform tiles.\n"
" --tiles-width-split <string>|u<int> :\n" " --tiles-width-split <string>|u<int> :\n"
" Specifies a comma separated list of pixel\n" " Specifies a comma separated list of pixel\n"
@ -446,31 +461,32 @@ void print_help(void)
" in which case it produces uniform slice length.\n" " in which case it produces uniform slice length.\n"
*/ */
"\n" "\n"
/* Word wrap to this width to stay under 80 characters (including ") ************/
"Video Usability Information:\n" "Video Usability Information:\n"
" --sar <width:height> : Specify Sample Aspect Ratio\n" " --sar <width:height> : Specify Sample Aspect Ratio\n"
" --overscan <string> : Specify crop overscan setting [\"undef\"]\n" " --overscan <string> : Specify crop overscan setting [undef]\n"
" - undef, show, crop\n" " - undef, show, crop\n"
" --videoformat <string> : Specify video format [\"undef\"]\n" " --videoformat <string> : Specify video format [undef]\n"
" - component, pal, ntsc, secam, mac, undef\n" " - component, pal, ntsc, secam, mac, undef\n"
" --range <string> : Specify color range [\"tv\"]\n" " --range <string> : Specify color range [tv]\n"
" - tv, pc\n" " - tv, pc\n"
" --colorprim <string> : Specify color primaries [\"undef\"]\n" " --colorprim <string> : Specify color primaries [undef]\n"
" - undef, bt709, bt470m, bt470bg,\n" " - undef, bt709, bt470m, bt470bg,\n"
" smpte170m, smpte240m, film, bt2020\n" " smpte170m, smpte240m, film, bt2020\n"
" --transfer <string> : Specify transfer characteristics [\"undef\"]\n" " --transfer <string> : Specify transfer characteristics [undef]\n"
" - undef, bt709, bt470m, bt470bg,\n" " - undef, bt709, bt470m, bt470bg,\n"
" smpte170m, smpte240m, linear, log100,\n" " smpte170m, smpte240m, linear, log100,\n"
" log316, iec61966-2-4, bt1361e,\n" " log316, iec61966-2-4, bt1361e,\n"
" iec61966-2-1, bt2020-10, bt2020-12\n" " iec61966-2-1, bt2020-10, bt2020-12\n"
" --colormatrix <string> : Specify color matrix setting [\"undef\"]\n" " --colormatrix <string> : Specify color matrix setting [undef]\n"
" - undef, bt709, fcc, bt470bg, smpte170m,\n" " - undef, bt709, fcc, bt470bg, smpte170m,\n"
" smpte240m, GBR, YCgCo, bt2020nc, bt2020c\n" " smpte240m, GBR, YCgCo, bt2020nc, bt2020c\n"
" --chromaloc <integer> : Specify chroma sample location (0 to 5) [0]\n" " --chromaloc <integer> : Specify chroma sample location (0 to 5) [0]\n"
"\n" "\n"
/* Word wrap to this width to stay under 80 characters (including ") ************/
"Deprecated parameters: (might be removed at some point)\n" "Deprecated parameters: (might be removed at some point)\n"
" Use --input-res:\n" " -w, --width : Use --input-res\n"
" -w, --width : Width of input in pixels\n" " -h, --height : Use --input-res\n");
" -h, --height : Height of input in pixels\n");
} }

View file

@ -22,10 +22,8 @@ EOF
sed 's| : |\n|g; sed 's| : |\n|g;
s| :$||g; s| :$||g;
s|^ --|.TP\n\\fB--|g; s|^ --|.TP\n\\fB--|g;
s|^ --|.TP\n\\fB--|g;
s|^ -|.TP\n\\fB-|g; s|^ -|.TP\n\\fB-|g;
s|^ ||g; s|^ ||g;
s|^ ||g;
s|-|\\-|g; s|-|\\-|g;
s|, \\-\\-|\\fR, \\fB\\-\\-|g;' \ s|, \\-\\-|\\fR, \\fB\\-\\-|g;' \
>> $manpage_file >> $manpage_file