SvtAv1EncApp - Man Page

manual page for SvtAv1EncApp 2.3.0

Synopsis

SvtAv1EncApp <options> <-b dst_filename> -i src_filename

Options

--help

Shows the command line options currently available

--version

Shows the version of the library that's linked to the library

-i,  --input

Input raw video (y4m and yuv) file path, use `stdin` or `-` to read from pipe

-b,  --output

Output compressed (ivf) file path, use `stdout` or `-` to write to pipe

-c,  --config

Configuration file path

--errlog

Error file path, defaults to stderr

-o,  --recon

Reconstructed yuv file path

--stat-file

PSNR / SSIM per picture stat output file path, requires `--enable-stat-report 1`

--progress

Verbosity of the output, default is 1 [0: no progress is printed, 2: aomenc style output]

--no-progress

Do not print out progress, default is 0 [1: `--progress 0`, 0: `--progress 1`]

--preset

Encoder preset, presets < 0 are for debugging. Higher presets means faster encodes, but with a quality tradeoff, default is 10 [-1-13]

--svtav1-params

colon separated list of key=value pairs of parameters with keys based on config file options

Encoder Global Options

-w,  --width

Frame width in pixels, inferred if y4m, default is 0 [64-16384]

-h,  --height

Frame height in pixels, inferred if y4m, default is 0 [64-8704]

--forced-max-frame-width

Maximum frame width value to force, default is 0 [64-16384]

--forced-max-frame-height

Maximum frame height value to force, default is 0 [64-8704]

--n

Number of frames to encode. If `n` is larger than the input, the encoder will loop back and continue encoding, default is 0 [0: until EOF, 1-`(2^63)-1`]

--skip

