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