(This commit also modifies mac-vth264, obs-ffmpeg, obs-qsv11, and obs-x264)
@@ -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 {
@@ -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++) {
@@ -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,
@@ -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,
@@ -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,
@@ -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,