MAN-J
Man PagesPricing
LoginGet Started
avifenc(1)
Original
English • 293 lines
AVIFENC(1)		    General Commands Manual		    AVIFENC(1)

NAME
       avifenc - compress an image file to an AVIF file

SYNOPSIS
       avifenc [options] input.[jpg|jpeg|png|y4m] output.avif

DESCRIPTION
       avifenc compresses an image file to an AVIF file.  Input format can be
       either JPEG, PNG or YUV4MPEG2 (Y4M).

OPTIONS
       -h, --help
	      Show syntax help.

       -V, --version
	      Show the version number.

   BASIC OPTIONS
       -q, --qcolor Q
	      Quality for color in 0..100 where 100 is lossless.

       --qalpha Q
	      Quality for alpha in 0..100 where 100 is lossless.

       -s, --speed S
	      Encoder speed in 0..10 where 0 is the slowest, 10 is the
	      fastest.	Or `default' or `d' for codec internal defaults.
	      (Default: 6).

   ADVANCED OPTIONS
       -j, --jobs J
	      Number of jobs (worker threads), or `all' to potentially use as
	      many cores as possible.  (Default: all).

       --no-overwrite
	      Never overwrite existing output file.

       -o, --output FILENAME
	      Instead of using the last filename given as output, use this
	      filename.

       -l, --lossless
	      Set all defaults to encode losslessly, and emit warnings when
	      settings/input don’t allow for it.

       -d, --depth D
	      Output depth, one of 8, 10 or 12.	 (JPEG/PNG only; For y4m or
	      stdin, depth is retained).

       -y, --yuv FORMAT
	      Output format, one of `auto' (default), 444, 422, 420 or 400.
	      Ignored for y4m or stdin (y4m format is retained).

	      For JPEG, auto honors the JPEG’s internal format, if possible.
	      For grayscale PNG, auto defaults to 400.
	      For all other cases, auto defaults to 444.

       -p, --premultiply
	      Premultiply color by the alpha channel and signal this in the
	      AVIF.

       --sharpyuv
	      Use sharp RGB to YUV420 conversion (if supported).  Ignored for
	      y4m or if output is not 420.

       --stdin
	      Read y4m frames from stdin instead of files; no input filenames
	      allowed, must set before offering output filename.

       --cicp, --nclx P/T/M
	      Set CICP values (nclx colr box) (3 raw numbers, use -r to set
	      range flag).

	      • P = color primaries

	      • T = transfer characteristics

	      • M = matrix coefficients

	      Use 2 for any you wish to leave unspecified.

       -r, --range RANGE
	      YUV range, one of `limited' or `l', `full' or `f'.  (JPEG/PNG
	      only, default: full; For y4m or stdin, range is retained).

       --target-size S
	      Set target file size in bytes (up to 7 times slower)

       --progressive
	      EXPERIMENTAL: Automatically set parameters to encode a simple
	      layered image supporting progressive rendering from a single
	      input frame.

       --layered
	      EXPERIMENTAL: Encode a layered AVIF.  Each input is encoded as
	      one layer and at most 4 layers can be encoded.

       -g, --grid MxN
	      Encode a single-image grid AVIF with M cols & N rows.  Either
	      supply MxN identical W/H/D images, or a single image that can be
	      evenly split into the MxN grid and follow AVIF grid image
	      restrictions.  The grid will adopt the color profile of the
	      first image supplied.

       -c, --codec C
	      Codec to use.

	      Possible values depend on the codecs enabled at build time (see
	      --help or --version for the available codecs).  Default is
	      auto-selected from the available codecs.

	      Possible values are:

	      • aom

	      • rav1e

	      • svt

       --exif FILENAME
	      Provide an Exif metadata payload to be associated with the
	      primary item (implies --ignore-exif).

       --xmp FILENAME
	      Provide an XMP metadata payload to be associated with the
	      primary item (implies --ignore-xmp).

       --icc FILENAME
	      Provide an ICC profile payload to be associated with the primary
	      item (implies --ignore-icc).

       --timescale, --fps V
	      Timescale for image sequences.  If all frames are 1 timescale in
	      length, this is equivalent to frames per second.	(Default: 30)
	      If neither duration nor timescale are set, avifenc will attempt
	      to use the framerate stored in a y4m header, if present.

       -k, --keyframe INTERVAL
	      Maximum keyframe interval for image sequences (any set of
	      INTERVAL consecutive frames will have at least one keyframe).
	      Set to 0 to disable (default).

       --ignore-exif
	      If the input file contains embedded Exif metadata, ignore it
	      (no-op if absent).

       --ignore-xmp
	      If the input file contains embedded XMP metadata, ignore it
	      (no-op if absent).

       --ignore-profile, --ignore-icc
	      If the input file contains an embedded color profile, ignore it
	      (no-op if absent).

       --ignore-gain-map
	      If the input file contains an embedded gain map, ignore it
	      (no-op if absent).

       --qgain-map Q
	      Quality for the gain map in 0..100 where 100 is lossless.

       --pasp H,V
	      Add pasp property (aspect ratio).	 H=horizontal spacing,
	      V=vertical spacing.

       --crop CROPX,CROPY,CROPW,CROPH
	      Add clap property (clean aperture), but calculated from a crop
	      rectangle.

       --clap WN,WD,HN,HD,HON,HOD,VON,VOD
	      Add clap property (clean aperture).  Width, Height, HOffset,
	      VOffset (in numerator/denominator pairs).

       --irot ANGLE
	      Add irot property (rotation) in 0..3.  Makes (90 * ANGLE) degree
	      rotation anti-clockwise.

       --imir AXIS
	      Add imir property (mirroring).  0=top-to-bottom,
	      1=left-to-right.

       --clli MaxCLL,MaxPALL
	      Add clli property (content light level information).

       --repetition-count N
	      Number of times an animated image sequence will be repeated, or
	      `infinite' for infinite repetitions.  (Default: infinite).

       --     Signal the end of options.  Everything after this is interpreted
	      as file names.

   UPDATABLE OPTIONS
       The following options can optionally have a :u (or :update) suffix like
       -q:u Q, to apply only to input files appearing after the option:

       -q, --qcolor Q
	      Quality for color in 0..100 where 100 is lossless.

       --qalpha Q
	      Quality for alpha in 0..100 where 100 is lossless.

       --qgain-map Q
	      Quality for the gain map in 0..100 where 100 is lossless.

       --tilerowslog2 R
	      log2 of number of tile rows in 0..6.  (Default: 0).  If
	      specified, switch to manual tiling.

       --tilecolslog2 C
	      log2 of number of tile columns in 0..6.  (Default: 0).  If
	      specified, switch to manual tiling.

       --autotiling
	      Set --tilerowslog2 and --tilecolslog2 automatically.  If
	      specified, switch to automatic tiling.  avifenc starts in
	      automatic tiling mode.

       --scaling-mode N[/D]
	      EXPERIMENTAL: Set frame (layer) scaling mode as given fraction.
	      If omitted, the denominator defaults to 1.  (Default: 1/1).

       --duration D
	      Frame durations (in timescales) (default: 1).  This option
	      always applies to following inputs with or without the :u
	      suffix.

       -a, --advanced KEY[=VALUE]
	      Pass an advanced, codec-specific key/value string pair directly
	      to the codec.  avifenc will warn on any not used by the codec.

   AOM-SPECIFIC ADVANCED OPTIONS
       1. <key>=<value> applies to both the color (YUV) planes and the alpha
	  plane (if present).

       2. color:<key>=<value> or c:<key>=<value> applies only to the color
	  (YUV) planes.

       3. alpha:<key>=<value> or a:<key>=<value> applies only to the alpha
	  plane (if present).  Since the alpha plane is encoded as a
	  monochrome image, the options that refer to the chroma planes, such
	  as enable-chroma-deltaq=B, should not be used with the alpha plane.
	  In addition, the film grain options are unlikely to make sense for
	  the alpha plane.

       When used with libaom 3.0.0 or later, any key-value pairs supported by
       the aom_codec_set_option() function can be used.	 When used with libaom
       2.0.x or older, the following key-value pairs can be used:

       aq-mode=M
	      Adaptive quantization mode.  0=off (default), 1=variance,
	      2=complexity, 3=cyclic refresh.

       cq-level=Q
	      Constant/Constrained Quality level in 0..63, end-usage must be
	      set to cq or q.

       enable-chroma-deltaq=B
	      Enable delta quantization in chroma planes.  0=disable
	      (default), 1=enable.

       end-usage=MODE
	      Rate control mode, one of `vbr', `cbr', `cq', or `q'

       sharpness=S
	      Bias towards block sharpness in rate-distortion optimization of
	      transform coefficients in 0..7.  (Default: 0).

       tune=METRIC
	      Tune the encoder for distortion metric, one of `psnr' or `ssim'.
	      (Default: psnr).

       film-grain-test=TEST
	      Film grain test vectors in 0..16.	 0=none (default), 1=test1,
	      2=test2, ...  16=test16.

       film-grain-table=FILENAME
	      Path to file containing film grain parameters.

EXAMPLES
       Compress a PNG file to an AVIF file:
	      $ avifenc input.png output.avif

REPORTING BUGS
       Bugs can be reported on GitHub at:
	      <https://github.com/AOMediaCodec/libavif/issues>

SEE ALSO
       avifdec(1)

libavif 1.3.0			  2025-04-11			    AVIFENC(1)

avifenc(1)

avifenc \- compress an image file to an AVIF file

0popularity

System Information

libavif 1.3.0 1.0.0
Updated 2025\-04\-11
Maintained by Unknown

Actions