From 173487afaf863cb946b9047e9a6b7822382b5e1c Mon Sep 17 00:00:00 2001 From: David Rosca Date: Thu, 11 Jul 2024 15:45:27 +0200 Subject: [PATCH] obs-ffmpeg: Add QVBR rate control for VA-API --- plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c b/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c index 7777cdfe6..eae3d25e1 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c @@ -224,6 +224,7 @@ static const rc_mode_t *get_rc_mode(const char *name) static const rc_mode_t RC_MODES[] = {{.name = "CBR", .qp = false, .bitrate = true, .maxrate = false}, {.name = "CQP", .qp = true, .bitrate = false, .maxrate = false}, {.name = "VBR", .qp = false, .bitrate = true, .maxrate = true}, + {.name = "QVBR", .qp = true, .bitrate = true, .maxrate = true}, {0}}; const rc_mode_t *rc_mode = RC_MODES; @@ -953,6 +954,9 @@ static bool vaapi_device_modified(obs_properties_t *ppts, obs_property_t *p, obs if (vaapi_device_rc_supported(profile, va_dpy, VA_RC_VBR, device)) obs_property_list_add_string(rc_p, "VBR", "VBR"); + if (vaapi_device_rc_supported(profile, va_dpy, VA_RC_QVBR, device)) + obs_property_list_add_string(rc_p, "QVBR", "QVBR"); + if (vaapi_device_rc_supported(profile, va_dpy, VA_RC_CQP, device)) obs_property_list_add_string(rc_p, "CQP", "CQP");