Licai Guo
e7cc8c2780
Add arm asm code for processing.
2014-03-05 16:54:05 +08:00
Licai Guo
bb244d736b
Partly add arm asm code to encoder.
2014-03-05 10:24:05 +08:00
Martin Storsjö
dae8f4b737
Exclude the arm assembly header as well
...
This avoids warnings about object files not containing any symbols.
2014-03-04 23:23:19 +02:00
Ethan Hugg
975a3e41bc
Merge pull request #404 from mstorsjo/arm-asm-type-func
...
Mark the arm asm labels as functions
2014-03-04 10:17:07 -08:00
Ethan Hugg
01a2f582c3
Merge pull request #401 from mstorsjo/android-arm-assembly
...
Enable the arm assembly in android builds
2014-03-04 09:50:07 -08:00
volvet
e61bd1b504
Merge pull request #408 from mstorsjo/exclude-asm-headers
...
Exclude assembly files that are used as headers
2014-03-04 21:07:42 +08:00
volvet
bc9ee5b145
Merge pull request #406 from mstorsjo/use-proper-define
...
Use the windows INFINITE define instead of manually casting -1 to uint32_t
2014-03-04 20:57:57 +08:00
Martin Storsjö
773cc4a797
Exclude assembly files that are used as headers
...
This avoids some warnings about object files not containing any
symbols.
2014-03-04 14:57:36 +02:00
Martin Storsjö
42592217c2
Use the windows INFINITE define instead of manually casting -1 to uint32_t
2014-03-04 14:47:25 +02:00
Martin Storsjö
e20930ef73
Mark the arm asm labels as functions
...
This fixes calling them from thumb code, on linux.
2014-03-04 11:23:04 +02:00
Martin Storsjö
d411d768b6
Add cpu feature detection for generic arm/linux
...
For platforms without runtime detection, assume whoever built it
with HAVE_NEON actually wanted it.
2014-03-04 10:18:30 +02:00
Martin Storsjö
9cf34e7615
Unify the interface for the different variants of WelsCPUFeatureDetect
...
The caller of the function should not need to know exactly which
implementation of it is being used.
For the variants that don't support detecting the number of cores,
the pNumberOfLogicProcessors parameter can be left untouched
and the caller will use a higher level API for finding it out.
This simplifies all the calling code, and simplifies adding
more implementations of cpu feature detection.
2014-03-04 10:18:30 +02:00
volvet
4d729c9418
get cpu cores for android
2014-03-04 15:50:41 +08:00
Martin Storsjö
1118dd4f71
Update the makefile generator to support .S arm assembly files
...
These are built if ASM_ARCH is set to arm.
2014-03-04 08:56:42 +02:00
Martin Storsjö
03e0dcd814
Convert the arm assembly sources to unix newlines
2014-03-04 08:42:28 +02:00
volvet
d9a02d27f2
remove execute attribute of the arm asm files
2014-03-04 11:45:10 +08:00
volvet
f8b0cec68d
Merge pull request #387 from zhilwang/arm-asm
...
Arm asm
2014-03-04 11:08:17 +08:00
volvet
901b89f7ad
Merge pull request #376 from mstorsjo/simplify-x86-asm-makefiles
...
Simplify makefiles with respect to x86 assembly
2014-03-04 10:16:01 +08:00
Ethan Hugg
1eb688264b
Merge pull request #395 from mstorsjo/printf-64bit-macro
...
Use a standard macro for 64 bit printf conversion specifiers
2014-03-03 09:11:51 -08:00
Martin Storsjö
e0951599ea
Unify ifdef conditions related to threading code
...
The two different variants of the threadlib basically are
win32 and unix - use _WIN32 to check for this consistently,
instead of occasionally using __GNUC__ to enable the unix
codepath. (__GNUC__ is also defined on mingw, which still is
a windows platform and should use the _WIN32 code.)
2014-03-03 14:55:53 +02:00
Martin Storsjö
3c7dde97ee
Use a standard macro for 64 bit printf conversion specifiers
...
This avoids duplicating the printf line with an ifdef every
time a 64 bit number needs to be printed.
2014-03-03 12:33:34 +02:00
Licai Guo
21d6b3481f
Remove trailing space.
2014-03-03 16:05:07 +08:00
Licai Guo
7768cd0a98
Modify code style, remove trailing space.
2014-03-03 15:42:01 +08:00
volvet
a3f129d8cd
Merge pull request #382 from mstorsjo/avoid-overflow-in-timespec
...
Avoid overflow when populating a struct timespec
2014-03-03 09:05:27 +08:00
volvet
3a602a382b
Merge pull request #379 from mstorsjo/simplify-emms-calling
...
Provide a no-op WelsEmms macro if X86_ASM is disabled
2014-03-03 09:03:41 +08:00
volvet
6c41cccb81
Merge pull request #377 from mstorsjo/threadlib-const-str
...
Add const to string parameters in WelsThreadLib
2014-03-03 08:53:00 +08:00
volvet
8c7e0a6ac6
Merge pull request #381 from mstorsjo/clarify-threading-comment
...
Clarify a comment in the threading code
2014-03-03 08:52:10 +08:00
Martin Storsjö
a96d83e762
Remove the broken WelsEventReset function
...
This function didn't work properly with named semaphores,
which are used in the unix codepaths.
Since it's unused, just remove it instead.
2014-03-03 00:00:17 +02:00
Martin Storsjö
b7db015a8c
Avoid overflow when populating a struct timespec
...
When adding the (dwMilliseconds % 1000) * 1000000 part
to ts.tv_nsec, the ts.tv_nsec field can grow larger than one
whole second. Therefore first add all of dwMilliseconds to
the tv_nsec field and add all whole seconds to the tv_sec
field instead - this way we make sure that the tv_nsec field
actually is less than a second.
2014-03-02 23:53:51 +02:00
Martin Storsjö
d2fc2e47f2
Clarify a comment in the threading code
...
Named semaphores are used instead of unnamed semaphores
in the unix codepaths, since unnamed semaphores aren't available
on OS X.
2014-03-02 23:51:59 +02:00
Martin Storsjö
dd47d4805f
Provide a no-op WelsEmms macro if X86_ASM is disabled
...
This allows always calling this function, reducing the number
of ifdefs in the calling code.
2014-03-02 23:46:20 +02:00
Martin Storsjö
8db97925a5
Add const to string parameters in WelsThreadLib
2014-03-02 23:43:45 +02:00
Martin Storsjö
3ccd2ae4cf
Remove a redundant makefile ifdef
...
ASM_ARCH=x86 is only set if USE_ASM is enabled.
2014-03-01 23:56:14 +02:00
Licai Guo
b7a25df13f
Remove deblocking arm asm code to common folder, add cpu detect for arm, clean some code.
2014-02-28 17:08:24 +08:00
Martin Storsjö
7d2c761604
Allow using the USE_ASM makefile variable for architectures other than x86
...
Add an ASM_ARCH variable which specifies which kind of assembly
is supposed to be built.
2014-02-28 10:19:53 +02:00
Licai Guo
0fd9db2878
Add ARM 32bit asm code for decoder.
2014-02-28 13:36:34 +08:00
Martin Storsjö
bb5b3978bf
Use higher level APIs for getting the number of cores if WelsCPUFeatureDetect didn't report anything
...
On processors without HTT, WelsCPUFeatureDetect can't return
a number of cores but might still return a nonzero set of
CPU feature flags. Previously the nonzero cpu feature flag
indicated that cpuid worked and the encoder wouldn't use the
higher level API for getting the number of cores, even though the
number of cores was left at 1.
2014-02-26 21:43:46 +02:00
sijchen
e45e859473
Squashed merge from writenal_refactor2
2014-02-20 14:50:04 +08:00
Martin Storsjö
3532781556
Mark source parameters to MC functions as const
2014-02-19 10:19:56 +02:00
Martin Storsjö
ce22f84a2b
Regenerate target makefiles after the latest mktargets.py changes
2014-02-12 22:11:05 +02:00
Ethan Hugg
8b8e0d4b3e
Merge pull request #274 from mstorsjo/typedef-cleanup
...
Remove typedefs for standard C++ types
2014-02-10 10:46:12 -08:00
Ethan Hugg
1e549e6f9a
Merge pull request #271 from mstorsjo/merge-asm-headers
...
Merge declarations of shared asm functions into the comon library
2014-02-10 10:40:34 -08:00
Ethan Hugg
007f5ba773
Merge pull request #258 from mstorsjo/endian-cleanup
...
Avoid endian-specific code
2014-02-10 10:36:05 -08:00
Martin Storsjö
80862eec77
Use the C++ constants true/false instead of defining our own
...
TRUE/FALSE has intentionally been left in use for the few
platform specific APIs that define these constants themselves
and expect them to be used, for consistency.
2014-02-10 08:06:37 +02:00
Martin Storsjö
f2bd22acd5
Use char instead of str_t
2014-02-10 08:06:37 +02:00
Martin Storsjö
7b96c6756e
Use void instead of void_t
...
There's really no reason for adding a typedef for void.
2014-02-10 08:06:33 +02:00
Martin Storsjö
2b77fe7f49
Use bool instead of bool_t
...
bool is one of the built in, standard types in C++, there's no need
for a typedef for it.
2014-02-10 08:05:09 +02:00
Martin Storsjö
17d7b5d72e
Use bool_t instead of BOOL_T
...
One bool typedef is already more than enough, two is too many.
2014-02-10 08:05:09 +02:00
Martin Storsjö
0f7a958ce3
Move declarations of functions in mc_chroma/luma.asm into a header in common
2014-02-10 08:05:02 +02:00
Martin Storsjö
ad209c2d14
Move declarations of functions in expand_picture.asm into a header in common
2014-02-10 08:05:02 +02:00