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

FreeBSD Manual Pages

  
 
  

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

NAME
       uvg266 -	open source VVC	encoder

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

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

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

       --cabac-debug-file
	      A	debug file for cabac context.  Ignore this,  it	 is  only  for
	      tests.

   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 [lp-g4d3t1]
		  -  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]

       --chroma-qp-in
	      List  of	input  values used for mapping the luma	QP into	chroma
	      qp. [17,27,32,44]

       --chroma-qp-out
	      List of output values used for mapping the luma QP  into	chroma
	      qp.  These  two  lists  have  to be same length, start with same
	      value, and can contain maximum 16	or 36 -	 starting  value  ele-
	      ments. [17,27,32,44]

       --(no-)dual-tree
	      Use separate CTU structure for luma and chroma in	intra slices.

   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

       --alf <string>
	      Adaptive Loop Filter [off]
		  - off: ALF disabled
		  - no-cc: ALF enabled without cross component
			   refinement
		  - full: Full ALF

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

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

       --(no-)dep-quant
	      Use dependent quantization. [disabled]

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

       --rd <integer>
	      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: Enable intra chroma mode	search.
		  - 4: 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-)transform-skip
	      Try transform skip [disabled]

       --(no-)chroma-transform-skip
	      Try transform skip for chroma
		    blocks. [disabled]

       --tr-skip-max-size
	      Max log2 size of transform skip 2..5 [2]

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

       --pu-depth-inter	<int>-<int>
	      Maximum and minimum split	depths where
		    inter search is performed 0..8. [0-3]
		  - 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>
	      Maximum and minimum split	depths where
		    intra search is performed 0..8. [1-4]
		  - 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]

       --mtt-depth-intra
	      Depth of mtt for intra slices 0..3.[0]

       --mtt-depth-intra-chroma
	      Depth of mtt for chroma dual tree	in
		     intra slices 0..3.[0]

       --mtt-depth-inter
	      Depth of mtt for inter slices 0..3.[0]
					    All	 MTTs are currently experimen-
	      tal and
					    require disabling some avx2	 opti-
	      mizations.

       --max-bt-size
	      maximum size for a CU resulting from
		  a bt split. A	singular value shared for all
		  or a list of three values for	the different
		  slices types (intra, inter, intra-chroma)
		  can be provided. [64,	64, 32]

       --max-tt-size
	      maximum size for a CU resulting from
		  a tt split. A	singular value shared for all
		  or a list of three values for	the different
		  slices types (intra, inter, intra-chroma)
		  can be provided. [64,	64, 32]

       --intra-rough-granularity
	      How many levels are used for the
		  logarithmic intra rough search. 0..4
		  With 0 all of	the modes are checked
		  in a single level, 1 checks every second
		  mode is checked on first level and then
		  second level checks the modes	surrounding
		  the three best modes.	[2]

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

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

       --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	candi-
	      date.  For rd = 2..  Try the best	candidate based
			     on	luma satd cost.	[enabled]

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

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

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

       --(no-)mrl
	      Enable use of multiple reference lines in	intra predictions.

       --(no-)mip
	      Enable matrix weighted intra prediction.

       --(no-)lfnst
	      Enable low frequency non-separable transform.
		[disabled]

       --(no-)isp
	      Enable  intra  sub partitions. [disabled]	Experimental, requires
	      disabling	some avx2 optimizations.

       --mts <string>
	      Multiple Transform Selection [off].  (Currently only implemented
	      for intra	and has	effect only when rd >= 2)
		  - off: MTS disabled
		  - intra: MTS applied only for	intra blocks.
		  - inter: MTS applied only for	inter blocks.
		  - both: MTS applied for both intra and inter
			  blocks.
		  - implicit: uses implicit MTS. Applies DST7
			      instead of DCT2 to certain intra
			      blocks.

       --(no-)jccr
	      Joint coding of chroma residual.	Requires rdo >=	2. [disabled]

       --(no-)cclm
	      Cross component linear model.   Extra  chroma  prediction	 modes
	      that  are	formed via linear transformation from the luma predic-
	      tion. Requires rdo >= 3. [disabled

       --(no-)amvr
	      Adaptive Motion Vector Resolution.  Code some MVs	 with  reduced
	      resolution [disabled]

   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]

uvg266 v0.8.1			   July	2024			     UVG266(1)

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

home | help