Update docs for new nvenc config

This commit is contained in:
ns6089
2023-09-07 11:37:11 +03:00
committed by Cameron Gutman
parent bbad58dcf3
commit b00d7af369

View File

@@ -986,14 +986,15 @@ sw_tune
sw_tune = zerolatency sw_tune = zerolatency
nv_preset nvenc_preset
^^^^^^^^^ ^^^^^^^^^^^^
**Description** **Description**
The encoder preset to use. NVENC encoder performance preset.
Higher numbers improve compression (quality at given bitrate) at the cost of increased encoding latency.
Recommended to change only when limited by network or decoder, otherwise similar effect can be accomplished by increasing bitrate.
.. Note:: This option only applies when using nvenc `encoder`_. For more information on the presets, see .. Note:: This option only applies when using NVENC `encoder`_.
`nvenc preset migration guide <https://docs.nvidia.com/video-technologies/video-codec-sdk/nvenc-preset-migration-guide/>`__.
**Choices** **Choices**
@@ -1003,30 +1004,65 @@ nv_preset
========== =========== ========== ===========
Value Description Value Description
========== =========== ========== ===========
p1 fastest (lowest quality) 1 P1 (fastest)
p2 faster (lower quality) 2 P2
p3 fast (low quality) 3 P3
p4 medium (default) 4 P4
p5 slow (good quality) 5 P5
p6 slower (better quality) 6 P6
p7 slowest (best quality) 7 P7 (slowest)
========== =========== ========== ===========
**Default** **Default**
``p4`` ``1``
**Example** **Example**
.. code-block:: text .. code-block:: text
nv_preset = p4 nvenc_preset = 1
nv_tune nvenc_twopass
^^^^^^^ ^^^^^^^^^^^^^
**Description** **Description**
The encoder tuning profile. Enable two-pass mode in NVENC encoder.
This allows to detect more motion vectors, better distribute bitrate across the frame and more strictly adhere to bitrate limits.
Disabling it is not recommended since this can lead to occasional bitrate overshoot and subsequent packet loss.
.. Note:: This option only applies when using nvenc `encoder`_. .. Note:: This option only applies when using NVENC `encoder`_.
**Choices**
.. table::
:widths: auto
=========== ===========
Value Description
=========== ===========
disabled One pass (fastest)
quarter_res Two passes, first pass at quarter resolution (faster)
full_res Two passes, first pass at full resolution (slower)
=========== ===========
**Default**
``quarter_res``
**Example**
.. code-block:: text
nvenc_twopass = quarter_res
nvenc_realtime_hags
^^^^^^^^^^^^^^^^^^^
**Description**
Use realtime gpu scheduling priority in NVENC when hardware accelerated gpu scheduling (HAGS) is enabled in Windows.
Currently NVIDIA drivers may freeze in encoder when HAGS is enabled, realtime priority is used and VRAM utilization is close to maximum.
Disabling this option lowers the priority to high, sidestepping the freeze at the cost of reduced capture performance when the GPU is heavily loaded.
.. Note:: This option only applies when using NVENC `encoder`_.
.. Caution:: Applies to Windows only.
**Choices** **Choices**
@@ -1036,27 +1072,26 @@ nv_tune
========== =========== ========== ===========
Value Description Value Description
========== =========== ========== ===========
hq high quality disabled Use high priority
ll low latency enabled Use realtime priority
ull ultra low latency
lossless lossless
========== =========== ========== ===========
**Default** **Default**
``ull`` ``enabled``
**Example** **Example**
.. code-block:: text .. code-block:: text
nv_tune = ull nvenc_realtime_hags = enabled
nv_rc nvenc_h264_cavlc
^^^^^ ^^^^^^^^^^^^^^^^
**Description** **Description**
The encoder rate control. Prefer CAVLC entropy coding over CABAC in H.264 when using NVENC.
CAVLC is outdated and needs around 10% more bitrate for same quality, but provides slightly faster decoding when using software decoder.
.. Note:: This option only applies when using nvenc `encoder`_. .. Note:: This option only applies when using H.264 format with NVENC `encoder`_.
**Choices** **Choices**
@@ -1066,47 +1101,17 @@ nv_rc
========== =========== ========== ===========
Value Description Value Description
========== =========== ========== ===========
constqp constant QP mode disabled Prefer CABAC
vbr variable bitrate enabled Prefer CAVLC
cbr constant bitrate
========== =========== ========== ===========
**Default** **Default**
``cbr`` ``disabled``
**Example** **Example**
.. code-block:: text .. code-block:: text
nv_rc = cbr nvenc_h264_cavlc = disabled
nv_coder
^^^^^^^^
**Description**
The entropy encoding to use.
.. Note:: This option only applies when using H264 with nvenc `encoder`_.
**Choices**
.. table::
:widths: auto
========== ===========
Value Description
========== ===========
auto let ffmpeg decide
cabac context adaptive binary arithmetic coding - higher quality
cavlc context adaptive variable-length coding - faster decode
========== ===========
**Default**
``auto``
**Example**
.. code-block:: text
nv_coder = auto
qsv_preset qsv_preset
^^^^^^^^^^ ^^^^^^^^^^