diff options
author | wm4 <wm4@nowhere> | 2015-03-05 12:55:36 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-03-05 12:55:54 +0100 |
commit | 9657e5a2caef74de799fab0b9920284660865da9 (patch) | |
tree | e8a56a103f04798b2cf84d456b19e77a3deaa1f3 /common | |
parent | 4e3f8ccb9d24f2f0940e93d1a8582e562265dede (diff) | |
download | mpv-9657e5a2caef74de799fab0b9920284660865da9.tar.bz2 mpv-9657e5a2caef74de799fab0b9920284660865da9.tar.xz |
vd_lavc: request 1 more threads than CPU cores
This duplicates the logic which FFmpeg's libavcodec uses. The effects
are unknown, though it's somewhat clear that a single thread doesn't
necessarily saturate a single CPU.
(Eventually we should just let FFmpeg auto-init the thread count, but
for now I prefer it this way, so e.g. verbose mode will print the
thread count.)
Diffstat (limited to 'common')
-rw-r--r-- | common/av_common.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/common/av_common.c b/common/av_common.c index bc2845d4d4..05c694702d 100644 --- a/common/av_common.c +++ b/common/av_common.c @@ -135,6 +135,8 @@ void mp_set_avcodec_threads(struct mp_log *l, AVCodecContext *avctx, int threads threads = 1; } else { mp_verbose(l, "Detected %d logical cores.\n", threads); + if (threads > 1) + threads += 1; // extra thread for better load balancing } // Apparently some libavcodec versions have or had trouble with more // than 16 threads, and/or print a warning when using > 16. |