From b216b90a5c54534b350d30ee4c2845b26f6ca02c Mon Sep 17 00:00:00 2001 From: Douglas Rhine <59268455+dgcampea@users.noreply.github.com> Date: Thu, 2 Apr 2020 17:59:52 +0100 Subject: [PATCH] obs-ffmpeg: Rename and add more VAAPI levels The Auto level lets the encoder decide which level to use. Furthermore, some devices allow levels beyond 4.2. Therefore, we add all levels allowed by H.264. This is of importance, since using a resolution not supported by the specified level can trigger undefined behavior on the hardware/kernel. --- plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c b/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c index b3d2415d4..9f2660a49 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c @@ -561,12 +561,16 @@ static obs_properties_t *vaapi_properties(void *unused) list = obs_properties_add_list(props, "level", "Level", OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT); - obs_property_list_add_int(list, "480p30 (3.0)", 30); - obs_property_list_add_int(list, "720p30/480p60 (3.1)", 31); - obs_property_list_add_int(list, "Compatibility mode (4.0 default)", + obs_property_list_add_int(list, "Auto", FF_LEVEL_UNKNOWN); + obs_property_list_add_int(list, "3.0", 30); + obs_property_list_add_int(list, "3.1", 31); + obs_property_list_add_int(list, "4.0 (default) (Compatibility mode)", 40); - obs_property_list_add_int(list, "720p60/1080p30 (4.1)", 41); - obs_property_list_add_int(list, "1080p60 (4.2)", 42); + obs_property_list_add_int(list, "4.1", 41); + obs_property_list_add_int(list, "4.2", 42); + obs_property_list_add_int(list, "5.0", 50); + obs_property_list_add_int(list, "5.1", 51); + obs_property_list_add_int(list, "5.2", 52); list = obs_properties_add_list(props, "rate_control", obs_module_text("RateControl"),