Browse Source

libobs: Mark encoders that support dynamic bitrate

(This commit also modifies mac-vth264, obs-ffmpeg, obs-qsv11, and
obs-x264)
jp9000 6 years ago
parent
commit
806ab5a022

+ 1 - 0
libobs/obs-encoder.h

@@ -31,6 +31,7 @@ extern "C" {
 
 #define OBS_ENCODER_CAP_DEPRECATED (1 << 0)
 #define OBS_ENCODER_CAP_PASS_TEXTURE (1 << 1)
+#define OBS_ENCODER_CAP_DYN_BITRATE (1 << 2)
 
 /** Specifies the encoder type */
 enum obs_encoder_type {

+ 1 - 0
plugins/mac-vth264/encoder.c

@@ -954,6 +954,7 @@ void register_encoders()
 		.get_defaults = vt_h264_defaults,
 		.get_video_info = vt_h264_video_info,
 		.get_extra_data = vt_h264_extra_data,
+		.caps = OBS_ENCODER_CAP_DYN_BITRATE,
 	};
 
 	for (size_t i = 0; i < vt_encoders.num; i++) {

+ 1 - 1
plugins/obs-ffmpeg/jim-nvenc.c

@@ -926,7 +926,7 @@ struct obs_encoder_info nvenc_info = {
 	.id = "jim_nvenc",
 	.codec = "h264",
 	.type = OBS_ENCODER_VIDEO,
-	.caps = OBS_ENCODER_CAP_PASS_TEXTURE,
+	.caps = OBS_ENCODER_CAP_PASS_TEXTURE | OBS_ENCODER_CAP_DYN_BITRATE,
 	.get_name = nvenc_get_name,
 	.create = nvenc_create,
 	.destroy = nvenc_destroy,

+ 1 - 0
plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c

@@ -570,4 +570,5 @@ struct obs_encoder_info nvenc_encoder_info = {
 	.get_extra_data = nvenc_extra_data,
 	.get_sei_data = nvenc_sei_data,
 	.get_video_info = nvenc_video_info,
+	.caps = OBS_ENCODER_CAP_DYN_BITRATE,
 };

+ 1 - 0
plugins/obs-qsv11/obs-qsv11.c

@@ -770,4 +770,5 @@ struct obs_encoder_info obs_qsv_encoder = {
 	.get_extra_data = obs_qsv_extra_data,
 	.get_sei_data = obs_qsv_sei,
 	.get_video_info = obs_qsv_video_info,
+	.caps = OBS_ENCODER_CAP_DYN_BITRATE,
 };

+ 1 - 0
plugins/obs-x264/obs-x264.c

@@ -787,4 +787,5 @@ struct obs_encoder_info obs_x264_encoder = {
 	.get_extra_data = obs_x264_extra_data,
 	.get_sei_data = obs_x264_sei,
 	.get_video_info = obs_x264_video_info,
+	.caps = OBS_ENCODER_CAP_DYN_BITRATE,
 };