PR #21371 opened by KenSoftTH
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21371
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21371.patch

Add support for 4-Way SFE that was added in NVIDIA Video Codec SDK 13.0 for 
Blackwell Architecture GPU with 4 NVENC Core (RTX PRO 6000 Blackwell) as 
documented here 
https://docs.nvidia.com/video-technologies/video-codec-sdk/13.0/nvenc-video-encoder-api-prog-guide/index.html


>From 7583c501ca506b125d8a82af0219652c5007569d Mon Sep 17 00:00:00 2001
From: Kasidis Arunruangsirilert <[email protected]>
Date: Sun, 4 Jan 2026 12:22:56 +0900
Subject: [PATCH] avcodec/nvenc: Add 4-Way Multi NVENC Split Frame Encoding
 (SDK 13.0) in HEVC and AV1 for RTX PRO 6000 Blackwell

---
 libavcodec/nvenc_av1.c  | 1 +
 libavcodec/nvenc_hevc.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/libavcodec/nvenc_av1.c b/libavcodec/nvenc_av1.c
index df6a93edcb..424b94c806 100644
--- a/libavcodec/nvenc_av1.c
+++ b/libavcodec/nvenc_av1.c
@@ -180,6 +180,7 @@ static const AVOption options[] = {
     { "forced",            "Enabled with number of horizontal strips selected 
by the driver",                0, AV_OPT_TYPE_CONST, { .i64 = 
NV_ENC_SPLIT_AUTO_FORCED_MODE },  0, 0, VE, .unit = "split_encode_mode" },
     { "2",                 "Enabled with number of horizontal strips forced to 
2 when number of NVENCs > 1", 0, AV_OPT_TYPE_CONST, { .i64 = 
NV_ENC_SPLIT_TWO_FORCED_MODE },   0, 0, VE, .unit = "split_encode_mode" },
     { "3",                 "Enabled with number of horizontal strips forced to 
3 when number of NVENCs > 2", 0, AV_OPT_TYPE_CONST, { .i64 = 
NV_ENC_SPLIT_THREE_FORCED_MODE }, 0, 0, VE, .unit = "split_encode_mode" },
+    { "4",                 "Enabled with number of horizontal strips forced to 
4 when number of NVENCs > 3", 0, AV_OPT_TYPE_CONST, { .i64 = 
NV_ENC_SPLIT_FOUR_FORCED_MODE }, 0, 0, VE, .unit = "split_encode_mode" },
 #endif
     { NULL }
 };
diff --git a/libavcodec/nvenc_hevc.c b/libavcodec/nvenc_hevc.c
index 54e2fe323e..2f017c1a1d 100644
--- a/libavcodec/nvenc_hevc.c
+++ b/libavcodec/nvenc_hevc.c
@@ -238,6 +238,7 @@ static const AVOption options[] = {
     { "forced",            "Enabled with number of horizontal strips selected 
by the driver",                0, AV_OPT_TYPE_CONST, { .i64 = 
NV_ENC_SPLIT_AUTO_FORCED_MODE },  0, 0, VE, .unit = "split_encode_mode" },
     { "2",                 "Enabled with number of horizontal strips forced to 
2 when number of NVENCs > 1", 0, AV_OPT_TYPE_CONST, { .i64 = 
NV_ENC_SPLIT_TWO_FORCED_MODE },   0, 0, VE, .unit = "split_encode_mode" },
     { "3",                 "Enabled with number of horizontal strips forced to 
3 when number of NVENCs > 2", 0, AV_OPT_TYPE_CONST, { .i64 = 
NV_ENC_SPLIT_THREE_FORCED_MODE }, 0, 0, VE, .unit = "split_encode_mode" },
+    { "4",                 "Enabled with number of horizontal strips forced to 
4 when number of NVENCs > 3", 0, AV_OPT_TYPE_CONST, { .i64 = 
NV_ENC_SPLIT_FOUR_FORCED_MODE }, 0, 0, VE, .unit = "split_encode_mode" },
 #endif
     { NULL }
 };
-- 
2.49.1

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to