You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	slicethread: Limit the automatic number of threads to 16
This matches a similar cap on the number of automatic threads in libavcodec/pthread_slice.c. On systems with lots of cores, this fixes a couple fate failures in 32 bit mode on such machines (where spawning a huge number of threads runs out of address space). Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
		| @@ -24,6 +24,8 @@ | ||||
| #include "thread.h" | ||||
| #include "avassert.h" | ||||
|  | ||||
| #define MAX_AUTO_THREADS 16 | ||||
|  | ||||
| #if HAVE_PTHREADS || HAVE_W32THREADS || HAVE_OS2THREADS | ||||
|  | ||||
| typedef struct WorkerContext { | ||||
| @@ -105,7 +107,7 @@ int avpriv_slicethread_create(AVSliceThread **pctx, void *priv, | ||||
|     if (!nb_threads) { | ||||
|         int nb_cpus = av_cpu_count(); | ||||
|         if (nb_cpus > 1) | ||||
|             nb_threads = nb_cpus + 1; | ||||
|             nb_threads = FFMIN(nb_cpus + 1, MAX_AUTO_THREADS); | ||||
|         else | ||||
|             nb_threads = 1; | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user