Commit Graph

39 Commits

Author SHA1 Message Date
ruil2
325c63d0ca Merge pull request #1047 from mstorsjo/cpufeatures-armv8
Update the generic 32 bit arm linux cpu feature detection to support 64 bit kernels
2014-07-01 14:53:52 +08:00
Martin Storsjö
04c6c95577 Update the generic 32 bit arm linux cpu feature detection to support 64 bit kernels
On 64 bit kernels, /proc/cpuinfo doesn't list the same old features
as on 32 bit kernels, since most of them are mandatory on 64 bit arm
systems, see [1] for details.

If running a 32 bit arm binary on such a kernel, we need to detect
the features slightly differently, either by using other names
listed in the Features field on these devices, by checking the
"CPU architecture" field and always enabling these if the architecture
is >= 8, or by parsing /proc/self/auxv or using the getauxval function.

[1] http://marc.info/?l=linux-arm-kernel&m=139087240101974
2014-06-30 09:51:49 +03:00
Martin Storsjö
4af37a7d21 Move common tables and definitions into the common library 2014-06-30 09:03:10 +03:00
zhilwang
1780a81a1d Merge pull request #1042 from mstorsjo/avoid-ios-build-warnings
Avoid warnings when building for iOS
2014-06-30 10:06:52 +08:00
Martin Storsjö
b5407915cc Avoid warnings when building for iOS
Get rid of warnings by avoiding mixing data types unnecessarily,
and by adding casts.
2014-06-29 16:03:34 +03:00
Martin Storsjö
66deed24b8 Implement WelsCPUFeatureDetect for AArch64
Previously it actually didn't return any cpu flags at all.
2014-06-27 23:57:42 +03:00
ruil2
1ffcd36c70 change void* to explicit type definition 2014-06-27 11:34:47 +08:00
Haibo Zhu
daf67d607f add win 64 warnings remove 2014-06-19 18:31:39 -07:00
ruil2
44b048edd6 move trace related info to interface header 2014-06-11 17:05:40 +08:00
Martin Storsjö
dc91e0958b Integrate the lone function from logging.cpp into welsCodecTrace.cpp 2014-06-11 08:08:56 +03:00
Martin Storsjö
6e5f31214a Add a method for overriding the logging function in welsCodecTrace 2014-06-11 08:08:56 +03:00
Martin Storsjö
ce8065fe68 Don't use global variables in welsCodecTrace
This allows actually honoring the requested log level
properly if there are multiple codec instances within
the same process.
2014-06-11 08:08:56 +03:00
Martin Storsjö
cb5ee6c239 Remove the global log callback function
Now all logging should use a non-null log context, allowing to
pass the messages to the right recipient.
2014-06-11 08:08:56 +03:00
Martin Storsjö
8bac9315e6 Expose a SLogContext from welsCodecTrace 2014-06-11 08:08:29 +03:00
Martin Storsjö
4e428ab020 Add a log context to the encoder and decoder contexts
This will allow setting non-global logging callbacks, that
are different for each encoder or decoder instance.
2014-06-11 08:08:29 +03:00
Martin Storsjö
c8b81b4239 Only keep one single trace function pointer in welsCodecTrace 2014-06-11 08:08:29 +03:00
Martin Storsjö
20e889fadb Change CM_WELS_TRACE to take a plain string, not a format and variadic arguments
The format string was always "%s" anyway.
2014-06-11 08:08:29 +03:00
Martin Storsjö
5e22d5366e Remove the unused level parameter to welsStderrLevelTrace 2014-06-11 08:08:29 +03:00
Martin Storsjö
cfc9367610 Remove WelsStderrSetTraceLevel
The logging level is checked in welsCodecTrace anyway.

Previously, error logging wasn't ever shown if the trace
level was set to WELS_LOG_ERROR (as it was by default),
since welsStderrLevelTrace required the message level to
be strictly lower than the trace level.
2014-06-11 08:08:29 +03:00
Martin Storsjö
cc65a1d76c Don't include a [ENCODER]: prefix in all logging
The same trace module is used for the decoder now as well.
2014-06-10 10:52:26 +03:00
Martin Storsjö
17fc6bd66e Remove the unnecessary method WelsTraceModuleIsExist(), which always returned true 2014-06-10 10:52:26 +03:00
Martin Storsjö
d93488448e Remove some commented out lines 2014-06-10 10:52:26 +03:00
Martin Storsjö
968d87045d Remove an unnecessary local function 2014-06-10 10:52:26 +03:00
Martin Storsjö
40af75c19d Remove the unnecessary WelsSet/GetLogLevel functions
Nothing actually used the variable that these functions
handled.
2014-06-10 10:52:06 +03:00
Martin Storsjö
ba1de16ac2 Make internal logging variables static
This avoids polluting the global namespace.
2014-06-10 09:28:45 +03:00
Martin Storsjö
ab4fe3fdf4 Remove an unused variable 2014-06-10 09:27:54 +03:00
ruil2
4c12f8970c cleanup trace module 2014-06-10 10:24:45 +08:00
ruil2
14e5d740cd clean up expand picture. 2014-05-30 11:05:31 +08:00
Martin Storsjö
6b9167199f Use the built-in define __linux__ instead of the manually set LINUX 2014-05-12 12:14:33 +03:00
huili2
5ed24f216b astyle all files 2014-05-05 19:30:21 -07:00
Martin Storsjö
564d16c2ef Make Wels*Snprintf return values be non-negative
This makes sure the windows version of these functions behave
more like the posix version. The posix *snprintf returns how
much would have been written if the buffer had been large
enough, which we don't know easily in the windows versions.

This basically means that we can assume that the return value is
>= 0 now, which can simplify the calling code.
2014-04-21 22:03:20 +03:00
ruil2
b553468ad3 keep the declaration and definition in the same namespace 2014-04-17 09:45:26 +08:00
huili2
4ab8c88e98 divide copy_mb functions into new file for decoder use from encoder and add files for EC in decoder only. 2014-04-14 20:17:41 -07:00
Martin Storsjö
b35c21201b Use the Windows Runtime ThreadPool API for creating threads on Windows Phone
Windows Phone lacks the old CreateThread/beginthreadex APIs for
creating threads. (Technically, the functions still do exist,
but they aren't officially supported and aren't visible in the
headers when targeting Windows Phone.)

Building code that uses the Windows Runtime language extensions
requires building with the -ZW option.
2014-04-01 11:18:49 +03:00
Martin Storsjö
f293d26a62 Use more modern versions of functions that don't exist on Windows Phone 2014-04-01 11:18:48 +03:00
Martin Storsjö
4bcb03c5a0 Remove the unused function WelsSleep
Windows Phone 8 doesn't have Sleep(), but there's no need to
use the function at all.
2014-04-01 11:18:48 +03:00
volvet
9f50e0c91e clean multi-threading macro 2014-03-31 18:24:10 -07:00
ruil2
6b3f89d582 move some common functions to common.cpp and add some functions in common 2014-03-25 15:35:55 +08:00
Licai Guo
e39de8d404 reoranize common to inc/src/x86/arm 2014-03-18 19:41:32 -07:00