wm4
9b121dfc32
w32pthreads: always use Vista+ API, drop XP support
...
This removes the XP compatibility code, and switches entirely to SWR
locks, which are available starting at Windows Vista.
This removes CRITICAL_SECTION use, which allows us to add
PTHREAD_MUTEX_INITIALIZER, which will be useful later.
Windows XP is hereby not a supported build target anymore. It was
decided in a project vote that this is OK.
2017-12-26 02:49:48 +01:00
Muhammad Faiz
22b72de04b
avfilter/pthread: use slice threading from avutil
...
Benchmark (with 2 cpus):
./ffmpeg -f rawvideo -s 1280x720 -t 1000 -i /dev/zero \
-filter_threads $threads -vf transpose=clock -f null null
threads=2:
old: 31.129s 31.446s 31.574s
new: 29.602s 29.636s 29.656s
threads=3 (nb_threads = nb_cpus + 1 is bad choice at this situation):
old: 40.132s 40.279s 40.279s
new: 39.308s 39.570s 39.693s
threads=4:
old: 31.306s 31.366s 31.654s
new: 30.231s 30.360s 30.451s
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-07-19 15:51:38 +07:00
Clément Bœsch
473f0f75a1
lavfi: fix race when func rets holder is NULL
...
If ret is NULL, a dummy common holder is created to hold *all* the
parallel function returns, which gets written concurrently. This commit
simplify the whole logic by simply not writing to that holder when not
set.
2017-03-28 23:47:24 +02:00
Derek Buitenhuis
1a12eb4a73
Merge commit '29c2d06d67724e994980045afa055c6c34611b30'
...
* commit '29c2d06d67724e994980045afa055c6c34611b30':
cosmetics: Drop empty comment lines
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-24 17:31:44 +00:00
Diego Biurrun
29c2d06d67
cosmetics: Drop empty comment lines
2016-02-18 15:35:30 +01:00
Clément Bœsch
17d41220d8
lavfi/pthread: fix perameters/parameters typo
2016-01-24 14:41:11 +01:00
Clément Bœsch
a362015641
lavc,lavfi: use avutil/thread.h instead of redundant conditional includes
...
This was somehow forgotten in a8bb81a05c
.
2016-01-20 21:36:54 +01:00
Michael Niedermayer
658f5d1f63
avfilter/pthread: Use av_mallocz_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:40:20 +02:00
Derek Buitenhuis
692b930904
lavfi/pthread: Avoid crashes/odd behavior caused by spurious wakeups
...
This is similar to 5152196b2b
.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-22 17:05:26 +01:00
Derek Buitenhuis
3511d4fc97
pthread: Avoid crashes/odd behavior caused by spurious wakeups
...
This is similar to 5152196b2b
.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-22 13:24:01 +01:00
Michael Niedermayer
005200887b
Merge commit 'eb90a2091ffb94d8c29aaa5ff50f4192520254fc'
...
* commit 'eb90a2091ffb94d8c29aaa5ff50f4192520254fc':
pthread: Fix deadlock during thread initialization
Conflicts:
libavcodec/pthread.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 00:04:52 +02:00
Derek Buitenhuis
eb90a2091f
pthread: Fix deadlock during thread initialization
...
Sometimes, if pthread_create() failed, then pthread_cond_wait() could
accidentally be called in the worker threads after the uninit function
had already called pthread_cond_broadcast(), leading to a deadlock.
Don't call pthread_cond_wait() if c->done is set.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-13 05:50:00 -04:00
Michael Niedermayer
7381d31f22
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavfi: allow user-provided execute() callbacks
Conflicts:
libavfilter/avfilter.h
libavfilter/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 11:02:01 +02:00
Anton Khirnov
0767bfd199
lavfi: allow user-provided execute() callbacks
2013-09-28 08:06:19 +02:00
Michael Niedermayer
10336ca640
Merge commit '50612484e058e8b241f0528584d64d9d2ccebf12'
...
* commit '50612484e058e8b241f0528584d64d9d2ccebf12':
pthread: Rename thread_init to avoid symbol collision
Conflicts:
libavcodec/pthread.c
libavfilter/pthread.c
See: 674d8a9629
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 10:40:15 +02:00
Sean McGovern
50612484e0
pthread: Rename thread_init to avoid symbol collision
...
The AIX threads library exposes a function with the same name.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-17 00:13:31 +03:00
Carl Eugen Hoyos
674d8a9629
Rename thread_init() in libavcodec and libavfilter as library_thread_init().
...
The aix header sys/thread.h contains a definition for thread_init().
2013-06-30 13:47:45 +02:00
Dave Yeo
e615a77799
os2threads: move from lavc to compat/
...
For useage in other places besides lavc. Needed after commit
90f9a5830b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 12:49:20 +02:00
Michael Niedermayer
4cf7b87551
av_cpu_count: factorize "detected %d logical cores" message
...
Also print the message just once
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 03:19:55 +02:00
Michael Niedermayer
8d4e969afe
Merge commit '129bb238430ec45a3b5f8f1d384df590ddf7b62f'
...
* commit '129bb238430ec45a3b5f8f1d384df590ddf7b62f':
lavfi: add a slice threading infrastructure
Conflicts:
Changelog
cmdutils.c
doc/APIchanges
libavfilter/Makefile
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/avfiltergraph.c
libavfilter/internal.h
libavfilter/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 14:07:00 +02:00
Anton Khirnov
129bb23843
lavfi: add a slice threading infrastructure
...
Mostly based on libavcodec's
2013-05-24 09:28:18 +02:00