AOMENC(1)
π¦ aomenc π¦
okay bestie, welcome to the aomenc manual page π it lives in the User Commands section (section 1) and it's giving everything about the AOMedia Project AV1 encoder β¨ (part 1 of 2)
β¨ NAME β¨
aomenc - AOMedia Project AV1 Encoder π that's the whole vibe, the AOMedia Project's AV1 encoder, periodt π
π SYNOPSIS π
aomenc <options> -o dst_filename src_filename
so you toss your options in, add -o with the destination filename, then the source filename π
πΈ OPTIONS πΈ
ngl this section is huge, so here's the first chunk of flags π«Ά
--helpβ pull up the usage options and then bounce π-c <arg>,--cfg=<arg>β point it at a config file to use π-D,--debugβ debug mode π it makes the output deterministic, so it's the same every time-o <arg>,--output=<arg>β the output filename π―--codec=<arg>β pick which codec to use π¬-p <arg>,--passes=<arg>β how many passes you want, 1/2/3 β¨--pass=<arg>β which pass to actually run, 1/2/3 πββοΈ--fpf=<arg>β the filename for your first pass statistics π--limit=<arg>β stop encoding after n input frames π--skip=<arg>β skip the first n input frames βοΈ--goodβ use the Good Quality Deadline π--rtβ use the Realtime Quality Deadline β‘--allintraβ use all intra mode π§±-q,--quietβ shh, don't print the encode progress π€«-v,--verboseβ show the encoder parameters π--psnr=<arg>β show PSNR in the status line π0: disables the PSNR status line display1: PSNR is calculated using the input bit-depth (this one's the default) π2: PSNR is calculated using the stream bit-depth- if you don't specify an argument, it just takes the default option π«Ά
--webmβ output WebM ποΈ this is the default when WebM IO is enabled--ivfβ output IVF πΌ--obuβ output OBU π§©--q-hist=<arg>β show a quantizer histogram with n-buckets π--rate-hist=<arg>β show a rate histogram with n-buckets π--disable-warningsβ turn off the warnings about potentially incorrect encode settings π-y,--disable-warning-promptβ display the warnings, but don't stop and ask you to continue π--test-decode=<arg>β test for an encode/decode mismatch π§ͺ- possible values:
off, fatal, warn
- possible values:
--enable-obmc=<arg>β flips OBMC on or off π¦0is false and1is true (default), so you get to pick your vibe.--enable-overlay=<arg>β turns on coding overlay frames π0means false and1means true (default).--enable-palette=<arg>β lets you switch palette prediction mode on or off πΈ0is false and1is true (default).--enable-intrabc=<arg>β controls intra block copy prediction mode β¨0is false and1is true (default).--enable-angle-delta=<arg>β toggles intra angle delta π0is false and1is true (default).--disable-trellis-quant=<arg>β trellis optimisation of quantised coefficients, which you can turn off if you want π₯0is false,1is true,2is true for rd search, and3is true for estimate yrd search. The default is3, so be careful, it's giving "already handled" π--enable-qm=<arg>β enables quantisation matrices π0is false (default),1is true.--qm-min=<arg>β the minimum quant matrix flatness, from0..15. The default is8π--qm-max=<arg>β the maximum quant matrix flatness, from0..15. The default is15π--reduced-tx-type-set=<arg>β uses a reduced set of transform types π§--use-intra-dct-only=<arg>β only uses DCT for INTRA modes πΈ--use-inter-dct-only=<arg>β only uses DCT for INTER modes πΈ--use-intra-default-tx-only=<arg>β only uses Default-transform for INTRA modes π«Ά--quant-b-adapt=<arg>β uses adaptivequantize_bβ¨--coeff-cost-upd-freq=<arg>β how often the coeff costs get updated π0is SB,1is SB Row per Tile,2is Tile, and3is Off.--mode-cost-upd-freq=<arg>β how often the mode costs get updated π0is SB,1is SB Row per Tile,2is Tile, and3is Off.--mv-cost-upd-freq=<arg>β how often the mv costs get updated π0is SB,1is SB Row per Tile,2is Tile, and3is Off.--frame-parallel=<arg>β turns on frame parallel decodability features π0is false (default),1is true.--error-resilient=<arg>β enables error resilient features π‘οΈ0is false (default),1is true.--aq-mode=<arg>β adaptive quantisation mode π0is off (default),1is variance,2is complexity, and3is cyclic refresh.--deltaq-mode=<arg>β delta qindex mode π0is off,1is deltaq objective (default),2is deltaq placeholder,3is key frame visual quality, and4is user rating based visual quality optimization. This one requires--enable-tpl-model=1, so don't skip that part, bestie π--deltaq-strength=<arg>β the deltaq strength for--deltaq-mode=4, in (%) π¦--delta-lf-mode=<arg>β enables delta-lf-mode π§0is off (default),1is on.--frame-boost=<arg>β enables frame periodic boost β0is off (default),1is on.--noise-sensitivity=<arg>β noise sensitivity, measured in frames to blur πΈ--tune-content=<arg>β tunes the content type. Your choices aredefault,screen, andfilmπ--cdf-update-mode=<arg>β the CDF update mode for entropy coding π0is no CDF update,1is update CDF on all frames (default), and2is selectively update CDF on some frames.--color-primaries=<arg>β the colour primaries (CICP) of your input content π Pick frombt709,unspecified,bt601,bt470m,bt470bg,smpte240,film,bt2020,xyz,smpte431,smpte432, orebu3213.--transfer-characteristics=<arg>β the transfer characteristics (CICP) of your input content β¨ Pick fromunspecified,bt709,bt470m,bt470bg,bt601,smpte240,lin,log100,log100sq10,iec61966,bt1361,srgb,bt2020-10bit,bt2020-12bit,smpte2084,hlg, orsmpte428.--matrix-coefficients=<arg>β the matrix coefficients (CICP) of your input content π«Ά Pick fromidentity,bt709,unspecified,fcc73,bt470bg,bt601,smpte240,ycgco,bt2020ncl,bt2020cl,smpte2085,chromncl,chromcl, orictcp.--chroma-sample-position=<arg>β the chroma sample position, when chroma 4:2:0 is signalled π Pick fromunknown,vertical, orcolocated.--min-gf-interval=<arg>β the min gf/arf frame interval. The default is0, which means the built-in behaviour π§--max-gf-interval=<arg>β the max gf/arf frame interval. The default is0, which means the built-in behaviour π§--gf-min-pyr-height=<arg>β the min height for the GF group pyramid structure, from0(default) to5π--gf-max-pyr-height=<arg>β the maximum height for the GF group pyramid structure, from0to5(default) π--sb-size=<arg>β the superblock size you want to use π Pick fromdynamic,64, or128.--num-tile-groups=<arg>β the maximum number of tile groups. The default is1π--mtu-size=<arg>β the MTU size for a tile group. The default is0, which means no MTU targeting. This one overrides the maximum number of tile groups, so it takes priority π--timing-info=<arg>β signals timing info in the bitstream. Heads up,modelonly works with no hidden frames and no super-res yet π Pick fromunspecified,constant, ormodel.--film-grain-test=<arg>β film grain test vectors π¬0is none (default),1is test-1,2is test-2, all the way up to16for test-16 β¨--film-grain-table=<arg>β the path to a file holding film grain parameters π--denoise-noise-level=<arg>β how much noise to remove, from0(don't denoise) up to50π§Ή--denoise-block-size=<arg>β the denoise block size. The default is32π§Ή--enable-dnl-denoising=<arg>β applies denoising to the frame being encoded whendenoise-noise-levelis enabled.0is false and1is true (default) π«§--max-reference-frames=<arg>β the maximum number of reference frames allowed per frame, from3 to 7 (default)π¦--reduced-reference-set=<arg>β uses a reduced set of single and compound references.0is off (default),1is on πΈ--enable-ref-frame-mvs=<arg>β enables temporal mv prediction. The default is1π--target-seq-level-idx=<arg>β the target sequence level index. Your values look like"ABxy", whereABis the Operating point (OP) index andxyis the target level index for that OP. For example,"0"means target level index 0 (2.0) for the 0th OP, and"1019"means target level index 19 (6.3) for the 10th OP π§--set-tier-mask=<arg>β a bit mask that says which tier each of the 32 possible operating points conforms to. A bit value of0(default) means Main Tier, and1means High Tier π--min-cr=<arg>β sets the minimum compression ratio, using integer values. The default is0. If it's non-zero, the encoder tries to keep each frame's compression ratio higher than the given value divided by100π--vbr-corpus-complexity-lap=<arg>β sets the average corpus complexity per mb for single pass VBR using lap, from0..10000. The default is0π--input-chroma-subsampling-x=<arg>β the chroma subsampling x value π--input-chroma-subsampling-y=<arg>β the chroma subsampling y value π--dv-cost-upd-freq=<arg>β how often the dv costs get updated π0is SB,1is SB Row per Tile,2is Tile, and3is Off.--partition-info-path=<arg>β the path used to read and write partition information π--enable-rate-guide-deltaq=<arg>β enables rate guide deltaq with1, and it's off by default with0. It requires--deltaq-mode=3. If it's turned on, it also needs an input file given through--rate-distribution-infoπ₯--rate-distribution-info=<arg>β the rate distribution information input. It requires--enable-rate-guide-deltaq=1π--enable-directional-intra=<arg>β enables directional intra prediction modes.0is false and1is true (default) π§--enable-tx-size-search=<arg>β enables transform size search, which finds the best size for each block. If it's false, transforms always use the largest possible size.0is false and1is true (default). This gets ignored in non rd pick mode in real-time coding π¦--loopfilter-control=<arg>β controls loop filtering π0disables the loopfilter for all frames,1enables it for all frames (default),2disables it for non-reference frames, and3disables it for frames with low motion.--auto-intra-tools-off=<arg>β automatically turns off several intra coding tools for allintra mode. It only takes effect if--deltaq-mode=3π€-p <arg>,--passes=<arg>β the number of passes, which can be1,2, or3πββοΈ--two-pass-output=<arg>β the output file for the first two passes during three-pass encoding π-spf <arg>,--second-pass-log=<arg>β the log file from the second pass π--fwd-kf-dist=<arg>β sets the distance between forward keyframes. A value of-1(default) means no repetitive forward keyframes π--strict-level-conformance=<arg>β when set to1, the encoder exits when it fails to encode to a given target level πͺ--sb-qp-sweep=<arg>β when set to1, enables the superblock level qp sweep for a given lambda, so the rdcost gets minimised π§Ή--dist-metric=<arg>β the distortion metric used for in-block optimisation. Pickpsnrorqm-psnrπ--kf-max-pyr-height=<arg>β the maximum height of the pyramid structure used for the GOP that starts with a key frame, from-1to5. At the default of-1, it doesn't do anything. The actual maximum pyramid height will be the minimum of this value and the value ofgf_max_pyr_heightπ--timebaseβ the stream timebase π°οΈ This sets the precision of timestamps in the output, expressed in fractional seconds. The default is1/1000.
π§ Included encoders π§
av1β the AOMedia Project AV1 Encoder v3.7.0, and it's the default π
Use --codec if you want to switch to a non-default encoder π
aomenc 3.7.0~rc3, August 2023 is the version and date stamp for this page, so now you know exactly which build I've been obsessing over! β¨π¦π
π¦ where this page comes from
- debian trixie: aom-tools 3.12.1-1+deb13u1 Β· BSD-2-Clause
- ubuntu noble: aom-tools 3.8.2-2build1 Β· BSD-2-Clause
- ubuntu noble: aom-tools 3.8.2-2ubuntu0.2 Β· BSD-2-Clause
- ubuntu questing: aom-tools 3.12.1-1
- ubuntu resolute: aom-tools 3.13.1-2 Β· BSD-2-Clause
- ubuntu resolute: aom-tools 3.13.1-2ubuntu0.1 Β· BSD-2-Clause
- ubuntu stonking: aom-tools 3.14.1-1 Β· BSD-2-Clause
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms