diff --git a/.gitmodules b/.gitmodules
index a69e4ee4cbf..33a1a4ed1af 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -40,7 +40,7 @@
[submodule "third-party/nv-codec-headers"]
path = third-party/nv-codec-headers
url = https://github.com/FFmpeg/nv-codec-headers.git
- branch = sdk/12.0
+ branch = master
[submodule "third-party/nvapi"]
path = third-party/nvapi
url = https://github.com/NVIDIA/nvapi.git
diff --git a/docs/configuration.md b/docs/configuration.md
index 97f08576cd1..82a986c900d 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -2347,6 +2347,46 @@ editing the `conf` file in a text editor. Use the examples as reference.
+### nvenc_split_encode
+
+
+
+
Description
+
+ Split the encoding of each video frame over multiple NVENC hardware units.
+ Significantly reduces encoding latency with a marginal compression efficiency penalty.
+ This option is ignored if your GPU has a singular NVENC unit.
+ @note{This option only applies when using NVENC [encoder](#encoderhttpslocalhost47990configencoder) with HEVC or AV1.}
+ @note{Applies to Windows only.}
+
The NVIDIA driver will automatically enable split frame encoding when the following conditions are met: 2+ NVENC units, resolution is at least 4K, and the preset is P1-P4.
diff --git a/src_assets/common/assets/web/public/assets/locale/en.json b/src_assets/common/assets/web/public/assets/locale/en.json
index a647f446b90..77549bf2ef1 100644
--- a/src_assets/common/assets/web/public/assets/locale/en.json
+++ b/src_assets/common/assets/web/public/assets/locale/en.json
@@ -301,6 +301,9 @@
"nvenc_realtime_hags_desc": "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.",
"nvenc_spatial_aq": "Spatial AQ",
"nvenc_spatial_aq_desc": "Assign higher QP values to flat regions of the video. Recommended to enable when streaming at lower bitrates.",
+ "nvenc_split_encode": "Split frame encoding",
+ "nvenc_split_encode_desc": "Split the encoding of each video frame over multiple NVENC hardware units. Significantly reduces host processing latency with a marginal compression efficiency penalty. The default option enables SFE if the following conditions are met: there are 2+ NVENC units, the stream is 4K resolution or higher, and the preset is P1-P4. Set this to Enabled to use SFE at lower resolutions or higher presets.",
+ "nvenc_split_encode_driver_decides_def": "Driver decides (default)",
"nvenc_twopass": "Two-pass mode",
"nvenc_twopass_desc": "Adds preliminary encoding pass. 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.",
"nvenc_twopass_disabled": "Disabled (fastest, not recommended)",
diff --git a/third-party/build-deps b/third-party/build-deps
index 91ac60f3a05..c08f69db104 160000
--- a/third-party/build-deps
+++ b/third-party/build-deps
@@ -1 +1 @@
-Subproject commit 91ac60f3a051819d7d9975b8757730a9471ee8de
+Subproject commit c08f69db10450bd06cf79045e79b9179c99bae70
diff --git a/third-party/nv-codec-headers b/third-party/nv-codec-headers
index fe32761e7a8..e844e5b26f4 160000
--- a/third-party/nv-codec-headers
+++ b/third-party/nv-codec-headers
@@ -1 +1 @@
-Subproject commit fe32761e7a8bc79fcf560f356bf3898271bf4d56
+Subproject commit e844e5b26f46bb77479f063029595293aa8f812d