summaryrefslogtreecommitdiff
path: root/libavcodec/pthread_slice.c
Commit message (Collapse)AuthorAge
* w32pthreads: always use Vista+ API, drop XP supportwm42017-12-26
| | | | | | | | | | | 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.
* avcodec/pthread_slice: add ff_slice_thread_execute_with_mainfunc()Ilia Valiakhmetov2017-09-08
| | | | | Signed-off-by: Ilia Valiakhmetov <zakne0ne@gmail.com> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avcodec/pthread_slice: use slice threading from avutilMuhammad Faiz2017-07-19
| | | | | | | | | | | | | | | | | | | | | | | | Also remove pthread_cond_broadcast(progress_cond) on uninit. Broadcasting it is not required because workers are always parked when they are not in thread_execute. So it is imposible that a worker is waiting on progress_cond when uninitialized. Benchmark: ./ffmpeg -threads $threads -thread_type slice -i 10slices.mp4 -f null null threads=2: old: 70.212s 70.525s 70.877s new: 65.219s 65.377s 65.484s threads=3: old: 65.086s 66.306s 66.409s new: 63.229s 65.026s 65.116s threads=4: old: 60.993s 61.482s 62.123s new: 59.224s 59.441s 59.667s threads=5: old: 57.576s 57.860s 58.832s new: 53.032s 53.948s 54.086s Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* lavc/pthread_slice: remove pointless conditionClément Bœsch2017-03-29
|
* avcodec/mpeg12enc: Move high resolution thread check to before initializing ↵Michael Niedermayer2016-01-21
| | | | | | | | threads Cleaner solution is welcome! Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc,lavfi: use avutil/thread.h instead of redundant conditional includesClément Bœsch2016-01-20
| | | | This was somehow forgotten in a8bb81a05c519dd3f36cc341e5fb448f6d17fa73.
* avcodec/pthread_slice: Allow calling ff_alloc_entries() multiple times to ↵Michael Niedermayer2015-11-27
| | | | | | readjust the entry count Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pthread_slice: Remove rets_countMichael Niedermayer2015-11-26
| | | | | | It appears rets_count is redundant Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pthread_slice: remove dummy_ret hackMichael Niedermayer2015-11-19
| | | | | | | This should avoid some tsan warnings Found-by: Chris Cunningham <chcunningham@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/pthread_slice: release entriesChristophe Gisquet2015-02-24
| | | | | | | | | When calling ff_alloc_entries, a number of entries are created. They are never freed, as running fate with slice threading and several frames on e.g. fate-hevc-conformance-ENTP_A_Qualcomm_1 would show. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/pthread_slice: Use av_freep() to avoid leaving stale pointers in memoryMichael Niedermayer2014-11-01
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/pthread_slice: Check for malloc failureMichael Niedermayer2014-07-31
| | | | | Found-by: CSA Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/pthread_slice: Use av_malloc(z)_array()Michael Niedermayer2014-06-08
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit '38ecc3702dabbea09230f6d6333f59e74f5d1c12'Michael Niedermayer2013-11-04
|\ | | | | | | | | | | | | | | | | | | | | * commit '38ecc3702dabbea09230f6d6333f59e74f5d1c12': pthread: store thread contexts in AVCodecInternal instead of AVCodecContext Conflicts: libavcodec/internal.h libavcodec/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * pthread: store thread contexts in AVCodecInternal instead of AVCodecContextAnton Khirnov2013-11-04
| | | | | | | | | | | | It's a private field, it should not be visible to callers. Deprecate AVCodecContext.thread_opaque
* | Merge commit 'daa7a1d4431b6acf1f93c4a98b3de123abf4ca18'Michael Niedermayer2013-11-04
|\| | | | | | | | | | | | | | | | | | | * commit 'daa7a1d4431b6acf1f93c4a98b3de123abf4ca18': pthread_slice: rename ThreadContext -> SliceThreadContext Conflicts: libavcodec/pthread_slice.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * pthread_slice: rename ThreadContext -> SliceThreadContextAnton Khirnov2013-11-04
| | | | | | | | This should prevent confusion with frame threading.
* | Merge commit 'cc14ee03a7b91c69343f8d60c9e089a1950eeadb'Michael Niedermayer2013-11-04
|/ | | | | | | | | | | * commit 'cc14ee03a7b91c69343f8d60c9e089a1950eeadb': lavc: split slice and frame threading functions into separate files Conflicts: libavcodec/Makefile libavcodec/pthread.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* lavc: split slice and frame threading functions into separate filesAnton Khirnov2013-11-04