diff --git a/README.md b/README.md index 88af3b71..d22f7833 100644 --- a/README.md +++ b/README.md @@ -18,14 +18,44 @@ http://ultravideo.cs.tut.fi/#encoder for more information. Usage: kvazaar -i --input-res x -o -Optional parameters: - --help : Print this help message and exit - --version : Print version information and exit +Required: + -i, --input --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, + placebo + +Input: -n, --frames : Number of frames to code [all] - --seek : First frame to code [0] - --input-res x : Input resolution (width x height) or - auto : try to detect from file name [auto] - --input-fps / : Framerate of the input video [25.0] + --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. + +Video structure: -q, --qp : Quantization Parameter [32] -p, --period : Period of intra pictures [0] 0: only first picture is intra @@ -37,6 +67,21 @@ Optional parameters: 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 + +Compression tools: --no-deblock : Disable deblocking filter --deblock : Deblocking filter parameters beta and tc range is -6..6 [0:0] @@ -52,10 +97,6 @@ Optional parameters: --mv-rdo : Enable Rate-Distortion Optimized motion vector costs --full-intra-search : Try all intra modes. --no-transform-skip : Disable transform skip - --aud : Use access unit delimiters - --cqmfile : Custom Quantization Matrices from a file - --debug : Output encoders reconstruction. - --cpuid : Disable runtime cpu optimizations with value 0. --me : Set integer motion estimation algorithm ["hexbs"] "hexbs": Hexagon Based Search (faster) "tz": Test Zone Search (better quality) @@ -66,36 +107,11 @@ Optional parameters: 2: + 1/2-pixel diagonal 3: + 1/4-pixel horizontal and vertical 4: + 1/4-pixel diagonal - --source-scan-type : Set source scan type ["progressive"]. - "progressive": progressive scan - "tff": top field first - "bff": bottom field first --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 - --no-info : Don't add information about the encoder to settings. - --gop : Definition of GOP structure [0] - "0": disabled - "8": B-frame pyramid of length 8 - "lp-": lp-gop definition (e.g. lp-g8d4r3t2) --bipred : Enable bi-prediction search - --bitrate : Target bitrate. [0] - 0: disable rate-control - N: target N bits per second - --preset : Use preset. This will override previous options. - ultrafast, superfast, veryfast, faster, - fast, medium, slow, slower, veryslow, placebo - --no-psnr : Don't calculate PSNR for frames - --loop-input : Re-read input file forever - --mv-constraint : Constrain movement vectors - "none": no constraint - "frametile": constrain within the tile - "frametilemargin": constrain even more - --hash : Specify which decoded picture hash to use [checksum] - "none": 0 bytes - "checksum": 18 bytes - "md5": 56 bytes --cu-split-termination : Specify the cu split termination behaviour "zero": Terminate when splitting gives little improvement. @@ -104,15 +120,31 @@ Optional parameters: "off": Early termination is off "on": Early termination is on "sensitive": Sensitive early termination is on - --lossless : Use lossless coding --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 - --input-format : P420 or P400 - --input-bitdepth : 8-16 - Video Usability Information: +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. + +Video Usability Information: --sar : Specify Sample Aspect Ratio --overscan : Specify crop overscan setting ["undef"] - undef, show, crop @@ -133,28 +165,7 @@ Optional parameters: smpte240m, GBR, YCgCo, bt2020nc, bt2020c --chromaloc : Specify chroma sample location (0 to 5) [0] - Parallel processing: - --threads : Maximum number of threads to use. - Disable threads if set to 0. - - 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. - - Wpp: - --wpp : Enable wavefront parallel processing - --owf |auto : Number of parallel frames to process. 0 to disable. - - Deprecated parameters: (might be removed at some point) +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 diff --git a/doc/kvazaar.1 b/doc/kvazaar.1 index 36c66ccd..f59f2518 100644 --- a/doc/kvazaar.1 +++ b/doc/kvazaar.1 @@ -1,30 +1,83 @@ -.TH KVAZAAR "1" "October 2016" "kvazaar v0.8.3" "User Commands" +.TH KVAZAAR "1" "October 2016" "kvazaar v1.0.0" "User Commands" .SH NAME kvazaar \- open source HEVC encoder .SH SYNOPSIS \fBkvazaar \fR\-i \-\-input\-res x \-o .SH DESCRIPTION .TP -\fB\-\-help -Print this help message and exit +\fB\-i\fR, \fB\-\-input \-\-input\-res +Input resolution [auto] + auto: detect from file name + x: width times height .TP -\fB\-\-version -Print version information and exit +\fB\-o\fR, \fB\-\-output +Output file + +.SS "Presets:" +.TP +\fB\-\-preset= +Set options to a preset [medium] + ultrafast, superfast, veryfast, faster, + fast, medium, slow, slower, veryslow, + placebo + +.SS "Input:" .TP \fB\-n\fR, \fB\-\-frames Number of frames to code [all] .TP -\fB\-\-seek +\fB\-\-seek First frame to code [0] .TP -\fB\-\-input\-res x -Input resolution (width x height) or -auto -try to detect from file name [auto] -.TP -\fB\-\-input\-fps / +\fB\-\-input\-fps / 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 +.TP +\fB\-\-input\-format +P420 or P400 +.TP +\fB\-\-input\-bitdepth +8\-16 +.TP +\fB\-\-loop\-input +Re\-read input file forever + +.SS "Options:" +.TP +\fB\-\-help +Print this help message and exit +.TP +\fB\-\-version +Print version information and exit +.TP +\fB\-\-aud +Use access unit delimiters +.TP +\fB\-\-debug +Output encoders reconstruction. +.TP +\fB\-\-cpuid +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 +.TP +\fB\-\-no\-psnr +Don't calculate PSNR for frames +.TP +\fB\-\-no\-info +Don't add information about the encoder to settings. + +.SS "Video structure:" +.TP \fB\-q\fR, \fB\-\-qp Quantization Parameter [32] .TP @@ -44,6 +97,31 @@ re\-sent. [0] \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) +.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 +.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 + +.SS "Compression tools:" +.TP \fB\-\-no\-deblock Disable deblocking filter .TP @@ -81,18 +159,6 @@ Try all intra modes. \fB\-\-no\-transform\-skip Disable transform skip .TP -\fB\-\-aud -Use access unit delimiters -.TP -\fB\-\-cqmfile -Custom Quantization Matrices from a file -.TP -\fB\-\-debug -Output encoders reconstruction. -.TP -\fB\-\-cpuid -Disable runtime cpu optimizations with value 0. -.TP \fB\-\-me Set integer motion estimation algorithm ["hexbs"] "hexbs": Hexagon Based Search (faster) @@ -107,12 +173,6 @@ Set fractional pixel motion estimation level [4]. 3: + 1/4\-pixel horizontal and vertical 4: + 1/4\-pixel diagonal .TP -\fB\-\-source\-scan\-type -Set source scan type ["progressive"]. - "progressive": progressive scan - "tff": top field first - "bff": bottom field first -.TP \fB\-\-pu\-depth\-inter \- Range for sizes of inter prediction units to try. 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8 @@ -121,46 +181,9 @@ Range for sizes of inter prediction units to try. Range for sizes of intra prediction units to try. 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8, 4: 4x4 .TP -\fB\-\-no\-info -Don't add information about the encoder to settings. -.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) -.TP \fB\-\-bipred Enable bi\-prediction search .TP -\fB\-\-bitrate -Target bitrate. [0] - 0: disable rate\-control - N: target N bits per second -.TP -\fB\-\-preset -Use preset. This will override previous options. - ultrafast, superfast, veryfast, faster, - fast, medium, slow, slower, veryslow, placebo -.TP -\fB\-\-no\-psnr -Don't calculate PSNR for frames -.TP -\fB\-\-loop\-input -Re\-read input file forever -.TP -\fB\-\-mv\-constraint -Constrain movement vectors - "none": no constraint - "frametile": constrain within the tile - "frametilemargin": constrain even more -.TP -\fB\-\-hash -Specify which decoded picture hash to use [checksum] - "none": 0 bytes - "checksum": 18 bytes - "md5": 56 bytes -.TP \fB\-\-cu\-split\-termination Specify the cu split termination behaviour "zero": Terminate when splitting gives little @@ -173,9 +196,6 @@ Specify the me early termination behaviour "on": Early termination is on "sensitive": Sensitive early termination is on .TP -\fB\-\-lossless -Use lossless coding -.TP \fB\-\-implicit\-rdpcm Enable implicit residual DPCM. Currently only supported with lossless coding. @@ -185,12 +205,35 @@ Disable Temporal Motion Vector Prediction .TP \fB\-\-rdoq\-skip Skips RDOQ for 4x4 blocks + +.SS "Parallel processing:" .TP -\fB\-\-input\-format -P420 or P400 +\fB\-\-threads +Maximum number of threads to use. +Disable threads if set to 0. .TP -\fB\-\-input\-bitdepth -8\-16 +\fB\-\-owf |auto +Number of parallel frames to process. 0 to disable. +.TP +\fB\-\-wpp\fR, \fB\-\-no\-wpp +Wavefront parallel processing [enabled] +Enabling tiles automatically disabled WPP. To enable +WPP with tiles, re\-enable it after enabling tiles. +.TP +\fB\-\-tiles x +Split picture into width x height uniform tiles. +.TP +\fB\-\-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. +.TP +\fB\-\-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. .SS "Video Usability Information:" .TP @@ -229,34 +272,3 @@ Specify color matrix setting ["undef"] \fB\-\-chromaloc Specify chroma sample location (0 to 5) [0] -.SS "Parallel processing:" -.TP -\fB\-\-threads -Maximum number of threads to use. -Disable threads if set to 0. - -.SS "Tiles:" -.TP -\fB\-\-tiles x -Split picture into width x height uniform tiles. -.TP -\fB\-\-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. -.TP -\fB\-\-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. - -.SS "Wpp:" -.TP -\fB\-\-wpp -Enable wavefront parallel processing -.TP -\fB\-\-owf |auto -Number of parallel frames to process. 0 to disable. - diff --git a/tools/genmanpage.sh b/tools/genmanpage.sh index d8b9d526..cb198140 100755 --- a/tools/genmanpage.sh +++ b/tools/genmanpage.sh @@ -30,6 +30,6 @@ EOF s|, \\-\\-|\\fR, \\fB\\-\\-|g;' \ >> $manpage_file -for s in Slices Wpp Tiles "Parallel processing" "Video Usability Information"; do - sed -i "s|^ ${s}:|.SS \"${s}:\"|g" $manpage_file +for s in Required Presets Input Options "Video structure" "Compression tools" "Parallel processing" "Video Usability Information"; do + sed -i "s|^${s}:|.SS \"${s}:\"|g" $manpage_file done