refine-multi-layer-process
Merge some WIN32 ifdefs that were directly next to each other
Change the unix version of WELS_EVENT to sem_t*

Typedeffing WELS_EVENT as sem_t* makes the typedef behave similarly
to the windows version (typedeffed as HANDLE), unifying the code
that allocates and uses these event objects (getting rid of
most of the need for separate codepaths and ifdefs).
Share the declarations for WELS_EVENT arrays between win32 and unix codepaths
Simplify code by allocating the arrays of events and thread handles statically

This avoids having to malloc a whole lot of separate arrays,
all which are all bounded by MAX_THREADS_NUM.
Do a blocking wait with WelsMultipleEventsWaitSingleBlocking

There is no point in doing a timed wait here - there's no work
that we can do if the wait timed out, and sleeping for 1 ms
inbetween doesn't help, it only adds potential extra latency
to reacting to threads that need more work to do.
Merge pull request #407 from mstorsjo/do-blocking-wait

Do a blocking wait with WelsMultipleEventsWaitSingleBlocking
Merge pull request #399 from volvet/refine-multi-layer-process

refine-multi-layer-process
move iTotalNumMbRec from refpic to ctx
Merge pull request #405 from mstorsjo/simplify-threads

Adjust WELS_EVENT definitions to allow sharing more code between unix and win32 codepaths
Remove commented out, unused code

Some few lines of commented out code is left, that might be useful
for debugging.
Convert encoder config files to unix newlines

The new iOS configuration file welsenc_ios.cfg was committed with
dos newlines originally, while welsenc.cfg was accidentally changed
to dos newlines in f5cd56ea74.
Use the WelsEventOpen interface with an event name on windows as well

This unifies the event creation interface, even if the event
name itself is unused on windows, allowing use the exact same
code to initialize events regardless of the actual platform.

Some ifdefs still remain in the event initialization code, since
some events are only used on windows.
Use unnamed semaphores on linux

This avoids the risk of namespace collisions for named semaphores
(where the names are global for the whole machine), on platforms
where we strictly don't need to use the named semaphores.
Use an event name that contains the process id

This reduces the risk for namespace collisions if two processes
run the encoder simultaneously without address space layout
randomization.
Merge pull request #416 from huili2/move_iTotalNumMbRec_to_pCtx

move iTotalNumMbRec from refpic to ctx
Add .func/.endfunc markers in the arm assembly

This adds information to debug builds.

This requires adding a separate definition of WELS_ASM_FUNC_END
for apple tools.
Merge pull request #411 from mstorsjo/arm-add-func-markers

Add .func/.endfunc markers in the arm assembly
Don't add -DNO_DYNAMIC_VP to ASMFLAGS

None of the assembly source uses this define for anything.
Fix building android on x86

In 70360cb11, the ASM variable was moved to the x86-common file
even though the android build file didn't include neither
platform-arch.mk nor platform-x86-common.mk.

Instead of explicitly declaring ASM here, include platform-arch.mk
and remove setting of the flags that platform-arch.mk sets.

This is inspired by and based on a patch by Licai Guo.