浏览代码

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.
Douglas Rhine 5 年之前
父节点
当前提交
b216b90a5c
共有 1 个文件被更改,包括 9 次插入5 次删除
  1. 9 5
      plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c

+ 9 - 5
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",
 	list = obs_properties_add_list(props, "level", "Level",
 				       OBS_COMBO_TYPE_LIST,
 				       OBS_COMBO_TYPE_LIST,
 				       OBS_COMBO_FORMAT_INT);
 				       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);
 				  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",
 	list = obs_properties_add_list(props, "rate_control",
 				       obs_module_text("RateControl"),
 				       obs_module_text("RateControl"),