Skip to content

Commit 69162b1

Browse files
listoutRytoEX
authored andcommitted
obs-ffmpeg: Fix build with FFMPEG 8 and above
With commit FFmpeg/FFmpeg@822432769868 FFMPEG has removed almost all of the FF_API_FF_PROFILE_LEVEL related defines. They were deprecated since 2023-09-06. This results in build failures. This is first found on Gentoo with FFMPEG pre-release version. Downstream-bug: https://bugs.gentoo.org/961699 Signed-off-by: Brahmajit Das <[email protected]>
1 parent 672328f commit 69162b1

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,9 @@ static bool vaapi_update(void *data, obs_data_t *settings)
276276

277277
#ifdef ENABLE_HEVC
278278
if (enc->codec == CODEC_HEVC) {
279-
if ((profile == FF_PROFILE_HEVC_MAIN) && (info.format == VIDEO_FORMAT_P010)) {
279+
if ((profile == AV_PROFILE_HEVC_MAIN) && (info.format == VIDEO_FORMAT_P010)) {
280280
warn("Forcing Main10 for P010");
281-
profile = FF_PROFILE_HEVC_MAIN_10;
281+
profile = AV_PROFILE_HEVC_MAIN_10;
282282
}
283283
}
284284
#endif
@@ -853,14 +853,14 @@ static void vaapi_defaults_internal(obs_data_t *settings, enum codec_type codec)
853853
obs_data_set_default_string(settings, "vaapi_device", device);
854854
#ifdef ENABLE_HEVC
855855
if (codec == CODEC_HEVC)
856-
obs_data_set_default_int(settings, "profile", FF_PROFILE_HEVC_MAIN);
856+
obs_data_set_default_int(settings, "profile", AV_PROFILE_HEVC_MAIN);
857857
else
858858
#endif
859859
if (codec == CODEC_H264)
860-
obs_data_set_default_int(settings, "profile", FF_PROFILE_H264_HIGH);
860+
obs_data_set_default_int(settings, "profile", AV_PROFILE_H264_HIGH);
861861
else if (codec == CODEC_AV1)
862-
obs_data_set_default_int(settings, "profile", FF_PROFILE_AV1_MAIN);
863-
obs_data_set_default_int(settings, "level", FF_LEVEL_UNKNOWN);
862+
obs_data_set_default_int(settings, "profile", AV_PROFILE_AV1_MAIN);
863+
obs_data_set_default_int(settings, "level", AV_LEVEL_UNKNOWN);
864864
obs_data_set_default_int(settings, "bitrate", 2500);
865865
obs_data_set_default_int(settings, "keyint_sec", 0);
866866
obs_data_set_default_int(settings, "bf", 0);
@@ -914,33 +914,33 @@ static bool vaapi_device_modified(obs_properties_t *ppts, obs_property_t *p, obs
914914
goto fail;
915915

916916
switch (profile) {
917-
case FF_PROFILE_H264_CONSTRAINED_BASELINE:
917+
case AV_PROFILE_H264_CONSTRAINED_BASELINE:
918918
if (!vaapi_display_h264_supported(va_dpy, device))
919919
goto fail;
920920
profile = VAProfileH264ConstrainedBaseline;
921921
break;
922-
case FF_PROFILE_H264_MAIN:
922+
case AV_PROFILE_H264_MAIN:
923923
if (!vaapi_display_h264_supported(va_dpy, device))
924924
goto fail;
925925
profile = VAProfileH264Main;
926926
break;
927-
case FF_PROFILE_H264_HIGH:
927+
case AV_PROFILE_H264_HIGH:
928928
if (!vaapi_display_h264_supported(va_dpy, device))
929929
goto fail;
930930
profile = VAProfileH264High;
931931
break;
932-
case FF_PROFILE_AV1_MAIN:
932+
case AV_PROFILE_AV1_MAIN:
933933
if (!vaapi_display_av1_supported(va_dpy, device))
934934
goto fail;
935935
profile = VAProfileAV1Profile0;
936936
break;
937937
#ifdef ENABLE_HEVC
938-
case FF_PROFILE_HEVC_MAIN:
938+
case AV_PROFILE_HEVC_MAIN:
939939
if (!vaapi_display_hevc_supported(va_dpy, device))
940940
goto fail;
941941
profile = VAProfileHEVCMain;
942942
break;
943-
case FF_PROFILE_HEVC_MAIN_10:
943+
case AV_PROFILE_HEVC_MAIN_10:
944944
if (!vaapi_display_hevc_supported(va_dpy, device))
945945
goto fail;
946946
profile = VAProfileHEVCMain10;
@@ -1098,21 +1098,21 @@ static obs_properties_t *vaapi_properties_internal(enum codec_type codec)
10981098
list = obs_properties_add_list(props, "profile", obs_module_text("Profile"), OBS_COMBO_TYPE_LIST,
10991099
OBS_COMBO_FORMAT_INT);
11001100
if (codec == CODEC_HEVC) {
1101-
obs_property_list_add_int(list, "Main", FF_PROFILE_HEVC_MAIN);
1102-
obs_property_list_add_int(list, "Main10", FF_PROFILE_HEVC_MAIN_10);
1101+
obs_property_list_add_int(list, "Main", AV_PROFILE_HEVC_MAIN);
1102+
obs_property_list_add_int(list, "Main10", AV_PROFILE_HEVC_MAIN_10);
11031103
} else if (codec == CODEC_H264) {
1104-
obs_property_list_add_int(list, "Constrained Baseline", FF_PROFILE_H264_CONSTRAINED_BASELINE);
1105-
obs_property_list_add_int(list, "Main", FF_PROFILE_H264_MAIN);
1106-
obs_property_list_add_int(list, "High", FF_PROFILE_H264_HIGH);
1104+
obs_property_list_add_int(list, "Constrained Baseline", AV_PROFILE_H264_CONSTRAINED_BASELINE);
1105+
obs_property_list_add_int(list, "Main", AV_PROFILE_H264_MAIN);
1106+
obs_property_list_add_int(list, "High", AV_PROFILE_H264_HIGH);
11071107
} else if (codec == CODEC_AV1) {
1108-
obs_property_list_add_int(list, "Main", FF_PROFILE_AV1_MAIN);
1108+
obs_property_list_add_int(list, "Main", AV_PROFILE_AV1_MAIN);
11091109
}
11101110

11111111
obs_property_set_modified_callback(list, vaapi_device_modified);
11121112

11131113
list = obs_properties_add_list(props, "level", obs_module_text("Level"), OBS_COMBO_TYPE_LIST,
11141114
OBS_COMBO_FORMAT_INT);
1115-
obs_property_list_add_int(list, "Auto", FF_LEVEL_UNKNOWN);
1115+
obs_property_list_add_int(list, "Auto", AV_LEVEL_UNKNOWN);
11161116
if (codec == CODEC_H264) {
11171117
obs_property_list_add_int(list, "3.0", 30);
11181118
obs_property_list_add_int(list, "3.1", 31);

0 commit comments

Comments
 (0)