瀏覽代碼

obs-ffmpeg: Use core count for output threads by default

Recent FFmpeg versions seem to have changed the default thread count for
most codecs to 1.  Use the max core count by default as it was
originally.
jp9000 9 年之前
父節點
當前提交
bd70e73c25
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      plugins/obs-ffmpeg/obs-ffmpeg-output.c

+ 6 - 1
plugins/obs-ffmpeg/obs-ffmpeg-output.c

@@ -242,7 +242,12 @@ static bool create_video_stream(struct ffmpeg_data *data)
 	context->pix_fmt        = closest_format;
 	context->colorspace     = data->config.color_space;
 	context->color_range    = data->config.color_range;
-	context->thread_count   = 0;
+
+	if (context->thread_count == 1) {
+		int caps = context->codec->capabilities;
+		context->thread_count = !!(caps & AV_CODEC_CAP_AUTO_THREADS) ?
+			0 : av_cpu_count();
+	}
 
 	data->video->time_base = context->time_base;