Martin Storsjö
c011890764
Push clobbered neon registers on the stack
...
According to the calling convention, the registers q4-q7 should be
preserved by functions. The caller (generated by the compiler) could
be using those registers anywhere for any intermediate data.
Functions that use more than 12 of the qX registers must push
the clobbered registers on the stack in order to be able to restore them
afterwards.
In functions that don't use all 16 registers, but clobber some of
the callee saved registers q4-q7, one or more of them are remapped
to reduce the number of registers that have to be saved/restored.
This incurs a very small (around 0.5%) slowdown in the decoder and
encoder.
2014-03-10 22:07:36 +02:00
Martin Storsjö
811c647c0e
Remap registers to avoid clobbering the neon registers q4-q7
...
According to the calling convention, the registers q4-q7 should be
preserved by functions. The caller (generated by the compiler) could
be using those registers anywhere for any intermediate data.
Functions that use 12 or less of the qX registers can avoid
violating the calling convention by simply using other registers instead
of the callee saved registers q4-q7.
This change only remaps the registers used within functions - therefore
this does not affect performance at all. E.g. in functions using
registers q0-q7, we now use q0-q3 and q8-q11 instead.
2014-03-10 22:07:25 +02:00
Ethan Hugg
ca457f57e9
Merge pull request #470 from mstorsjo/android-abi-docs
...
Add documentation about how to build the different ABI variants for android
2014-03-10 10:25:58 -07:00
Martin Storsjö
23e3bddf71
Add documentation about how to build the different ABI variants for android
2014-03-10 19:23:39 +02:00
Ethan Hugg
3627875986
Merge pull request #456 from mstorsjo/use-common-threadlib
...
Make the processing lib use mutexes from WelsThreadLib from the common library
2014-03-10 09:45:51 -07:00
Ethan Hugg
567302eb9a
Merge pull request #410 from mstorsjo/android-armeabi
...
Allow building plain armeabi binaries for android
2014-03-10 09:44:19 -07:00
Licai Guo
7a26142fca
Merge pull request #468 from mstorsjo/include-time-h
...
Include time.h in the MemoryAlloc test
2014-03-10 22:10:10 +08:00
Licai Guo
731a1466e6
Merge pull request #469 from huili2/svc_sh_bug_fix
...
modify and correct SVC slice header parse
2014-03-10 22:09:44 +08:00
Martin Storsjö
c3ddd926ba
Include time.h in the MemoryAlloc test
...
This is required to get the time() function. This fixes building
on older MSVC versions.
2014-03-10 11:38:48 +02:00
Licai Guo
091315f84c
modify and correct SVC slice header parse
2014-03-10 02:37:41 -07:00
ruil2
44a49b1fef
Merge pull request #458 from mstorsjo/android-threading
...
Don't try to set thread scope and scheduling policy on android
2014-03-10 17:26:00 +08:00
ruil2
a922155c9a
Merge pull request #466 from sijchen/add_memalign_test
...
Add memalign unit test
2014-03-10 17:25:41 +08:00
ruil2
1477f36de2
Merge pull request #467 from sijchen/add_more_slice_mode_test
...
Specific slice mode in encoder test
2014-03-10 17:25:31 +08:00
sijchen
385128e403
Merge pull request #465 from ruil2/encoder_trace
...
use global trace in encoder
reviewed at https://rbcommons.com/s/OpenH264/r/176/
2014-03-10 17:22:19 +08:00
Licai Guo
6d9dfe8954
Merge pull request #454 from mstorsjo/android-any-arch
...
Support building for any other android architecture
2014-03-10 17:20:58 +08:00
sijchen
dfd3d89a20
specific slice mode in encoder test
2014-03-10 16:57:19 +08:00
sijchen
53a570556d
add memalign unit test
2014-03-10 16:28:05 +08:00
ruil2
cbc2b9c986
keep the unrelated changed line
2014-03-10 16:11:27 +08:00
ruil2
e99df3377d
Merge pull request #460 from mstorsjo/add-const
...
Mark pointers as const where possible in vaacalc
2014-03-10 15:35:57 +08:00
ruil2
02bafd9320
Merge pull request #445 from mstorsjo/use-thread-param
...
Use the iMultipleThreadIdc field from SEncParamExt
2014-03-10 15:28:04 +08:00
ruil2
86f37f047c
Merge pull request #452 from mstorsjo/use-slice-mode-enum
...
Use SliceModeEnum as data type for the slice mode fields
2014-03-10 15:27:04 +08:00
ruil2
2539d6e447
Merge pull request #462 from mstorsjo/fix-typos
...
Fix two typos in variable and macro names
2014-03-10 15:25:20 +08:00
ruil2
ba6b2a8d62
use global trace in encoder
2014-03-10 15:22:40 +08:00
Licai Guo
d63fc1004e
Merge pull request #459 from mstorsjo/ios-default-arch
...
Set the arch to armv7 by default when building for iOS
2014-03-10 12:32:00 +08:00
Licai Guo
4cc059bf5b
Merge pull request #461 from mstorsjo/fix-asm-comments
...
Remove unnecessary/stray keywords in function signature comments in x86 assembly
2014-03-10 12:29:22 +08:00
huili2
a5411eb747
Merge pull request #464 from licaiguo/fix-type-wels-read-verify
...
fix WELS_READ_VERIFY
2014-03-10 09:27:56 +08:00
Licai Guo
b2dafa5a92
fix WELS_READ_VERIFY
2014-03-09 18:12:53 -07:00
Martin Storsjö
cc7b81f3c3
Fix a typo in arm assembly, LORD -> LOAD
2014-03-09 19:19:38 +02:00
Martin Storsjö
e31ba7a775
Fix a typo, "heigth" -> "height"
2014-03-09 19:19:37 +02:00
Martin Storsjö
7c435ad295
Remove a stray inline keyword in a function signature comment in x86 assembly
...
Assembly functions written in external assembly files is obviously
not inlined.
2014-03-09 19:18:03 +02:00
Martin Storsjö
8d6b368a1c
Remove unnecessary stray __cdecl annotations in function signature comments in x86 assembly
2014-03-09 19:18:02 +02:00
Martin Storsjö
2a23a508e1
Mark pointers as const where possible in vaacalc
2014-03-09 18:52:17 +02:00
Martin Storsjö
67a9e73a7c
Set the arch to armv7 by default when building for iOS
...
Otherwise it would build for the simulator by default, which
in most cases probably isn't what was intended.
2014-03-09 01:46:43 +02:00
Martin Storsjö
1c6a910c11
Don't try to set thread scope and scheduling policy on android
...
These APIs aren't implemented on android.
2014-03-08 20:37:42 +02:00
Ethan Hugg
fff3909053
Merge pull request #457 from mstorsjo/ios-enc-defines
...
Add missing defines when building the encoder for iOS using the xcode project files
2014-03-08 08:48:29 -08:00
Martin Storsjö
fd90d14ece
Enable threading when building for iOS using the project files
...
This was already enabled when building the library for iOS using
the makefiles.
2014-03-08 13:06:05 +02:00
Martin Storsjö
45c21931de
Add NO_DYNAMIC_VP when building the encoder lib for the iOS simulator
...
This was previously only added to builds for actual devices.
2014-03-08 13:05:45 +02:00
Martin Storsjö
c5390521ec
Make the processing lib use mutexes from WelsThreadLib from the common library
...
This requires always building the WelsMutex* functions,
even if MT_ENABLED isn't set.
2014-03-08 12:46:25 +02:00
Ethan Hugg
fb396cd3d2
Merge pull request #455 from mstorsjo/mktargets-sort-files
...
Explicitly sort the files in mktargets.py
2014-03-07 16:15:05 -08:00
Martin Storsjö
8f88f60637
Explicitly sort the files in mktargets.py
...
This avoids spurious changes to the targets.mk files when mktargets
is rerun on different platforms and different file systems.
In particular, OS X seems to mostly return files sorted
alphabetically, case insensitively, while they are returned in
a file system specific order on linux.
2014-03-08 01:55:39 +02:00
Martin Storsjö
918af27560
Support building for any other android architecture
...
This allows e.g. building for mips, as a plain C++ build with
no assembly.
2014-03-08 01:22:31 +02:00
Ethan Hugg
bb915978db
Merge pull request #448 from mstorsjo/use-correct-pointer-type
...
Get rid of an unnecessary cast by declaring the right pointer type
2014-03-07 14:29:51 -08:00
Martin Storsjö
5df2e2a996
Use SliceModeEnum as data type for the slice mode fields
...
This makes the use of the field clearer and safer by allowing
the compiler check that users actually assign proper enum
values.
2014-03-08 00:23:58 +02:00
Martin Storsjö
ce7b00ea72
Get rid of an unnecessary cast by declaring the right pointer type
2014-03-08 00:17:30 +02:00
Ethan Hugg
09b45e3ef9
Merge pull request #440 from licaiguo/refine-pps-sps
...
Refine pps sps
2014-03-07 11:02:02 -08:00
Ethan Hugg
fb4f677f77
Merge pull request #446 from mstorsjo/remove-unnecessary-public-param
...
Move the iCountThreadsNum field to SWelsSvcCodingParam
2014-03-07 09:18:52 -08:00
Ethan Hugg
06fbf808db
Merge pull request #451 from mstorsjo/install-static-only
...
Add separate install-static and install-shared targets
2014-03-07 09:17:57 -08:00
Ethan Hugg
7632510209
Merge pull request #450 from mstorsjo/publish-slice-mode-enum
...
Move the slice mode enum to the public API
2014-03-07 09:17:03 -08:00
volvet
f62492716f
Merge pull request #449 from mstorsjo/avoid-opaque-pointer
...
Make ParamValidationExt use the actual type instead of a void pointer
2014-03-08 00:27:47 +08:00
volvet
7db269f04a
Merge pull request #447 from mstorsjo/remove-misleading-cast
...
Remove a misleading cast
2014-03-08 00:15:08 +08:00