Number of frames to skip. Default is 0 [0: don`t skip, 1-`(2^63)-1`]

--frames

Number of frames to encode. If `n` is larger than the input, the encoder will loop back and continue encoding, default is 0 [0: until EOF, 1-`(2^63)-1`]

--nb

Buffer `n` input frames into memory and use them to encode, default is -1 [-1: no frames buffered, 1-`(2^31)-1`]

--color-format

Color format, only yuv420 is supported at this time, default is 1 [0: yuv400, 1: yuv420, 2: yuv422, 3: yuv444]

--profile

Bitstream profile, default is 0 [0: main, 1: high, 2: professional]

--level

Bitstream level, defined in A.3 of the av1 spec, default is 0 [0: autodetect from input, 2.0-7.3]

--enable-hdr

Enable writing of HDR metadata in the bitstream, default is 0 [0-1]

--fps

Input video frame rate, integer values only, inferred if y4m, default is 60 [1-240]

--fps-num

Input video frame rate numerator, default is 60000 [0-2^32-1]

--fps-denom

Input video frame rate denominator, default is 1000 [0-2^32-1]

--input-depth

Input video file and output bitstream bit-depth, default is 8 [8, 10]

--inj

Inject pictures to the library at defined frame rate, default is 0 [0-1]

--inj-frm-rt

Set injector frame rate, only applicable with `--inj 1`, default is 60 [0-240]

--enable-stat-report

Calculates and outputs PSNR SSIM metrics at the end of encoding, default is 0 [0-1]

--asm

Limit assembly instruction set, only applicable to x86, default is max [c, mmx, sse, sse2, sse3, ssse3, sse4_1, sse4_2, avx, avx2, avx512, max]

--lp

Target (best effort) number of logical cores to be used. 0 means all. Refer to Appendix A.1 of the user guide, default is 0 [0, core count of the machine]

--pin

Pin the execution to the first --lp cores. Overwritten to 1 when `--ss` is set. Refer to Appendix A.1 of the user guide, default is 0 [0-1]

--ss

Specifies which socket to run on, assumes a max of two sockets. Refer to Appendix A.1 of the user guide, default is -1 [-1, 0, -1]

Rate Control Options

--rc

Rate control mode, default is 0 [0: CRF or CQP (if `--aq-mode` is 0), 1: VBR, 2: CBR]

-q,  --qp

Initial QP level value, default is 35 [1-63]

--crf

Constant Rate Factor value, setting this value is equal to `--rc 0 --aq-mode 2 --qp x`, default is 35 [1-63]

--tbr

Target Bitrate (kbps), only applicable for VBR and CBR encoding, default is 7000 [1-100000]

--mbr

Maximum Bitrate (kbps) only applicable for CRF encoding, default is 0 [1-100000]

--use-q-file

Overwrite the encoder default picture based QP assignments and use QP values from `--qp-file`, default is 0 [0-1]

--qpfile

Path to a file containing per picture QP value separated by newlines

--max-qp

Maximum (highest) quantizer, only applicable for VBR and CBR, default is 63 [1-63]

--min-qp

Minimum (lowest) quantizer, only applicable for VBR and CBR, default is 1 [1-63]

--aq-mode

Set adaptive QP level, default is 2 [0: off, 1: variance base using AV1 segments, 2: deltaq pred efficiency]

--use-fixed-qindex-offsets

Overwrite the encoder default hierarchical layer based QP assignment and use fixed Q index offsets, default is 0 [0-2]

--key-frame-qindex-offset

Overwrite the encoder default keyframe Q index assignment, default is 0 [-256-255]

--key-frame-chroma-qindex-offset

Overwrite the encoder default chroma keyframe Q index assignment, default is 0 [-256-255]

--qindex-offsets

list of luma Q index offsets per hierarchical layer, separated by `,` with each offset in the range of [-256-255], default is `0,0,..,0`

--chroma-qindex-offsets

list of chroma Q index offsets per hierarchical layer, separated by `,` with each offset in the range of [-256-255], default is `0,0,..,0`

--luma-y-dc-qindex-offset

Luma Y DC Qindex Offset

--chroma-u-dc-qindex-offset

Chroma U DC Qindex Offset

--chroma-u-ac-qindex-offset

Chroma U AC Qindex Offset

--chroma-v-dc-qindex-offset

Chroma V DC Qindex Offset

--chroma-v-ac-qindex-offset

Chroma V AC Qindex Offset

--lambda-scale-factors

list of scale factor for lambda values used for different frame types defined by SvtAv1FrameUpdateType, separated by `,`       with each scale factor as integer.       value divided by 128 is the actual scale factor in float, default is `128,128,..,128`

--undershoot-pct

Only for VBR and CBR, allowable datarate undershoot (min) target (percentage), default is 25, but can change based on rate control [0-100]

--overshoot-pct

Only for VBR and CBR, allowable datarate overshoot (max) target (percentage), default is 25, but can change based on rate control [0-100]

--mbr-overshoot-pct

Only for Capped CRF, allowable datarate overshoot (max) target (percentage), default is 50, but can change based on rate control [0-100]

--gop-constraint-rc

Enable GoP constraint rc.  When enabled, the rate control matches the target rate for each GoP, default is 0 [0-1]

--buf-sz

Client buffer size (ms), only applicable for CBR, default is 6000 [0-10000]

--buf-initial-sz

Client initial buffer size (ms), only applicable for CBR, default is 4000 [0-10000]

--buf-optimal-sz

Client optimal buffer size (ms), only applicable for CBR, default is 5000 [0-10000]

--recode-loop

Recode loop level, refer to "Recode loop level table" in the user guide for more info [0: off, 4: preset based]

--minsection-pct

GOP min bitrate (expressed as a percentage of the target rate), default is 0 [0-100]

--maxsection-pct

GOP max bitrate (expressed as a percentage of the target rate), default is 2000 [0-10000]

--enable-qm

Enable quantisation matrices, default is 0 [0-1]

--qm-min

Min quant matrix flatness, default is 8 [0-15]

--qm-max

Max quant matrix flatness, default is 15 [0-15]

--roi-map-file

Enable Region Of Interest and specify a picture based QP Offset map file, default is off

Multi-pass Options

--pass

Multi-pass selection, pass 2 is only available for VBR, default is 0 [0: single pass encode, 1: first pass, 2: second pass]

--stats

Filename for multi-pass encoding, default is "svtav1_2pass.log"

--passes

Number of encoding passes, default is preset dependent but generally 1 [1: one pass encode, 2: multi-pass encode]

GOP size and type Options

--keyint

GOP size (frames), default is -2 [-2: ~5 seconds, -1: "infinite" and only applicable for CRF, 0: same as -1]

--irefresh-type

Intra refresh type, default is 2 [1: FWD Frame (Open GOP), 2: KEY Frame (Closed GOP)]

--scd

Scene change detection control, default is 0 [0-1]

--lookahead

Number of frames in the future to look ahead, not including minigop, temporal filtering, and rate control, default is -1 [-1: auto, 0-120]

--hierarchical-levels

Set hierarchical levels beyond the base layer, default is <=M12: 5, else: 4 [2: 3 temporal layers, 3: 4 temporal layers, 4: 5 layers, 5: 6 layers]

--pred-struct

Set prediction structure, default is 2 [1: low delay frames, 2: random access]

--force-key-frames

Force key frames at the comma separated specifiers. `#f` for frames, `#.#s` for seconds

--startup-mg-size

Specify another mini-gop configuration for the first mini-gop after the key-frame, default is 0 [0: OFF, 2: 3 temporal layers, 3: 4 temporal layers, 4: 5 temporal layers]

AV1 Specific Options

--tile-rows

Number of tile rows to use, `TileRow == log2(x)`, default changes per resolution but is 1 [0-6]

--tile-columns

Number of tile columns to use, `TileCol == log2(x)`, default changes per resolution but is 1 [0-4]

--enable-dlf

Deblocking loop filter control, default is 1 [0-1]

--enable-cdef

Enable Constrained Directional Enhancement Filter, default is 1 [0-1]

--enable-restoration

Enable loop restoration filter, default is 1 [0-1]

--enable-tpl-la

Temporal Dependency model control, currently forced on library side, only applicable for CRF/CQP, default is 1 [0-1]

--enable-mfmv

Motion Field Motion Vector control, default is -1 [-1: auto, 0-1]

--enable-dg

Dynamic GoP control, default is 1 [0-1]

--fast-decode

Fast Decoder levels, default is 0 [0-2]

--enable-tf

Enable ALT-REF (temporally filtered) frames, default is 1 [0-1]

--enable-overlays

Enable the insertion of overlayer pictures which will be used as an additional reference frame for the base layer picture, default is 0 [0-1]

--tune

Specifies whether to use PSNR or VQ as the tuning metric [0 = VQ, 1 = PSNR, 2 = SSIM], default is 1 [0-2]

--scm

Set screen content detection level, default is 2 [0: off, 1: on, 2: content adaptive]

--rmv

Restrict motion vectors from reaching outside the picture boundary, default is 0 [0-1]

--film-grain

Enable film grain, default is 0 [0: off, 1-50: level of denoising for film grain]

--film-grain-denoise

Apply denoising when film grain is ON, default is 0 [0: no denoising, film grain data is still in frame header, 1: level of denoising is set by the film-grain parameter]

--fgs-table

Set the film grain model table path

--superres-mode

Enable super-resolution mode, refer to the super-resolution section in the user guide, default is 0 [0: off, 1-3, 4: auto-select mode]

--superres-denom

Super-resolution denominator, only applicable for mode == 1, default is 8 [8: no scaling, 9-15, 16: half-scaling]

--superres-kf-denom

Super-resolution denominator for key frames, only applicable for mode == 1, default is 8 [8: no scaling, 9-15, 16: half-scaling]

--superres-qthres

Super-resolution q-threshold, only applicable for mode == 3, default is 43 [0-63]

--superres-kf-qthres

Super-resolution q-threshold for key frames, only applicable for mode == 3, default is 43 [0-63]

--sframe-dist

S-Frame interval (frames) (0: OFF[default], > 0: ON)

--sframe-mode

S-Frame insertion mode ([1-2], 1: the considered frame will be made into an S-Frame only if it is an altref frame, 2: the next altref frame will be made into an S-Frame[default])

--resize-mode

Enable resize mode [0: none, 1: fixed scale, 2: random scale, 3: dynamic scale, 4: random access]

--resize-denom

Resize denominator, only applicable for mode == 1 [8-16]

--resize-kf-denom

Resize denominator for key frames, only applicable for mode == 1 [8-16]

--frame-resz-events

Resize frame events, in a list separated by ',', a reference scaling process starts from the given frame number with new denominators, only applicable for mode == 4

--frame-resz-kf-denoms

Resize denominator for key frames in event, in a list separated by ',', only applicable for mode == 4

--frame-resz-denoms

Resize denominator in event, in a list separated by ',', only applicable for mode == 4

Color Description Options

--color-primaries

Color primaries, refer to Appendix A.2 of the user guide, default is 2 [0-12, 22]

--transfer-characteristics

Transfer characteristics, refer to Appendix A.2 of the user guide, default is 2 [0-22]

--matrix-coefficients

Matrix coefficients, refer to Appendix A.2 of the user guide, default is 2 [0-14]

--color-range

Color range, default is 0 [0: Studio, 1: Full]

--chroma-sample-position

Chroma sample position, default is 'unknown' ['unknown', 'vertical'/'left', 'colocated'/'topleft']

--mastering-display

Mastering display metadata in the format of "G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min)", refer to the user guide Appendix A.2

--content-light

Set content light level in the format of "max_cll,max_fall", refer to the user guide Appendix A.2

Variance Boost Options

--enable-variance-boost

Enable variance boost, default is 0 [0-1]

--variance-boost-strength

Variance boost strength, default is 2 [1-4]

--variance-octile

Octile for variance boost, default is 6 [1-8]

Examples

Multi-pass encode (VBR)

SvtAv1EncApp <--stats svtav1_2pass.log> --passes 2 --rc 1 --tbr 1000 -b dst_filename -i src_filename

Multi-pass encode (CRF)

SvtAv1EncApp <--stats svtav1_2pass.log> --passes 2 --rc 0 --crf 43 -b dst_filename -i src_filename

Single-pass encode (VBR)

SvtAv1EncApp --passes 1 --rc 1 --tbr 1000 -b dst_filename -i src_filename

Info

February 2025 SvtAv1EncApp 2.3.0