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
nv_preset
^^^^^^^^^
nvenc_preset
^^^^^^^^^^^^
**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
`nvenc preset migration guide <https://docs.nvidia.com/video-technologies/video-codec-sdk/nvenc-preset-migration-guide/>`__.
.. Note:: This option only applies when using NVENC `encoder`_.
**Choices**
@@ -1003,30 +1004,65 @@ nv_preset
========== ===========
Value Description
========== ===========
p1 fastest (lowest quality)
p2 faster (lower quality)
p3 fast (low quality)
p4 medium (default)
p5 slow (good quality)
p6 slower (better quality)
p7 slowest (best quality)
1 P1 (fastest)
2 P2
3 P3
4 P4
5 P5
6 P6
7 P7 (slowest)
========== ===========
**Default**
``p4``
``1``
**Example**
.. code-block:: text
nv_preset = p4
nvenc_preset = 1
nv_tune
^^^^^^^
nvenc_twopass
^^^^^^^^^^^^^
**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**
@@ -1036,27 +1072,26 @@ nv_tune
========== ===========
Value Description
========== ===========
hq high quality
ll low latency
ull ultra low latency
lossless lossless
disabled Use high priority
enabled Use realtime priority
========== ===========
**Default**
``ull``
``enabled``
**Example**
.. code-block:: text
nv_tune = ull
nvenc_realtime_hags = enabled
nv_rc
^^^^^
nvenc_h264_cavlc
^^^^^^^^^^^^^^^^
**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**
@@ -1066,47 +1101,17 @@ nv_rc
========== ===========
Value Description
========== ===========
constqp constant QP mode
vbr variable bitrate
cbr constant bitrate
disabled Prefer CABAC
enabled Prefer CAVLC
========== ===========
**Default**
``cbr``
``disabled``
**Example**
.. code-block:: text
nv_rc = cbr
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
nvenc_h264_cavlc = disabled
qsv_preset
^^^^^^^^^^