Martin Storsjö
0ce42ffb89
Rename WelsVsprintf to WelsVsnprintf, to indicate that it actually checks the length
2014-01-27 12:05:53 +02:00
Martin Storsjö
e42e82aa1f
Make WelsVsprintf use vsnprintf, to check the buffer size
...
Otherwise builds on platforms other than MSVC might be
insecure.
Use vsnprintf_s with the _TRUNCATE flag instead of vsprintf_s
when using MSVC - this truncates the buffer instead of aborting
the whole process in case it's too small.
2014-01-27 12:05:39 +02:00
Martin Storsjö
c174dcd652
Remove the FOPEN macro, use WelsFopen instead
...
This avoids ifdefs at each place the macro is used.
2014-01-27 10:29:05 +02:00
Martin Storsjö
109fecc547
Consistently use inline instead of __inline
2014-01-27 08:44:48 +02:00
Martin Storsjö
2f5f25b7e3
Merge the encoder/decoder crt_util_safe_x.h into the common lib
2014-01-27 08:03:03 +02:00
Martin Storsjö
8062596d23
Fix building threading for freebsd
...
FreeBSD (and at least NetBSD as well) still use hw.ncpu without
deprecating it, contrary to apple.
2014-01-26 10:40:24 +02:00
volvet
8420fd3454
Merge pull request #210 from mstorsjo/cleanup-macros
...
Cleanup the common/macros.h header
2014-01-25 01:05:27 -08:00
Ethan Hugg
58c33b8ee8
Merge pull request #205 from mstorsjo/cleanup-trace
...
Remove the unused dllname parameter to the trace function
2014-01-24 10:46:51 -08:00
Martin Storsjö
89f2c8bf7c
Remove a duplicate median function
...
The decoder used WelsMedian while the encoder used WELS_MEDIAN.
The former has two different implementations, WELS_MEDIAN was
identical to the disabled version of WelsMedian.
Settle on using the same implementation for both decoder and
encoder - whichever version of the implementations is faster
should be used for both.
2014-01-24 15:57:11 +02:00
Martin Storsjö
95ed830342
Clarify ifdefs around implementations of ENDIAN_FIX
2014-01-24 15:57:11 +02:00
Martin Storsjö
af76ec0a6b
Bundle all MSVC/GCC alignment macros together
...
This reduces the number of lines spent on having the same
ifdef conditions over and over.
2014-01-24 15:57:11 +02:00
Martin Storsjö
9d16e0f897
Remove an unnecessary define of inline for APPLE_IOS
...
The standard inline keyword is supported just fine when building
for iOS, there's no need to define it there.
2014-01-24 15:57:11 +02:00
Martin Storsjö
d932509994
Move the definition of WELS_ALIGN out from the #if
...
Both versions of WELS_ALIGN are identical, so there's no need to
be able to switch between the two.
2014-01-24 15:57:11 +02:00
Martin Storsjö
232ba77a1e
Remove some unused macros
2014-01-24 15:57:10 +02:00
Martin Storsjö
cfe4e0e2f8
Remove duplicate defines
...
These are defined identically just a few lines above.
2014-01-24 15:50:26 +02:00
Martin Storsjö
0f18b31d91
Remove unused defines of __FASTCALL
2014-01-24 15:50:26 +02:00
Martin Storsjö
7df69c1482
Remove an unnecessary field from generated makefiles
2014-01-24 15:02:40 +02:00
Martin Storsjö
fd44db01f6
Fix a typo, "vender" -> "vendor"
2014-01-24 15:01:31 +02:00
Martin Storsjö
1f5d786d6a
Remove the unused dllname parameter to the trace function
2014-01-24 12:04:29 +02:00
Ethan Hugg
256cd0f610
Merge pull request #172 from volvet/win64_float_fix_for_enc_b
...
fix win64 float issue, enable AQ assembly
2014-01-22 17:25:03 -08:00
Martin Storsjö
5e10951c47
Use sysctl instead of the deprecated Gestalt API for getting the number of cores on OS X
...
Also use the __APPLE__ predefined define instead of MACOS for enabling
these code paths.
This also avoids having to link to the CoreServices framework in
order to get the Gestalt function.
2014-01-22 09:44:49 +02:00
Martin Storsjö
af6feaa45c
Use sched_getaffinity to get the number of cores on linux
...
This gets rid of the code that parses /proc/cpuinfo, and avoids
forking within the library.
The previous code also failed build on modern glibc versions
due to ignoring the return value of the system, read and write
system calls.
2014-01-22 09:44:48 +02:00
Martin Storsjö
68f32c3c29
Move the WelsThreadLib files to the common directory/library
...
This simplifies building the thread library code via the
makefile based build system.
2014-01-21 15:11:07 +02:00
volvet
5c9f447c0e
fix win64 float issue, enable AQ assembly
2014-01-21 11:16:48 +08:00
V
a6463be0cc
Allow yasm to be used instead of nasm.
...
http://www.nasm.us/doc/nasmdoc3.html#section-3.4.1 says a zero should
follow $ in numeric constants, but yasm complains about it when not
followed.
2014-01-18 13:59:24 +01:00
Ethan Hugg
2011a7407e
Merge pull request #147 from volvet/illegal_assembly_fix
...
fix illegal instruction use
2014-01-17 14:13:24 -08:00
Martin Storsjö
b842ff30e5
Make the compiler/ar/linker file output parameters overrideable
...
This is in preparation for allowing building using MSVC via
makefiles.
2014-01-17 12:06:11 +02:00
Martin Storsjö
d7c907198b
Fix building in MSVC 2012 by avoiding redefining the inline keyword
...
While building succeeds in MSVC 2008, it currently fails in 2012
due to error C1189 "The C++ standard library forbids macroizing
keywords", which is caused by doing "#define inline __inline" in
the macros.h header.
This could have been missed before since it only was triggered
if macros.h was included before some other system header was
included that contained checks against these inline defines.
2014-01-17 12:04:27 +02:00
volvet
856f186b8e
fix illegal instruction use
2014-01-16 15:57:22 +08:00
Martin Storsjö
65b339815e
Get rid of trailing whitespace in the assembly source files
2014-01-13 20:12:04 +02:00
Martin Storsjö
ddcfc09c49
Convert some assembly files to unix newlines
...
This makes them consistent with the rest of them.
2014-01-13 20:12:04 +02:00
Martin Storsjö
c5ee5f8f05
Remove an unused variable
2014-01-13 12:11:37 +02:00
volvet
14f6c4fa72
Merge pull request #131 from mstorsjo/win64-asm
...
win64: Use rsp instead of esp
2014-01-12 00:42:29 -08:00
Ethan Hugg
4a8a9aabc1
Merge pull request #122 from volvet/core_number_detect_fix
...
Core number detect fix
2014-01-11 11:29:45 -08:00
Martin Storsjö
a78f1b2650
win64: Use rsp instead of esp
...
Using esp works by coincidence as long as the stack pointer is
within the first 4 GB of the address space - which seems to work
as long as the test binary is built with /dynamicbase:no, but breaks
if this option is removed.
2014-01-11 13:12:35 +02:00
volvet
ccaef9fc6d
protect code if cpuid.4 return eax as zero
2014-01-11 18:56:22 +08:00
volvet
f2a14600a5
check cpuid max level before use cpuid.4
2014-01-10 15:32:35 +08:00
ekr
eeb11578ca
Merge pull request #123 from licaiguo/update-vs2010-files
...
Update vs2010 files
2014-01-09 18:07:57 -08:00
volvet
1834cb3aca
Merge branch 'master' of https://github.com/cisco/openh264 into core_number_detect_fix
2014-01-10 09:06:27 +08:00
Martin Storsjö
3b0844e400
Regenerate the targets makefiles
...
Commit f38111d76b
updated these files
manually (based on older versions of them) to something not generated
by the current mktargets.py/sh, losing the compact pattern rules.
2014-01-09 11:30:40 +02:00
volvet
0e38e5c4e7
add exception handler, the AMD cpu must be single core if it do not support HTT
2014-01-09 16:59:07 +08:00
Licai Guo
77fd9aa4f0
merge macros.h to common/macros.h
2014-01-09 15:41:24 +08:00
licaiguo
8a1922837d
update vs2010 files, we need to merge macros.h.
...
Currently We keep three copies
2014-01-09 15:11:36 +08:00
volvet
02e4bf6e9d
fix UNIX64 and WIN64: use ecx as input param
2014-01-09 12:31:13 +08:00
volvet
ed8081022b
fix cpu core query via cpuid
2014-01-09 12:18:30 +08:00
Licai Guo
f38111d76b
file a new commit
...
Squashed commit of the following:
commit 26be4c66686d2d75ba1eb381ae562d30474429b2
Merge: 91bde82 8df0566
Author: Licai Guo <guolicai@gmail.com>
Date: Wed Jan 8 16:56:49 2014 -0800
Merge remote-tracking branch 'upstream/master' into move_to_common
Conflicts:
codec/common/targets.mk
codec/console/dec/targets.mk
codec/decoder/targets.mk
codec/encoder/targets.mk
codec/processing/targets.mk
commit 91bde8209dad40eaa0b26cc75467e4ce52b4c8ae
Merge: c827054 cc2ffee
Author: Licai Guo <guolicai@gmail.com>
Date: Tue Jan 7 20:16:11 2014 -0800
Merge remote-tracking branch 'upstream/master' into move_to_common
commit c8270543fab8e40cb4aebf62d7646068afe19484
Author: Licai Guo <guolicai@gmail.com>
Date: Mon Jan 6 19:12:39 2014 -0800
enable WelsScan4x4DcAc_ssse3
commit c8d2823d54e54cab146098302441ef44a4638382
Author: Licai Guo <guolicai@gmail.com>
Date: Mon Jan 6 18:46:06 2014 -0800
remove trailing white spaces
commit 39866a9cf54db6120aabd6a01afd4aedbead8af0
Author: Licai Guo <guolicai@gmail.com>
Date: Mon Jan 6 18:06:10 2014 -0800
move common code(deblocking and cpu) to common, rename decoder's
Intra-prediction functions prefix.
2014-01-08 17:03:00 -08:00
Martin Storsjö
80669ed059
Use make patterns to avoid needing autogenerated rules for each source file
2014-01-08 16:33:35 +02:00
Martin Storsjö
44240ce778
Remove the executable bit accidentally set on an asm source file
2014-01-05 14:43:53 +02:00
volvet
ec84f4bcc9
resolve conflict
2014-01-03 14:49:45 +08:00
Martin Storsjö
785ac16d28
Use $(AR) instead of explicitly calling 'ar'
...
This simplifies overriding the command used, e.g. for cross
compilation.
2013-12-17 12:29:21 +02:00
Ethan Hugg
ff6b669176
Pretty printed the C++ code with astyle
2013-12-12 14:21:12 -08:00
EKR
fb429bbf67
Add gtest support
2013-12-12 10:56:52 +08:00
Ethan Hugg
2ca14fed1c
Rebase of EKR's patches for tracing and frame size
2013-12-11 06:51:26 -08:00