Explorar o código

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 %!s(int64=9) %!d(string=hai) anos
pai
achega
bd70e73c25
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  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;