Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.


Go Back   Doom9's Forum > Video Encoding > New and alternative video codecs

Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 16th March 2018, 09:31   #11  |  Link
Registered User
Selur's Avatar
Join Date: Oct 2001
Location: Germany
Posts: 5,592
@all: Is there some documentation about the command line parametes of aomenc somewhere?
Looking at the output of 'aomenc --help' there a quite a few option without explanations about min/max values of the arguments or what the default argument is.
Usage: aomenc.exe <options> -o dst_filename src_filename 

            --help                     	Show usage options and exit
  -c <arg>, --cfg=<arg>                	Config file to use
  -D,       --debug                    	Debug mode (makes output deterministic)
  -o <arg>, --output=<arg>             	Output filename
            --codec=<arg>              	Codec to use
  -p <arg>, --passes=<arg>             	Number of passes (1/2)
            --pass=<arg>               	Pass to execute (1/2)
            --fpf=<arg>                	First pass statistics file name
            --limit=<arg>              	Stop encoding after n input frames
            --skip=<arg>               	Skip the first n input frames
            --good                     	Use Good Quality Deadline
  -q,       --quiet                    	Do not print encode progress
  -v,       --verbose                  	Show encoder parameters
            --psnr                     	Show PSNR in status line
            --webm                     	Output WebM (default when WebM IO is enabled)
            --ivf                      	Output IVF
            --obu                      	Output OBU
  -P,       --output-partitions        	Makes encoder output partitions. Requires IVF output!
            --q-hist=<arg>             	Show quantizer histogram (n-buckets)
            --rate-hist=<arg>          	Show rate histogram (n-buckets)
            --disable-warnings         	Disable warnings about potentially incorrect encode settings.
  -y,       --disable-warning-prompt   	Display warnings, but do not prompt user to continue.
            --test-decode=<arg>        	Test encode/decode mismatch
                                       	  off, fatal, warn

Encoder Global Options:
            --yv12                     	Input file is YV12 
            --i420                     	Input file is I420 (default)
            --i422                     	Input file is I422
            --i444                     	Input file is I444
            --i440                     	Input file is I440
  -u <arg>, --usage=<arg>              	Usage profile number to use
  -t <arg>, --threads=<arg>            	Max number of threads to use
            --profile=<arg>            	Bitstream profile number to use
  -w <arg>, --width=<arg>              	Frame width
  -h <arg>, --height=<arg>             	Frame height
            --forced_max_frame_width   	Maximum frame width value to force
            --forced_max_frame_height  	Maximum frame height value to force
            --stereo-mode=<arg>        	Stereo 3D video format
                                       	  mono, left-right, bottom-top, top-bottom, right-left
            --timebase=<arg>           	Output timestamp precision (fractional seconds)
            --fps=<arg>                	Stream frame rate (rate/scale)
            --error-resilient=<arg>    	Enable error resiliency features
  -b <arg>, --bit-depth=<arg>          	Bit depth for codec (8 for version <=1, 10 or 12 for version 2)
                                       	  8, 10, 12
            --lag-in-frames=<arg>      	Max number of frames to lag
            --large-scale-tile=<arg>   	Large scale tile coding (0: off (default), 1: on)
            --monochrome               	Monochrome video (no chroma planes)

Rate Control Options:
            --drop-frame=<arg>         	Temporal resampling threshold (buf %)
            --resize-mode=<arg>        	Frame resize mode
            --resize-denominator=<arg> 	Frame resize denominator
            --resize-kf-denominator=<ar	Frame resize keyframe denominator
            --superres-mode=<arg>      	Frame super-resolution mode
            --superres-denominator=<arg	Frame super-resolution denominator
            --superres-kf-denominator=<	Frame super-resolution keyframe denominator
            --superres-qthresh=<arg>   	Frame super-resolution qindex threshold
            --superres-kf-qthresh=<arg>	Frame super-resolution keyframe qindex threshold
            --end-usage=<arg>          	Rate control mode
                                       	  vbr, cbr, cq, q
            --target-bitrate=<arg>     	Bitrate (kbps)
            --min-q=<arg>              	Minimum (best) quantizer
            --max-q=<arg>              	Maximum (worst) quantizer
            --undershoot-pct=<arg>     	Datarate undershoot (min) target (%)
            --overshoot-pct=<arg>      	Datarate overshoot (max) target (%)
            --buf-sz=<arg>             	Client buffer size (ms)
            --buf-initial-sz=<arg>     	Client initial buffer size (ms)
            --buf-optimal-sz=<arg>     	Client optimal buffer size (ms)

Twopass Rate Control Options:
            --bias-pct=<arg>           	CBR/VBR bias (0=CBR, 100=VBR)
            --minsection-pct=<arg>     	GOP min bitrate (% of target)
            --maxsection-pct=<arg>     	GOP max bitrate (% of target)

Keyframe Placement Options:
            --kf-min-dist=<arg>        	Minimum keyframe interval (frames)
            --kf-max-dist=<arg>        	Maximum keyframe interval (frames)
            --disable-kf               	Disable keyframe placement

AV1 Specific Options:
            --cpu-used=<arg>           	CPU Used (0..8)
            --dev-sf=<arg>             	Dev Speed (0..255)
            --auto-alt-ref=<arg>       	Enable automatic alt reference frames
            --sharpness=<arg>          	Loop filter sharpness (0..7)
            --static-thresh=<arg>      	Motion detection threshold
            --single-tile-decoding=<arg	Single tile decoding (0: off (default), 1: on)
            --tile-columns=<arg>       	Number of tile columns to use, log2
            --tile-rows=<arg>          	Number of tile rows to use, log2 (set to 0 while threads > 1)
            --tile-loopfilter-v=<arg>  	Enable loop filter across vertical tile boundary
            --tile-loopfilter-h=<arg>  	Enable loop filter across horizontal tile boundary
            --arnr-maxframes=<arg>     	AltRef max frames (0..15)
            --arnr-strength=<arg>      	AltRef filter strength (0..6)
            --tune=<arg>               	Distortion metric tuned with
                                       	  psnr, ssim, cdef-dist, daala-dist
            --cq-level=<arg>           	Constant/Constrained Quality level
            --max-intra-rate=<arg>     	Max I-frame bitrate (pct)
            --max-inter-rate=<arg>     	Max P-frame bitrate (pct)
            --gf-cbr-boost=<arg>       	Boost for Golden Frame in CBR mode (pct)
            --lossless=<arg>           	Lossless mode (0: false (default), 1: true)
            --enable-cdef=<arg>        	Enable the constrained directional enhancement filter (0: false, 1: true (default))
            --enable-restoration=<arg> 	Enable the loop restoration filter (0: false, 1: true (default))
            --enable-qm=<arg>          	Enable quantisation matrices (0: false (default), 1: true)
            --qm-min=<arg>             	Min quant matrix flatness (0..15), default is 8
            --qm-max=<arg>             	Max quant matrix flatness (0..15), default is 15
            --enable-dist-8x8=<arg>    	Enable dist-8x8 (0: false (default), 1: true)
            --frame-parallel=<arg>     	Enable frame parallel decodability features (0: false (default), 1: true)
            --aq-mode=<arg>            	Adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3: cyclic refresh)
            --deltaq-mode=<arg>        	Delta qindex mode (0: off (default), 1: deltaq 2: deltaq + deltalf)
            --frame-boost=<arg>        	Enable frame periodic boost (0: off (default), 1: on)
            --noise-sensitivity=<arg>  	Noise sensitivity (frames to blur)
            --tune-content=<arg>       	Tune content type
                                       	  default, screen
            --cdf-update-mode=<arg>    	CDF update mode for entropy coding (0: no CDF update; 1: update CDF on all frames(default); 2: selectively update CDF on some frames
            --color-primaries=<arg>    	Color primaries (CICP) of input content:
                                       	  bt709, unspecified, bt601, bt470m, bt470bg, smpte240, film, bt2020, xyz, smpte431, smpte432, ebu3213
            --transfer-characteristics=	Transfer characteristics (CICP) of input content:
                                       	  unspecified, bt709, bt470m, bt470bg, bt601, smpte240, lin, log100, log100sq10, iec61966, bt1361, srgb, bt2020-10bit, bt2020-12bit, smpte2084, hlg, smpte428
            --matrix-coefficients=<arg>	Matrix coefficients (CICP) of input content:
                                       	  identity, bt709, unspecified, fcc73, bt470bg, bt601, smpte240, ycgco, bt2020ncl, bt2020cl, smpte2085, chromncl, chromcl, ictcp
            --chroma-sample-position=<a	The chroma sample position when chroma 4:2:0 is signaled:
                                       	  unknown, vertical, colocated
            --min-gf-interval=<arg>    	min gf/arf frame interval (default 0, indicating in-built behavior)
            --max-gf-interval=<arg>    	max gf/arf frame interval (default 0, indicating in-built behavior)
            --sb-size=<arg>            	Superblock size to use
                                       	  dynamic, 64, 128
            --num-tile-groups=<arg>    	Maximum number of tile groups, default is 1
            --mtu-size=<arg>           	MTU size for a tile group, default is 0 (no MTU targeting), overrides maximum number of tile groups
            --timing-info=<arg>        	Signal timing info in the bitstream:
                                       	  unspecified, constant
            --disable-tempmv=<arg>     	Disable temporal mv prediction (default is 0)
  -b <arg>, --bit-depth=<arg>          	Bit depth for codec (8 for version <=1, 10 or 12 for version 2)
                                       	  8, 10, 12
            --input-bit-depth=<arg>    	Bit depth of input

Stream timebase (--timebase):
  The desired precision of timestamps in the output, expressed
  in fractional seconds. Default is 1/1000.

Included encoders:

    av1    - AOMedia Project AV1 Encoder 0.1.0-8663-gaf35e318e (default)

        Use --codec to switch to a non-default encoder.
So I'm wondering is there some documentation somewhere what all those parameters are for and what their values are?
Or is this simply still to early to expect a bit more detailed documentation?
Seeing that a few folks did some tests here I wonder how they chose the settings they used. (some parameters are kept from vpx, but quite a few are new)

Cu Selur
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +1. The time now is 00:12.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.