openh264/codec
Martin Storsjö 801da26d1d Use WelsMultipleEventsWaitSingleBlocking with a master event for waiting on finished threads
This allows using the same codepath for both unix and windows
for distributing new slices to code to threads.

This also improves the performance on unix - instead of waiting
for all the current threads to finish their current slice
before handing out a new slice to each of them (where the threads
that finish first will just wait instead of immediately getting
a new slice to work on), we now use the same logic as on windows.

In one setup, it improves the performance of encoding from ~920 fps
to ~950 fps, and in another setup it goes from ~390 fps to ~660 fps.
(These tests were done with the SM_ROWMB_SLICE mode, which
heavily exercises the code for distributing new slices to the
worker threads.)

The extra WelsEventSignal call on windows where it isn't strictly
necessary doesn't incur any measurable slowdown, so it is kept
without any extra ifdefs to keep the code more readable and unified.
2014-03-06 15:33:37 +02:00
..
api/svc remove inter-deblock related parameters 2014-03-06 10:26:53 +08:00
build arm asm code refine. 2014-03-06 14:30:16 +08:00
common Add support for using a separate "master event" in WelsMultipleEventsWait*Blocking 2014-03-06 15:03:59 +02:00
console Merge pull request #428 from sijchen/read_para3 2014-03-06 14:04:33 +08:00
decoder Merge pull request #431 from huili2/large_to_small_sps_bug 2014-03-06 16:51:59 +08:00
encoder Use WelsMultipleEventsWaitSingleBlocking with a master event for waiting on finished threads 2014-03-06 15:33:37 +02:00
processing Add arm asm code for processing. 2014-03-05 16:54:05 +08:00