aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/nvenc_h264.c
diff options
context:
space:
mode:
authorTimo Rothenpieler <timo@rothenpieler.org>2023-10-03 17:31:11 +0200
committerTimo Rothenpieler <timo@rothenpieler.org>2023-10-09 20:17:44 +0200
commite006680d8ef0c7cdcbc18a4c6d83d5dac48bea75 (patch)
tree4704f1b0bdb5e85f6584b1bd0a63d543fa0c72d5 /libavcodec/nvenc_h264.c
parent3914abf76e3d1e65c41f7483ba76bc61f5057670 (diff)
downloadffmpeg-e006680d8ef0c7cdcbc18a4c6d83d5dac48bea75.tar.gz
avcodec/nvenc: add option to control subsampling of packed rgb input
Diffstat (limited to 'libavcodec/nvenc_h264.c')
-rw-r--r--libavcodec/nvenc_h264.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/nvenc_h264.c b/libavcodec/nvenc_h264.c
index 4440e49b25..85a13634a3 100644
--- a/libavcodec/nvenc_h264.c
+++ b/libavcodec/nvenc_h264.c
@@ -130,6 +130,11 @@ static const AVOption options[] = {
OFFSET(device), AV_OPT_TYPE_INT, { .i64 = ANY_DEVICE }, -2, INT_MAX, VE, "gpu" },
{ "any", "Pick the first device available", 0, AV_OPT_TYPE_CONST, { .i64 = ANY_DEVICE }, 0, 0, VE, "gpu" },
{ "list", "List the available devices", 0, AV_OPT_TYPE_CONST, { .i64 = LIST_DEVICES }, 0, 0, VE, "gpu" },
+ { "rgb_mode", "Configure how nvenc handles packed RGB input.",
+ OFFSET(rgb_mode), AV_OPT_TYPE_INT, { .i64 = NVENC_RGB_MODE_420 }, 0, INT_MAX, VE, "rgb_mode" },
+ { "yuv420", "Convert to yuv420", 0, AV_OPT_TYPE_CONST, { .i64 = NVENC_RGB_MODE_420 }, 0, 0, VE, "rgb_mode" },
+ { "yuv444", "Convert to yuv444", 0, AV_OPT_TYPE_CONST, { .i64 = NVENC_RGB_MODE_444 }, 0, 0, VE, "rgb_mode" },
+ { "disabled", "Disables support, throws an error.", 0, AV_OPT_TYPE_CONST, { .i64 = NVENC_RGB_MODE_DISABLED }, 0, 0, VE, "rgb_mode" },
{ "delay", "Delay frame output by the given amount of frames",
OFFSET(async_depth), AV_OPT_TYPE_INT, { .i64 = INT_MAX }, 0, INT_MAX, VE },
{ "no-scenecut", "When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts",