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, distor-
	      tion, 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 sup-
	      ported and detected 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 values	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 pro-
	      jection. [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 de-
	      bugging 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
	      coding. [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 automat-
	      ically disables WPP.  To enable WPP with tiles, re-enable	it af-
	      ter  enabling tiles. Enabling wpp	with tiles is, however,	an ex-
	      perimental feature since it is not supported in  any  HEVC  pro-
	      file.

       --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/col-
	      umn.  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.0.quarterly>

home | help