.TH KVAZAAR "1" "February 2020" "kvazaar v1.3.0" "User Commands" .SH NAME kvazaar \- open source HEVC encoder .SH SYNOPSIS \fBkvazaar \fR\-i \-\-input\-res x \-o .SH DESCRIPTION .TP \fB\-i\fR, \fB\-\-input Input file .TP \fB\-\-input\-res Input resolution [auto] \- auto: Detect from file name. \- x: width times height .TP \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 First frame to code [0] .TP \fB\-\-input\-fps [/] Frame rate of the input video [25] .TP \fB\-\-source\-scan\-type Source scan type [progressive] \- progressive: Progressive scan \- tff: Top field first \- bff: Bottom field first .TP \fB\-\-input\-format P420 or P400 [P420] .TP \fB\-\-input\-bitdepth 8\-16 [8] .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\-\-(no\-)aud Use access unit delimiters. [disabled] .TP \fB\-\-debug Output internal reconstruction. .TP \fB\-\-(no\-)cpuid Enable runtime CPU optimizations. [enabled] .TP \fB\-\-hash Decoded picture hash [checksum] \- none: 0 bytes \- checksum: 18 bytes \- md5: 56 bytes .TP \fB\-\-(no\-)psnr Calculate PSNR for frames. [enabled] .TP \fB\-\-(no\-)info Add encoder info SEI. [enabled] .TP \fB\-\-crypto Selective encryption. Crypto support must be enabled at compile\-time. Can be 'on' or 'off' or a list of features separated with a '+'. [off] \- on: Enable all encryption features. \- off: Disable selective encryption. \- mvs: Motion vector magnitudes. \- mv_signs: Motion vector signs. \- trans_coeffs: Coefficient magnitudes. \- trans_coeff_signs: Coefficient signs. \- intra_pred_modes: Intra prediction modes. .TP \fB\-\-key Encryption key [16,213,27,56,255,127,242,112, 97,126,197,204,25,59,38,30] .SS "Video structure:" .TP \fB\-q\fR, \fB\-\-qp Quantization parameter [22] .TP \fB\-p\fR, \fB\-\-period Period of intra pictures [64] \- 0: Only first picture is intra. \- 1: All pictures are intra. \- N: Every Nth picture is intra. .TP \fB\-\-vps\-period 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. .TP \fB\-r\fR, \fB\-\-ref Number of reference frames, in range 1..15 [4] .TP \fB\-\-gop GOP structure [8] \- 0: Disabled \- 8: B\-frame pyramid of length 8 \- lp\-: Low\-delay P\-frame GOP (e.g. lp\-g8d4t2, see README) .TP \fB\-\-(no\-)open\-gop Use open GOP configuration. [enabled] .TP \fB\-\-cqmfile Read custom quantization matrices from a file. .TP \fB\-\-scaling\-list : Set scaling list mode. [off] \- off: Disable scaling lists. \- custom: use custom list (with \-\-cqmfile). \- default: Use default lists. .TP \fB\-\-bitrate Target bitrate [0] \- 0: Disable rate control. \- N: Target N bits per second. .TP \fB\-\-(no\-)lossless Use lossless coding. [disabled] .TP \fB\-\-mv\-constraint Constrain movement vectors. [none] \- none: No constraint \- frametile: Constrain within the tile. \- frametilemargin: Constrain even more. .TP \fB\-\-roi Use a delta QP map for region of interest. Reads an array of delta QP values from a text file. The file format is: width and height of the QP delta map followed by width*height delta QP values in raster order. The map can be of any size and will be scaled to the video size. .TP \fB\-\-set\-qp\-in\-cu Set QP at CU level keeping pic_init_qp_minus26. in PPS and slice_qp_delta in slize header zero. .TP \fB\-\-(no\-)erp\-aqp Use adaptive QP for 360 degree video with equirectangular projection. [disabled] .TP \fB\-\-level Use the given HEVC level in the output and give an error if level limits are exceeded. [6.2] \- 1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2 .TP \fB\-\-force\-level Same as \-\-level but warnings instead of errors. .TP \fB\-\-high\-tier Used with \-\-level. Use high tier bitrate limits instead of the main tier limits during encoding. High tier requires level 4 or higher. .SS "Compression tools:" .TP \fB\-\-(no\-)deblock Deblocking filter. [0:0] \- beta: Between \-6 and 6 \- tc: Between \-6 and 6 .TP \fB\-\-sao Sample Adaptive Offset [full] \- off: SAO disabled \- band: Band offset only \- edge: Edge offset only \- full: Full SAO .TP \fB\-\-(no\-)rdoq Rate\-distortion optimized quantization [enabled] .TP \fB\-\-(no\-)rdoq\-skip Skip RDOQ for 4x4 blocks. [disabled] .TP \fB\-\-(no\-)signhide Sign hiding [disabled] .TP \fB\-\-(no\-)smp Symmetric motion partition [disabled] .TP \fB\-\-(no\-)amp Asymmetric motion partition [disabled] .TP \fB\-\-rd Intra mode search complexity [0] \- 0: Skip intra if inter is good enough. \- 1: Rough intra mode search with SATD. \- 2: Refine intra mode search with SSE. \- 3: Try all intra modes and enable intra chroma mode search. .TP \fB\-\-(no\-)mv\-rdo Rate\-distortion optimized motion vector costs [disabled] .TP \fB\-\-(no\-)zero\-coeff\-rdo If a CU is set inter, check if forcing zero residual improves the RD cost. [enabled] .TP \fB\-\-(no\-)full\-intra\-search Try all intra modes during rough search. [disabled] .TP \fB\-\-(no\-)transform\-skip Try transform skip [disabled] .TP \fB\-\-me Integer motion estimation algorithm [hexbs] \- hexbs: Hexagon Based Search \- tz: Test Zone Search \- full: Full Search \- full8, full16, full32, full64 \- dia: Diamond Search .TP \fB\-\-me\-steps Motion estimation search step limit. Only affects 'hexbs' and 'dia'. [\-1] .TP \fB\-\-subme Fractional pixel motion estimation level [4] \- 0: Integer motion estimation only \- 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 \- Inter prediction units sizes [0\-3] \- 0, 1, 2, 3: from 64x64 to 8x8 .TP \fB\-\-pu\-depth\-intra \- Intra prediction units sizes [1\-4] \- 0, 1, 2, 3, 4: from 64x64 to 4x4 .TP \fB\-\-ml\-pu\-depth\-intra Predict the pu\-depth\-intra using machine learning trees, overrides the \-\-pu\-depth\-intra parameter. [disabled] .TP \fB\-\-tr\-depth\-intra Transform split depth for intra blocks [0] .TP \fB\-\-(no\-)bipred Bi\-prediction [disabled] .TP \fB\-\-cu\-split\-termination CU split search termination [zero] \- off: Don't terminate early. \- zero: Terminate when residual is zero. .TP \fB\-\-me\-early\-termination Motion estimation termination [on] \- off: Don't terminate early. \- on: Terminate early. \- sensitive: Terminate even earlier. .TP \fB\-\-fast\-residual\-cost Skip CABAC cost for residual coefficients when QP is below the limit. [0] .TP \fB\-\-(no\-)intra\-rdo\-et Check intra modes in rdo stage only until a zero coefficient CU is found. [disabled] .TP \fB\-\-(no\-)early\-skip Try to find skip cu from merge candidates. Perform no further search if skip is found. For rd=0..1: Try the first candidate. For rd=2.. Try the best candidate based on luma satd cost. [enabled] .TP \fB\-\-max\-merge Maximum number of merge candidates, 1..5 [5] .TP \fB\-\-(no\-)implicit\-rdpcm Implicit residual DPCM. Currently only supported with lossless coding. [disabled] .TP \fB\-\-(no\-)tmvp Temporal motion vector prediction [enabled] .SS "Parallel processing:" .TP \fB\-\-threads Number of threads to use [auto] \- 0: Process everything with main thread. \- N: Use N threads for encoding. \- auto: Select automatically. .TP \fB\-\-owf Frame\-level parallelism [auto] \- N: Process N+1 frames at a time. \- auto: Select automatically. .TP \fB\-\-(no\-)wpp Wavefront parallel processing. [enabled] Enabling tiles automatically disables WPP. To enable WPP with tiles, re\-enable it after enabling tiles. Enabling wpp with tiles is, however, an experimental feature since it is not supported in any HEVC profile. .TP \fB\-\-tiles x Split picture into width x height uniform tiles. .TP \fB\-\-tiles\-width\-split |u \- : A comma\-separated list of tile column pixel coordinates. \- u: Number of tile columns of uniform width. .TP \fB\-\-tiles\-height\-split |u \- : A comma\-separated list of tile row column pixel coordinates. \- u: Number of tile rows of uniform height. .TP \fB\-\-slices Control how slices are used. \- tiles: Put tiles in independent slices. \- wpp: Put rows in dependent slices. \- tiles+wpp: Do both. .TP \fB\-\-partial\-coding !!! Encode partial frame. Parts must be merged to form a valid bitstream. X and Y are CTU offsets. Slice width and height must be divisible by CTU in pixels unless it is the last CTU row/column. This parameter is used by kvaShare. .SS "Video Usability Information:" .TP \fB\-\-sar Specify sample aspect ratio .TP \fB\-\-overscan Specify crop overscan setting [undef] \- undef, show, crop .TP \fB\-\-videoformat Specify video format [undef] \- undef, component, pal, ntsc, secam, mac .TP \fB\-\-range Specify color range [tv] \- tv, pc .TP \fB\-\-colorprim 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 .TP \fB\-\-colormatrix 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]