Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KVAZAAR(1)			  User Commands 		      KVAZAAR(1)

NAME
     kvazaar - open source HEVC encoder

SYNOPSIS
     kvazaar -i <input> --input-res <width>x<height> -o <output>

DESCRIPTION
   Required:
     -i, --input <filename>
	    Input file

     --input-res <res>
	    Input resolution [auto]
		- auto: Detect from file name.
		- <int>x<int>: width times height

     -o, --output <filename>
	    Output file

   Presets:
     --preset <preset>
	    Set options to a preset [medium]
		- ultrafast, superfast, veryfast, faster,
		  fast, medium, slow, slower, veryslow
		  placebo

   Input:
     -n, --frames <integer>
	    Number of frames to code [all]

     --seek <integer>
	    First frame to code [0]

     --input-fps <num>[/<denom>]
	    Frame rate of the input video [25]

     --source-scan-type <string>
	    Source scan type [progressive]
		- progressive: Progressive scan
		- tff: Top field first
		- bff: Bottom field first

     --input-format <string>
	    P420 or P400 [P420]

     --input-bitdepth <int>
	    8-16 [8]

     --loop-input
	    Re-read input file forever.

     --input-file-format <string>
	    Input file format [auto]
		 - auto: Check the file ending for format
		 - y4m (skips frame headers)
		 - yuv

   Options:
     --help
	    Print this help message and exit.

     --version
	    Print version information and exit.

     --(no-)aud
	    Use access unit delimiters. [disabled]

     --debug <filename>
	    Output internal reconstruction.

     --(no-)cpuid
	    Enable runtime CPU optimizations. [enabled]

     --hash <string>
	    Decoded picture hash [checksum]
		- none: 0 bytes
		- checksum: 18 bytes
		- md5: 56 bytes

     --(no-)psnr
	    Calculate PSNR for frames. [enabled]

     --(no-)info
	    Add encoder info SEI. [enabled]

     --(no-)enable-logging
	    Enable  logging  for regular encoder performance, error messages are
	    always disblayed. [enabled]

     --crypto <string>
	    Selective  encryption.  Crypto  support  must  be  enabled	at  com-
	    pile-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.

     --key <string>
	    Encryption key [16,213,27,56,255,127,242,112,
			    97,126,197,204,25,59,38,30]

     --stats-file-prefix
	    A prefix used for stats files that include bits, lambda, distortion,
	    and  qp  for  each	ctu.   These are meant for debugging and are not
	    written unless the prefix is defined.

   Video structure:
     -q, --qp <integer>
	    Quantization parameter [22]

     -p, --period <integer>
	    Period of intra pictures [64]
		- 0: Only first picture is intra.
		- 1: All pictures are intra.
		- N: Every Nth picture is intra.

     --vps-period <integer>
	    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 <integer>
	    Number of reference frames, in range 1..15 [4]

     --gop <string>
	    GOP structure [16]
		-  0: Disabled
		-  8: B-frame pyramid of length 8
		- 16: B-frame pyramid of length 16
		- lp-<string>: Low-delay P/B-frame GOP
		  (e.g. lp-g8d4t2, see README)

     --intra-qp-offset <int>: QP offset for intra frames [-51..51] [auto]
		- N: Set QP offset to N.
		- auto: Select offset automatically based
		  on GOP length.

     --(no-)open-gop
	    Use open GOP configuration. [enabled]

     --cqmfile <filename>
	    Read custom quantization matrices from a file.

     --scaling-list <string>: Set scaling list mode. [off]
		- off: Disable scaling lists.
		- custom: use custom list (with --cqmfile).
		- default: Use default lists.

     --bitrate <integer>
	    Target bitrate [0]
		- 0: Disable rate control.
		- N: Target N bits per second.

     --rc-algorithm <string>: Select used rc-algorithm. [lambda]
		- lambda: rate control from:
		  DOI: 10.1109/TIP.2014.2336550
		- oba: DOI: 10.1109/TCSVT.2016.2589878

     --(no-)intra-bits
	    Use Hadamard cost based allocation for intra frames. Default on  for
	    gop 8 and off for lp-gop

     --(no-)clip-neighbour
	    On	oba  based  rate  control  whether to clip lambda values to same
	    frame's ctus or previous'.	Default on for RA GOPS and disabled  for
	    LP.

     --(no-)lossless
	    Use lossless coding. [disabled]

     --mv-constraint <string>
	    Constrain movement vectors. [none]
		- none: No constraint
		- frametile: Constrain within the tile.
		- frametilemargin: Constrain even more.

     --roi <filename>
	    Use  a delta QP map for region of interest.  Reads an array of delta
	    QP values from a file.  Text and binary files are supported and  de-
	    tected  from the file extension (.txt/.bin). If a known extension is
	    not found, the file is treated as a text file. The file can  include
	    one  or  many  ROI	frames	each  in the following format: width and
	    height of the QP delta map followed by width * height delta QP  val-
	    ues  in  raster order. In binary format, width and height are 32-bit
	    integers whereas the delta QP values are signed  8-bit  values.  The
	    map  can  be  of  any size and will be scaled to the video size. The
	    file reading will loop if end of the file is reached.   See  roi.txt
	    in the examples folder.

     --set-qp-in-cu
	    Set  QP  at  CU  level  keeping  pic_init_qp_minus26.   in	PPS  and
	    slice_qp_delta in slize header zero.

     --(no-)erp-aqp
	    Use adaptive QP for 360 degree video  with	equirectangular  projec-
	    tion. [disabled]

     --level <number>
	    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

     --force-level <number>
	    Same as --level but warnings instead of errors.

     --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.

     --(no-)vaq <integer>
	    Enable  variance adaptive quantization with given strength, in range
	    1..20. Recommended: 5.  [disabled]

   Compression tools:
     --(no-)deblock <beta:tc>
	    Deblocking filter. [0:0]
		- beta: Between -6 and 6
		- tc: Between -6 and 6

     --sao <string>
	    Sample Adaptive Offset [full]
		- off: SAO disabled
		- band: Band offset only
		- edge: Edge offset only
		- full: Full SAO

     --(no-)rdoq
	    Rate-distortion optimized quantization [enabled]

     --(no-)rdoq-skip
	    Skip RDOQ for 4x4 blocks. [disabled]

     --(no-)signhide
	    Sign hiding [disabled]

     --(no-)smp
	    Symmetric motion partition [disabled]

     --(no-)amp
	    Asymmetric motion partition [disabled]

     --rd <integer>
	    Mode search complexity [0]
		- 0: Skip intra if inter is good enough.
		- 1: Rough intra mode search with SATD.
		- 2: Refine mode search with SSE.
		- 3: More SSE candidates for inter and
		     chroma mode search for 4x4 intra.
		- 4: Even more SSE candidates for both.
		- 5: Try all intra modes.

     --(no-)mv-rdo
	    Rate-distortion optimized motion vector costs [disabled]

     --(no-)zero-coeff-rdo
	    If a CU is set inter, check if forcing zero residual improves the RD
	    cost. [enabled]

     --(no-)full-intra-search
	    Try all intra modes during rough search.  [disabled]

     --(no-)intra-chroma-search
	    Test non-derived intra chroma modes.
		[disabled]

     --(no-)transform-skip
	    Try transform skip [disabled]

     --me <string>
	    Integer motion estimation algorithm [hexbs]
		- hexbs: Hexagon Based Search
		- tz:	 Test Zone Search
		- full:  Full Search
		- full8, full16, full32, full64
		- dia:	 Diamond Search

     --me-steps <integer>
	    Motion estimation search step limit. Only affects 'hexbs' and 'dia'.
	    [-1]

     --subme <integer>
	    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

     --(no-)fast-bipred
	    Only perform fast bipred search. [enabled]

     --pu-depth-inter <int>-<int>
	    Inter prediction units sizes [0-3]
		- 0, 1, 2, 3: from 64x64 to 8x8
		- Accepts a list of values separated by ','
		  for setting separate depths per GOP layer
		  (values can be omitted to use the first
		  value for the respective layer).

     --pu-depth-intra <int>-<int>
	    Intra prediction units sizes [1-4]
		- 0, 1, 2, 3, 4: from 64x64 to 4x4
		- Accepts a list of values separated by ','
		  for setting separate depths per GOP layer
		  (values can be omitted to use the first
		  value for the respective layer).

     --ml-pu-depth-intra
	    Predict the pu-depth-intra using machine
	     learning trees, overrides the
	     --pu-depth-intra parameter. [disabled]

     --(no-)combine-intra-cus: Whether the encoder tries to code a cu
		on lower depth even when search is not
		performed on said depth. Should only
		be disabled if cus absolutely must not
		be larger than limited by the search.
		[enabled]

     --force-inter
	    Force the encoder to use inter always.  This is mostly for debugging
	    and is not guaranteed to produce sensible bitstream or work at  all.
	    [disabled]

     --tr-depth-intra <int>
	    Transform split depth for intra blocks [0]

     --(no-)bipred
	    Bi-prediction [enabled]

     --cu-split-termination <string>
	    CU split search termination [zero]
		- off: Don't terminate early.
		- zero: Terminate when residual is zero.

     --me-early-termination <string>
	    Motion estimation termination [on]
		- off: Don't terminate early.
		- on: Terminate early.
		- sensitive: Terminate even earlier.

     --fast-residual-cost <int>
	    Skip CABAC cost for residual coefficients
		when QP is below the limit. [0]

     --fast-coeff-table <string>
	    Read custom weights for residual
		 coefficients from a file instead of using
		 defaults [default]

     --fast-rd-sampling
	    Enable learning data sampling for fast coefficient
				       table generation

     --fastrd-accuracy-check
	    Evaluate the accuracy of fast coefficient
	     prediction

     --fastrd-outdir
	    Directory to which to output sampled data or accuracy
				    data,  into <fastrd-outdir>/0.txt to 50.txt,
	    one file
				    for each QP that blocks were estimated on

     --(no-)intra-rdo-et
	    Check intra modes in rdo stage only until a zero coefficient  CU  is
	    found. [disabled]

     --(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]

     --max-merge <integer>
	    Maximum number of merge candidates, 1..5 [5]

     --(no-)implicit-rdpcm
	    Implicit residual DPCM. Currently only supported with lossless  cod-
	    ing. [disabled]

     --(no-)tmvp
	    Temporal motion vector prediction [enabled]

   Parallel processing:
     --threads <integer>
	    Number of threads to use [auto]
		- 0: Process everything with main thread.
		- N: Use N threads for encoding.
		- auto: Select automatically.

     --owf <integer>
	    Frame-level parallelism [auto]
		- N: Process N+1 frames at a time.
		- auto: Select automatically.

     --(no-)wpp
	    Wavefront  parallel  processing.  [enabled] Enabling tiles automati-
	    cally 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.

     --tiles <int>x<int>
	    Split picture into width x height uniform tiles.

     --tiles-width-split <string>|u<int>
		- <string>: A comma-separated list of tile
			    column pixel coordinates.
		- u<int>: Number of tile columns of uniform
			  width.

     --tiles-height-split <string>|u<int>
		- <string>: A comma-separated list of tile
			    row column pixel coordinates.
		- u<int>: Number of tile rows of uniform
			  height.

     --slices <string>
	    Control how slices are used.
		- tiles: Put tiles in independent slices.
		- wpp: Put rows in dependent slices.
		- tiles+wpp: Do both.

     --partial-coding <x-offset>!<y-offset>!<slice-width>!<slice-height>

	    Encode  partial  frame.   Parts  must be merged to form a valid bit-
	    stream.  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.

   Video Usability Information:
     --sar <width:height>
	    Specify sample aspect ratio

     --overscan <string>
	    Specify crop overscan setting [undef]
		- undef, show, crop

     --videoformat <string>
	    Specify video format [undef]
		- undef, component, pal, ntsc, secam, mac

     --range <string>
	    Specify color range [tv]
		- tv, pc

     --colorprim <string>
	    Specify color primaries [undef]
		- undef, bt709, bt470m, bt470bg,
		  smpte170m, smpte240m, film, bt2020

     --transfer <string>
	    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 <string>
	    Specify color matrix setting [undef]
		- undef, bt709, fcc, bt470bg, smpte170m,
		  smpte240m, GBR, YCgCo, bt2020nc, bt2020c

     --chromaloc <integer>
	    Specify chroma sample location (0 to 5) [0]

kvazaar v2.3.2			 September 2025 		      KVAZAAR(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=kvazaar&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help