summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNigel Kukard2021-08-07 02:55:48 +0000
committerNigel Kukard2021-08-07 03:03:01 +0000
commitae7a839c7fec9005251704585e15c4f788165f2d (patch)
tree957f2fb364cb5a600ccdc95096bb85459212aeb2
parent8cbc05294ee03f2b10012da38fab7d775d5bbfe7 (diff)
downloadaur-ae7a839c7fec9005251704585e15c4f788165f2d.tar.gz
Updated patch to build against latest git
-rw-r--r--PKGBUILD2
-rw-r--r--hevc-vaapi.diff92
2 files changed, 36 insertions, 58 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 0203a5da136a..0ea9b1d5fcc2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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)