diff options
author | Nigel Kukard | 2021-08-07 02:55:48 +0000 |
---|---|---|
committer | Nigel Kukard | 2021-08-07 03:03:01 +0000 |
commit | ae7a839c7fec9005251704585e15c4f788165f2d (patch) | |
tree | 957f2fb364cb5a600ccdc95096bb85459212aeb2 | |
parent | 8cbc05294ee03f2b10012da38fab7d775d5bbfe7 (diff) | |
download | aur-ae7a839c7fec9005251704585e15c4f788165f2d.tar.gz |
Updated patch to build against latest git
-rw-r--r-- | PKGBUILD | 2 | ||||
-rw-r--r-- | hevc-vaapi.diff | 92 |
2 files changed, 36 insertions, 58 deletions
@@ -26,7 +26,7 @@ source=("$pkgname::git+https://github.com/obsproject/obs-studio.git#branch=maste "hevc-vaapi.diff" "fix_python_binary_loading.patch") sha256sums=("SKIP" "SKIP" "SKIP" "SKIP" - "66fed73be753773fb52f98fdb92b37353e0450653125007e8ab694e97983a71b" + "bfaabd24cab61247926a262c03285090e4c4b06eaf4459004c9e91279e2b9d95" "bdfbd062f080bc925588aec1989bb1df34bf779cc2fc08ac27236679cf612abd") pkgver() { diff --git a/hevc-vaapi.diff b/hevc-vaapi.diff index d0bfd0cd6464..445dbeeff223 100644 --- a/hevc-vaapi.diff +++ b/hevc-vaapi.diff @@ -1,28 +1,5 @@ -diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -index b9a43e5de..06a04658b 100644 ---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -@@ -610,17 +610,14 @@ static inline int open_output_file(struct ffmpeg_mux *ffm) - } - - ret = avformat_write_header(ffm->output, &dict); -+ av_dict_free(&dict); - if (ret < 0) { - fprintf(stderr, "Error opening '%s': %s", - ffm->params.printable_file.array, av_err2str(ret)); - -- av_dict_free(&dict); -- - return ret == -22 ? FFM_UNSUPPORTED : FFM_ERROR; - } - -- av_dict_free(&dict); -- - return FFM_SUCCESS; - } - diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c b/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c -index ee5829678..3475efef7 100644 +index 445c5a792..a7a96d819 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c @@ -69,10 +69,35 @@ struct vaapi_encoder { @@ -64,7 +41,7 @@ index ee5829678..3475efef7 100644 } static inline bool valid_format(enum video_format format) -@@ -170,21 +195,21 @@ typedef struct { +@@ -170,15 +195,15 @@ typedef struct { bool maxrate; } rc_mode_t; @@ -86,15 +63,7 @@ index ee5829678..3475efef7 100644 - const rc_mode_t *rc_mode = RC_MODES; -- while (!!rc_mode && strcmp(rc_mode->name, name) != 0) -+ while (!!rc_mode->name && strcmp(rc_mode->name, name) != 0) - rc_mode++; - -- return rc_mode ? rc_mode : RC_MODES; -+ return !!rc_mode->name ? rc_mode : RC_MODES; - } - - static bool vaapi_update(void *data, obs_data_t *settings) + while (!!rc_mode && strcmp(rc_mode->name, name) != 0) @@ -278,6 +303,7 @@ static bool vaapi_update(void *data, obs_data_t *settings) info("settings:\n" @@ -186,17 +155,19 @@ index ee5829678..3475efef7 100644 obs_properties_t *props = obs_properties_create(); obs_property_t *list; -@@ -560,41 +597,44 @@ static obs_properties_t *vaapi_properties(void *unused) +@@ -561,43 +598,46 @@ static obs_properties_t *vaapi_properties(void *unused) } } -- list = obs_properties_add_list(props, "vaapi_codec", "VAAPI Codec", +- list = obs_properties_add_list(props, "vaapi_codec", +- obs_module_text("VAAPI.Codec"), - OBS_COMBO_TYPE_LIST, - OBS_COMBO_FORMAT_INT); - - obs_property_list_add_int(list, "H.264 (default)", AV_CODEC_ID_H264); - -- list = obs_properties_add_list(props, "profile", "Profile", +- list = obs_properties_add_list(props, "profile", +- obs_module_text("Profile"), - OBS_COMBO_TYPE_LIST, - OBS_COMBO_FORMAT_INT); - obs_property_list_add_int(list, "Constrained Baseline (default)", @@ -204,7 +175,7 @@ index ee5829678..3475efef7 100644 - obs_property_list_add_int(list, "Main", FF_PROFILE_H264_MAIN); - obs_property_list_add_int(list, "High", FF_PROFILE_H264_HIGH); - -- list = obs_properties_add_list(props, "level", "Level", +- list = obs_properties_add_list(props, "level", obs_module_text("Level"), - OBS_COMBO_TYPE_LIST, - OBS_COMBO_FORMAT_INT); - obs_property_list_add_int(list, "Auto", FF_LEVEL_UNKNOWN); @@ -217,16 +188,26 @@ index ee5829678..3475efef7 100644 - 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"), +- OBS_COMBO_TYPE_LIST, +- OBS_COMBO_FORMAT_STRING); +- obs_property_list_add_string(list, "CBR (default)", "CBR"); +- obs_property_list_add_string(list, "CQP", "CQP"); +- obs_property_list_add_string(list, "VBR", "VBR"); + if (codec->id == AV_CODEC_ID_H264) { -+ list = obs_properties_add_list(props, "profile", "Profile", -+ OBS_COMBO_TYPE_LIST, -+ OBS_COMBO_FORMAT_INT); ++ list = obs_properties_add_list(props, "profile", ++ obs_module_text("Profile"), ++ OBS_COMBO_TYPE_LIST, ++ OBS_COMBO_FORMAT_INT); + obs_property_list_add_int(list, "Constrained Baseline (default)", -+ FF_PROFILE_H264_CONSTRAINED_BASELINE); ++ FF_PROFILE_H264_CONSTRAINED_BASELINE); + obs_property_list_add_int(list, "Main", FF_PROFILE_H264_MAIN); + obs_property_list_add_int(list, "High", FF_PROFILE_H264_HIGH); + -+ list = obs_properties_add_list(props, "level", "Level", ++ list = obs_properties_add_list(props, "level", ++ obs_module_text("Level"), + OBS_COMBO_TYPE_LIST, + OBS_COMBO_FORMAT_INT); + obs_property_list_add_int(list, "Auto", FF_LEVEL_UNKNOWN); @@ -240,16 +221,13 @@ index ee5829678..3475efef7 100644 + 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"), - OBS_COMBO_TYPE_LIST, - OBS_COMBO_FORMAT_STRING); -- obs_property_list_add_string(list, "CBR (default)", "CBR"); -- obs_property_list_add_string(list, "CQP", "CQP"); -- obs_property_list_add_string(list, "VBR", "VBR"); ++ ++ list = obs_properties_add_list(props, "rate_control", ++ obs_module_text("RateControl"), ++ OBS_COMBO_TYPE_LIST, ++ OBS_COMBO_FORMAT_STRING); + -+ for (const rc_mode_t *rc_mode = RC_MODES; !!rc_mode->name; rc_mode++) { ++ for (const rc_mode_t *rc_mode = RC_MODES; rc_mode; rc_mode++) { + /* Identify the default choice */ + char *def = strcmp(rc_mode->name, codec->rate_control) == 0 + ? " (default)" @@ -261,7 +239,7 @@ index ee5829678..3475efef7 100644 obs_property_set_modified_callback(list, rate_control_modified); -@@ -613,6 +653,7 @@ static obs_properties_t *vaapi_properties(void *unused) +@@ -616,6 +656,7 @@ static obs_properties_t *vaapi_properties(void *unused) obs_module_text("KeyframeIntervalSec"), 0, 20, 1); @@ -269,7 +247,7 @@ index ee5829678..3475efef7 100644 return props; } -@@ -642,11 +683,26 @@ struct obs_encoder_info vaapi_encoder_info = { +@@ -645,11 +686,26 @@ struct obs_encoder_info vaapi_encoder_info = { .create = vaapi_create, .destroy = vaapi_destroy, .encode = vaapi_encode, @@ -299,7 +277,7 @@ index ee5829678..3475efef7 100644 #endif diff --git a/plugins/obs-ffmpeg/obs-ffmpeg.c b/plugins/obs-ffmpeg/obs-ffmpeg.c -index 5a9a3e06b..df9e41ba6 100644 +index b7a17095d..9d8397e68 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg.c @@ -35,6 +35,7 @@ extern struct obs_encoder_info nvenc_encoder_info; @@ -310,7 +288,7 @@ index 5a9a3e06b..df9e41ba6 100644 #endif #ifndef __APPLE__ -@@ -209,9 +210,9 @@ finish: +@@ -210,9 +211,9 @@ finish: #endif #ifdef LIBAVUTIL_VAAPI_AVAILABLE @@ -322,7 +300,7 @@ index 5a9a3e06b..df9e41ba6 100644 return !!vaenc; } #endif -@@ -252,10 +253,14 @@ bool obs_module_load(void) +@@ -253,10 +254,14 @@ bool obs_module_load(void) obs_register_encoder(&nvenc_encoder_info); } #if !defined(_WIN32) && defined(LIBAVUTIL_VAAPI_AVAILABLE) |