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.
This commit is contained in:
Douglas Rhine 2020-04-02 17:59:52 +01:00
parent 04d7ff5854
commit b216b90a5c
No known key found for this signature in database
GPG Key ID: 31F78E0CF8B761B9

View File

@ -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"),