SVTAV1ENCAPP(1)
๐ Welcome to SvtAv1EncApp(1) ๐
Okay bestie, this is the User Commands page for SvtAv1EncApp, and it is giving everything ๐
โจ NAME โจ
SvtAv1EncApp is the star of this page, and this manual is for version 3.1.2 ๐ฆ
๐ SYNOPSIS ๐
SvtAv1EncApp <options> <-b dst_filename> -i src_filename
๐ OPTIONS ๐
--helpโ shows you the command line options that are available right now ๐--color-helpโ extra help for adding AV1 metadata to the bitstream โจ--versionโ shows the version of the library that's linked in ๐ง-i,--inputโ your input raw video file path (y4m and yuv). Usestdinor-if you wanna read from a pipe ๐ธ--allow-mmap-fileโ lets a regular input file be memory mapped. How fast that is depends on your platform ๐-b,--outputโ your output compressed (ivf) file path. Usestdoutor-to write to a pipe ๐ฆ-c,--configโ the path to your configuration file ๐--errlogโ the error file path. If you don't pick one, it defaults to stderr ๐-o,--reconโ the reconstructed yuv file path ๐--stat-fileโ the output file path for PSNR / SSIM stats per picture. It needs--enable-stat-report 1to work ๐--progressโ how chatty the output is. Default is1.0prints no progress at all, and2gives you that aomenc style output ๐ฅ--no-progressโ skips printing progress. Default is0.1is the same as--progress 0, and0is the same as--progress 1๐--presetโ the encoder preset. Presets below 0 are for debugging. Higher presets are faster, but you pay for that speed with some quality. Default is10[-1-13] โก--svtav1-paramsโ a colon separated list of key=value pairs. The keys match the config file options ๐ซถ
๐ธ Encoder Global Options ๐ธ
-w,--widthโ frame width in pixels. It's inferred from y4m files. Default is0[4-16384] ๐-h,--heightโ frame height in pixels. It's inferred from y4m files. Default is0[4-8704] ๐--forced-max-frame-widthโ the maximum frame width to force. Default is0[4-16384] ๐ฆ--forced-max-frame-heightโ the maximum frame height to force. Default is0[4-8704] ๐ฆ-n,--framesโ how many frames to encode. Ifnis bigger than the input, the encoder loops back around and keeps going. Default is0, which means until EOF. Otherwise [1-(2^63)-1] ๐--skipโ how many frames to skip. Default is0, which means don't skip. Otherwise [1-(2^63)-1] โญ๏ธ--nbโ buffersninput frames into memory and encodes from them. Default is-1, which means no frames get buffered. Otherwise [1-(2^31)-1] ๐ง--color-formatโ the color format. Only yuv420 is supported right now. Default is1[0: yuv400, 1: yuv420, 2: yuv422, 3: yuv444] ๐--profileโ the bitstream profile. Default is0[0: main, 1: high, 2: professional] ๐--levelโ the bitstream level, defined in A.3 of the av1 spec. Default is0[0: autodetect from input, 2.0-7.3] ๐--fpsโ input video frame rate, integers only. It's inferred from y4m files. Default is60[1-240] ๐๏ธ--fps-numโ the input video frame rate numerator. Default is60000[0-2^32-1] ๐๏ธ--fps-denomโ the input video frame rate denominator. Default is1000[0-2^32-1] ๐๏ธ--input-depthโ bit-depth for both the input video file and the output bitstream. Default is8[8, 10] ๐--injโ injects pictures into the library at a set frame rate. Default is0[0-1] ๐--inj-frm-rtโ the injector frame rate. It only works with--inj 1. Default is60[0-240] ๐--enable-stat-reportโ calculates PSNR SSIM metrics and outputs them when encoding ends. Default is0[0-1] ๐--asmโ limits the assembly instruction set. Only applies to x86. Default ismax[c, mmx, sse, sse2, sse3, ssse3, sse4_1, sse4_2, avx, avx2, avx512, max] ๐ ๏ธ--lpโ how much parallelism to use.0lets the encoder pick based on your machine's core count. Check Appendix A.1 of the user guide. Default is0[0, 6] ๐งต--pinโ pins execution to the first N cores. Check Appendix A.1 of the user guide. Default is0[0, core count of the machine] ๐--ssโ picks which socket to run on. It assumes a max of two sockets. Check Appendix A.1 of the user guide. Default is-1[-1, 0, -1] ๐
๐ฆ Rate Control Options ๐ฆ
--rcโ the rate control mode. Default is0[0: CRF or CQP (if--aq-modeis 0), 1: VBR, 2: CBR] ๐๏ธ-q,--qpโ the initial QP level value. Default is35[1-63] ๐ฏ--crfโ the Constant Rate Factor value. Setting it is the same as--rc 0 --aq-mode 2 --qp x. Default is35[1-63] ๐ฏ--tbrโ target bitrate (kbps). Only works for VBR and CBR encoding. Default is7000[1-100000] ๐ธ--mbrโ maximum bitrate (kbps). Only works for CRF encoding. Default is0[1-100000] ๐ธ--use-q-fileโ overwrites the encoder's default picture based QP assignments and uses QP values from--qp-fileinstead. Default is0[0-1] ๐--qpfileโ the path to a file holding a QP value for each picture, separated by newlines ๐--max-qpโ the maximum (highest) quantizer. Only works for VBR and CBR. Default is63[1-63] โฌ๏ธ--min-qpโ the minimum (lowest) quantizer. Only works for VBR and CBR. Default is1[1-63] โฌ๏ธ--aq-modeโ sets the adaptive QP level. Default is2[0: off, 1: variance base using AV1 segments, 2: deltaq pred efficiency] ๐งฉ--use-fixed-qindex-offsetsโ overwrites the encoder's default hierarchical layer based QP assignment and uses fixed Q index offsets instead. Default is0[0-2] ๐งฉ--key-frame-qindex-offsetโ overwrites the encoder's default keyframe Q index. Default is0[-256-255] ๐--key-frame-chroma-qindex-offsetโ overwrites the encoder's default chroma keyframe Q index. Default is0[-256-255] ๐--qindex-offsetsโ a list of luma Q index offsets per hierarchical layer, separated by,. Each offset has to be in the range [-256-255]. Default is0,0,..,0๐งฎ--chroma-qindex-offsetsโ a list of chroma Q index offsets per hierarchical layer, separated by,. Each offset has to be in the range [-256-255]. Default is0,0,..,0๐งฎ--luma-y-dc-qindex-offsetโ the luma Y DC Qindex offset ๐จ--chroma-u-dc-qindex-offsetโ the chroma U DC Qindex offset ๐จ--chroma-u-ac-qindex-offsetโ the chroma U AC Qindex offset ๐จ--chroma-v-dc-qindex-offsetโ the chroma V DC Qindex offset ๐จ--chroma-v-ac-qindex-offsetโ the chroma V AC Qindex offset ๐จ--lambda-scale-factorsโ a list of scale factors for the lambda values used by each frame type. The frame types come fromSvtAv1FrameUpdateType, and the list is separated by,. Each scale factor is an integer, and you divide the value by 128 to get the real float scale factor. Default is128,128,..,128๐งช--undershoot-pctโ only for VBR and CBR. The allowed datarate undershoot (min) target as a percentage. Default is25, but it can change depending on rate control [0-100] ๐--overshoot-pctโ only for VBR and CBR. The allowed datarate overshoot (max) target as a percentage. Default is25, but it can change depending on rate control [0-100] ๐--mbr-overshoot-pctโ only for Capped CRF. The allowed datarate overshoot (max) target as a percentage. Default is50, but it can change depending on rate control [0-100] ๐--gop-constraint-rcโ enables GoP constraint rc. When it's on, rate control matches the target rate for each GoP. Default is0[0-1] ๐ฏ--buf-szโ client buffer size (ms). Only applies to CBR. Default is6000[0-10000] ๐ชฃ--buf-initial-szโ client initial buffer size (ms). Only applies to CBR. Default is4000[0-10000] ๐ชฃ--buf-optimal-szโ client optimal buffer size (ms). Only applies to CBR. Default is5000[0-10000] ๐ชฃ--recode-loopโ the recode loop level. For more info, check the "Recode loop level table" in the user guide. [0: off, 4: preset based] ๐--minsection-pctโ GOP min bitrate, as a percentage of the target rate. Default is0[0-100] ๐--maxsection-pctโ GOP max bitrate, as a percentage of the target rate. Default is2000[0-10000] ๐--enable-qmโ enables quantisation matrices. Default is0[0-1] ๐งฑ--qm-minโ min quant matrix flatness. Default is8[0-15] ๐งฑ--qm-maxโ max quant matrix flatness. Default is15[0-15] ๐งฑ--chroma-qm-minโ min chroma quant matrix flatness. Default is8[0-15] ๐งฑ--chroma-qm-maxโ max chroma quant matrix flatness. Default is15[0-15] ๐งฑ--roi-map-fileโ enables Region Of Interest and points to a picture based QP Offset map file. Default is off ๐บ๏ธ--tf-strengthโ [PSY] adjusts the temporal filtering strength. Default is1[0-4] ๐--luminance-qp-biasโ adjusts a frame's QP based on its average luma value. Default is0[0-100] ๐ก--sharpnessโ biases toward decreased or increased sharpness. Default is0[-7 to 7] ๐ช
๐ง Multi-pass Options ๐ง
--passโ picks the multi-pass mode. Pass 2 is only available for VBR. Default is0[0: single pass encode, 1: first pass, 2: second pass] ๐ฌ--statsโ the filename used for multi-pass encoding. Default is "svtav1_2pass.log" ๐--passesโ the number of encoding passes. Default depends on the preset but is generally1[1: one pass encode, 2: multi-pass encode] ๐ข
๐ GOP size and type Options ๐
--keyintโ the GOP size in frames. Default is-2[-2: ~5 seconds, -1: "infinite" and only applicable for CRF, 0: same as -1] ๐๏ธ--irefresh-typeโ the intra refresh type. Default is2[1: FWD Frame (Open GOP), 2: KEY Frame (Closed GOP)] โป๏ธ--scdโ scene change detection control. Default is0[0-1] ๐๏ธ--lookaheadโ how many frames to look ahead into the future. This doesn't count minigop, temporal filtering, or rate control. Default is-1[-1: auto, 0-120] ๐--hierarchical-levelsโ sets the 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โ sets the prediction structure. Default is2[1: low delay frames, 2: random access] ๐งญ--rtcโ turns on fast settings for rtc when you're in low-delay mode. It forces the low-delay pred struct to be used. Default is0, [0-1]] โก--force-key-framesโ forces key frames at the comma separated specifiers.#fis for frames and#.#sis for seconds ๐--startup-mg-sizeโ sets a different mini-gop configuration for the first mini-gop after the key-frame. Default is0[0: OFF, 2: 3 temporal layers, 3: 4 temporal layers, 4: 5 temporal layers] ๐--startup-qp-offset: okay so this one lets you nudge the input-qp of the startup GOP before the picture-qp gets derived ๐ธ default is0, range[-63,63]โจ
๐ AV1 Specific Options ๐
--tile-rows: picks how many tile rows to use, whereTileRow == log2(x)๐ง the default shifts depending on resolution but is usually1, range[0-6]--tile-columns: same vibe but for columns,TileCol == log2(x)๐ default changes per resolution but is1, range[0-4]--enable-dlf: deblocking loop filter control ๐ซถ default1, range[0-1]--enable-cdef: turns on the Constrained Directional Enhancement Filter ๐ฅ default1, range[0-1]--enable-restoration: turns on the loop restoration filter โจ default1, range[0-1]--enable-tpl-la: the Temporal Dependency model, which is currently forced on library side and only applies to CRF/CQP ๐ default1, range[0-1]--enable-mfmv: Motion Field Motion Vector control ๐ฆ default is-1, which means auto, range[-1: auto, 0-1]--enable-dg: Dynamic GoP control ๐ default1, range[0-1]--fast-decode: Fast Decoder levels, so your playback can be speedy ๐จ default0, range[0-2]--enable-tf: turns on ALT-REF (temporally filtered) frames ๐ default1, range[0-2]--enable-overlays: lets overlay pictures get inserted, and they act as an extra reference frame for the base layer picture ๐ง default0, range[0-1]--tune: picks whether the tuning metric is PSNR or VQ ๐0= VQ,1= PSNR,2= SSIM, default1, range[0-2]--scm: screen content detection level ๐ default2, where0is off,1is on, and2is content adaptive--film-grain: enables film grain โจ default0, where0is off and1-50is the level of denoising for film grain--film-grain-denoise: applies denoising when film grain is ON ๐ซง default0, where0means no denoising (the film grain data still lives in the frame header) and1means the level of denoising is set by the film-grain parameter--fgs-table: sets the film grain model table path ๐๏ธ--superres-mode: enables super-resolution mode, so go peek at the super-resolution section in the user guide ๐ default0, where0is off,1-3are modes, and4auto-selects the mode--superres-denom: the super-resolution denominator, only applicable whenmode == 1๐ default8, where8means no scaling,9-15are in between, and16is half-scaling--superres-kf-denom: same as above but for key frames, only applicable whenmode == 1๐ธ default8, where8means no scaling,9-15are in between, and16is half-scaling--superres-qthres: super-resolution q-threshold, only applicable whenmode == 3๐ฅ default43, range[0-63]--superres-kf-qthres: super-resolution q-threshold for key frames, only applicable whenmode == 3โจ default43, range[0-63]--sframe-dist: the S-Frame interval in frames ๐ฆ0means OFF (the default), and anything> 0means ON--sframe-mode: S-Frame insertion mode, range[1-2]๐ง1means the considered frame only becomes an S-Frame if it's an altref frame, and2means the next altref frame becomes an S-Frame (this is the default) ๐--resize-mode: enables resize mode ๐0is none,1is fixed scale,2is random scale,3is dynamic scale, and4is random access--resize-denom: resize denominator, only applicable whenmode == 1, range[8-16]๐--resize-kf-denom: resize denominator for key frames, only applicable whenmode == 1, range[8-16]๐--frame-resz-events: resize frame events, written as a list separated by','๐ a reference scaling process kicks off from the given frame number using the new denominators, and this only applies whenmode == 4--frame-resz-kf-denoms: resize denominators for key frames inside each event, written as a list separated by',', only applicable whenmode == 4๐ซถ--frame-resz-denoms: resize denominators inside each event, written as a list separated by',', only applicable whenmode == 4โจ--lossless: enables lossless coding ๐ซง default0, range[0-1]--avif: enables still-picture coding ๐ธ default0, range[0-1]
๐ Color Description Options ๐
--color-help:[PSY]metadata help, which lives in the user guide Appendix A.2 ๐--color-primaries: color primaries, so check--color-helpfor the deets ๐จ default2, range[0-12, 22]--transfer-characteristics: transfer characteristics, also in--color-help๐ธ default2, range[0-22]--matrix-coefficients: matrix coefficients, again see--color-help๐ฆ default2, range[0-14]--color-range: color range ๐ง default0, where0is Studio and1is Full--chroma-sample-position: chroma sample position ๐ default is'unknown', and the other options are'vertical'/'left'or'colocated'/'topleft'--mastering-display: mastering display metadata, written in the format"G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min)"๐ go check the user guide Appendix A.2 for the full scoop--content-light: sets the content light level in the format"max_cll,max_fall"โจ also in the user guide Appendix A.2
๐ฆ Variance Boost Options ๐ฆ
--enable-variance-boost: enables variance boost ๐ default0, range[0-1]--variance-boost-strength: how strong the variance boost is ๐ฅ default2, range[1-4]--variance-octile: the octile for variance boost ๐ default6, range[1-8]--variance-boost-curve: the curve for variance boost ๐ default0, range[0-2]
๐ง 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
bestie that's the whole thing ๐ฆ๐ this was SvtAv1EncApp 3.1.2 from October 2025, and the page is SVTAV1ENCAPP(1) ๐ you're literally so ready to encode now ๐ซถโจ
๐ฆ where this page comes from
- fedora 43: svt-av1 3.1.2-1.fc43 ยท LicenseRef-BSD-3-Clause-Clear-WITH-AdditionRef-AOMPL-1.0 AND MIT AND ISC AND LicenseRef-Fedora-Public-Domain AND BSD-2-Clause
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms