Skip to content

Instantly share code, notes, and snippets.

@nico-lab
Last active May 17, 2024 11:51
Show Gist options
  • Save nico-lab/a194592124e7f505e1028a4cc88b75cc to your computer and use it in GitHub Desktop.
Save nico-lab/a194592124e7f505e1028a4cc88b75cc to your computer and use it in GitHub Desktop.
ffmpeg -h encoder=av1_nvenc
Encoder av1_nvenc [NVIDIA NVENC av1 encoder]:
General capabilities: dr1 delay hardware
Threading capabilities: none
Supported hardware devices: cuda cuda d3d11va d3d11va
Supported pixel formats: yuv420p nv12 p010le yuv444p p016le yuv444p16le bgr0 bgra rgb0 rgba x2rgb10le x2bgr10le gbrp gbrp16le cuda d3d11
av1_nvenc AVOptions:
-preset <int> E..V....... Set the encoding preset (from 0 to 18) (default p4)
default 0 E..V.......
slow 1 E..V....... hq 2 passes
medium 2 E..V....... hq 1 pass
fast 3 E..V....... hp 1 pass
p1 12 E..V....... fastest (lowest quality)
p2 13 E..V....... faster (lower quality)
p3 14 E..V....... fast (low quality)
p4 15 E..V....... medium (default)
p5 16 E..V....... slow (good quality)
p6 17 E..V....... slower (better quality)
p7 18 E..V....... slowest (best quality)
-tune <int> E..V....... Set the encoding tuning info (from 1 to 4) (default hq)
hq 1 E..V....... High quality
ll 2 E..V....... Low latency
ull 3 E..V....... Ultra low latency
lossless 4 E..V....... Lossless
-level <int> E..V....... Set the encoding level restriction (from 0 to 24) (default auto)
auto 24 E..V.......
2 0 E..V.......
2.0 0 E..V.......
2.1 1 E..V.......
2.2 2 E..V.......
2.3 3 E..V.......
3 4 E..V.......
3.0 4 E..V.......
3.1 5 E..V.......
3.2 6 E..V.......
3.3 7 E..V.......
4 8 E..V.......
4.0 8 E..V.......
4.1 9 E..V.......
4.2 10 E..V.......
4.3 11 E..V.......
5 12 E..V.......
5.0 12 E..V.......
5.1 13 E..V.......
5.2 14 E..V.......
5.3 15 E..V.......
6 16 E..V.......
6.0 16 E..V.......
6.1 17 E..V.......
6.2 18 E..V.......
6.3 19 E..V.......
7 20 E..V.......
7.0 20 E..V.......
7.1 21 E..V.......
7.2 22 E..V.......
7.3 23 E..V.......
-tier <int> E..V....... Set the encoding tier (from 0 to 1) (default 0)
0 0 E..V.......
1 1 E..V.......
-rc <int> E..V....... Override the preset rate-control (from -1 to INT_MAX) (default -1)
constqp 0 E..V....... Constant QP mode
vbr 1 E..V....... Variable bitrate mode
cbr 2 E..V....... Constant bitrate mode
-multipass <int> E..V....... Set the multipass encoding (from 0 to 2) (default disabled)
disabled 0 E..V....... Single Pass
qres 1 E..V....... Two Pass encoding is enabled where first Pass is quarter resolution
fullres 2 E..V....... Two Pass encoding is enabled where first Pass is full resolution
-highbitdepth <boolean> E..V....... Enable 10 bit encode for 8 bit input (default false)
-tile-rows <int> E..V....... Number of tile rows to encode with (from -1 to 64) (default -1)
-tile-columns <int> E..V....... Number of tile columns to encode with (from -1 to 64) (default -1)
-surfaces <int> E..V....... Number of concurrent surfaces (from 0 to 64) (default 0)
-gpu <int> E..V....... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)
any -1 E..V....... Pick the first device available
list -2 E..V....... List the available devices
-rgb_mode <int> E..V....... Configure how nvenc handles packed RGB input. (from 0 to INT_MAX) (default yuv420)
yuv420 1 E..V....... Convert to yuv420
yuv444 2 E..V....... Convert to yuv444
disabled 0 E..V....... Disables support, throws an error.
-delay <int> E..V....... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)
-rc-lookahead <int> E..V....... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0)
-cq <float> E..V....... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)
-init_qpP <int> E..V....... Initial QP value for P frame (from -1 to 255) (default -1)
-init_qpB <int> E..V....... Initial QP value for B frame (from -1 to 255) (default -1)
-init_qpI <int> E..V....... Initial QP value for I frame (from -1 to 255) (default -1)
-qp <int> E..V....... Constant quantization parameter rate control method (from -1 to 255) (default -1)
-qp_cb_offset <int> E..V....... Quantization parameter offset for cb channel (from -12 to 12) (default 0)
-qp_cr_offset <int> E..V....... Quantization parameter offset for cr channel (from -12 to 12) (default 0)
-no-scenecut <boolean> E..V....... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)
-forced-idr <boolean> E..V....... If forcing keyframes, force them as IDR frames. (default false)
-b_adapt <boolean> E..V....... When lookahead is enabled, set this to 0 to disable adaptive B-frame decision (default true)
-spatial-aq <boolean> E..V....... set to 1 to enable Spatial AQ (default false)
-temporal-aq <boolean> E..V....... set to 1 to enable Temporal AQ (default false)
-zerolatency <boolean> E..V....... Set 1 to indicate zero latency operation (no reordering delay) (default false)
-nonref_p <boolean> E..V....... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)
-strict_gop <boolean> E..V....... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)
-aq-strength <int> E..V....... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)
-weighted_pred <boolean> E..V....... Enable weighted prediction (default false)
-b_ref_mode <int> E..V....... Use B frames as references (from -1 to 2) (default -1)
disabled 0 E..V....... B frames will not be used for reference
each 1 E..V....... Each B frame will be used for reference
middle 2 E..V....... Only (number of B frames)/2 will be used for reference
-dpb_size <int> E..V....... Specifies the DPB size used for encoding (0 means automatic) (from 0 to INT_MAX) (default 0)
-ldkfs <int> E..V....... Low delay key frame scale; Specifies the Scene Change frame size increase allowed in case of single frame VBV and CBR (from 0 to 255) (default 0)
-intra-refresh <boolean> E..V....... Use Periodic Intra Refresh instead of IDR frames (default false)
-timing-info <boolean> E..V....... Include timing info in sequence/frame headers (default false)
-extra_sei <boolean> E..V....... Pass on extra SEI data (e.g. a53 cc) to be included in the bitstream (default true)
-a53cc <boolean> E..V....... Use A53 Closed Captions (if available) (default true)
-s12m_tc <boolean> E..V....... Use timecode (if available) (default true)
-lookahead_level <int> E..V....... Specifies the lookahead level. Higher level may improve quality at the expense of performance. (from -1 to 15) (default -1)
auto 15 E..V.......
0 0 E..V.......
1 1 E..V.......
2 2 E..V.......
3 3 E..V.......
-split_encode_mode <int> E..V....... Specifies the split encoding mode (from 0 to 15) (default auto)
disabled 15 E..V....... Disabled for all configurations
auto 0 E..V....... Enabled or disabled depending on the preset and tuning info
forced 1 E..V....... Enabled with number of horizontal strips selected by the driver
2 2 E..V....... Enabled with number of horizontal strips forced to 2 when number of NVENCs > 1
3 3 E..V....... Enabled with number of horizontal strips forced to 3 when number of NVENCs > 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment