Commit Graph

362 Commits

Author SHA1 Message Date
James Zern
6ea881cc12 rtcd: handle armv7s architecture
quiets build warnings about implicit (armv6) function declarations

Change-Id: I896a5ef3e367e5bb92777a60d34003eb3a040997
2014-12-15 18:39:51 -08:00
James Zern
d356dce759 iosbuild: add success/failure output
Change-Id: I84492f68752321f0266141666e2672ed2da5f509
2014-12-12 19:45:15 -08:00
Tom Finegan
53a0ed84ac Merge "iosbuild.sh: Add targets argument." 2014-12-12 16:14:12 -08:00
Tom Finegan
bc74a2f33b iosbuild.sh: Add targets argument.
Allows override of default target list. Also added missing usage info
for --extra-configure-args, and removed last vestiges of armv6 support.

Change-Id: Ic0f14fffa0cbaea1bed371d38ff65e035bbe3273
2014-12-12 13:53:58 -08:00
James Zern
5fe9a5c649 don't set INLINE to 'always_inline'
INLINE is used quite widely in vp9, this change improves performance
1-2% on most modern platforms.

Change-Id: I8a9974aab89fa588ea4923cc7eaf6199e344a528
2014-12-12 11:18:00 -08:00
Johann
e577098079 Disable neon assembly when neon is disabled
Change-Id: Idde266cd7287bb6bee016c90efeafa67550f94c6
2014-12-09 10:46:32 -08:00
Dim Temp
134384dd80 Extend x32 check by also checking for __x86_64__.
Currently, the configure script checks for x32 by testing just the
__ILP32__ define.  However, on "plain" i386, __ILP32__ can also be
defined, for example by clang 3.5.0 and higher.  (That gcc does not
define it there, is another issue, but not for this tracker.)

Therefore, extend the check by also checking for __x86_64__, which will
also be defined for x32.

BUG=887

Change-Id: I90ac1d6843caff0416e1dd360c0be3dbaa85c2ae
2014-12-03 13:51:58 -08:00
Johann
661802b61d Remove default cortex-a8 tuning.
Probably not even the dominant platform the library is being built for.
Add --cpu= option description to help. The option already exists.

Don't allow passing just --cpu as a no-op.

BUG=826

Change-Id: Iaa3f4f693ec78b18927b159b480daafeba0549c0
2014-12-01 11:08:59 -08:00
Johann
7efb302af9 Indent build/make/configure.sh
Whitespace changes only.

Change-Id: I92eef49db1798bc69ec003fca69995fea560d6fa
2014-11-21 17:32:08 -08:00
Johann
eafa0d0ce7 Remove armv5te target
All the assembly code has been removed, the tests no longer check for
the target, and android and chrome do not use the targets.

Change-Id: I193993f7b2b0bd6478453402f573ce3606e04e8d
2014-11-20 17:08:11 -08:00
Johann
6eec73a747 Remove asm offset dependencies
The obj_int_extract code is no longer worth maintaining. It creates
significant issues when adapting for different build systems and no
longer offers as significant of a performance benefit due to
improvements in intrinsics.

Source files will remain until the various third-party builds are updated.

The neon fast quantizer has been moved to intrinsics. The armv6 version
has been removed because so few remaining targets require it.

Compilers and processors have improved significantly since the
pack_tokens code was written. The assembly is no longer faster than the
C code.

pack_tokens were the only optimizations for the armv5te targets so the targets
will be removed after the test infrastructure has been updated.

BUG=710

Change-Id: Ic785b167cd9f95eeff31c7c76b7b736c07fb30eb
2014-11-06 16:00:01 -08:00
Tom Finegan
12e295d056 build/make/iosbuild.sh: Remove armv6 support.
Apple no longer supports armv6 targets in Xcode or iOS.

Change-Id: Ia7aa496afe62162c43c004530324406486c9a052
2014-10-22 16:26:14 -07:00
Tom Finegan
a5fb9f2ad1 Fix iphonesimulator and armv6-darwin build targets.
- iphonesimulator: IOS_VERSION_MIN was declared in the wrong place.
- armv6: linking via ld instead of CXX is basically required.

Change-Id: Iad187691f633dcf2bc3e3590e88084bb926edb76
2014-10-01 13:33:34 -07:00
Tom Finegan
bd2a9bdd66 iOS build configuration updates.
Commit message longer than commit edition.

Simulator and devices:
  Add a common minimum iOS version that can be shared by iOS and iOS
  simulator targets.

Fix --enable-debug (for device targets; sim was fine):
  Allow for successful configuration and build with --enable-debug when
  CXX is available by:

  - Using CXX as LD (when CXX is available).
  - Passing the correct form of the iOS minimum version parameter based on
    whether LD is CXX or really is ld.

  Note: ld -g still won't work on macosx with this patch, so if CXX is not
  available, configuration will still fail reporting that the toolchain
  cannot link executables when attempting to pass --enable-debug (because
  ld returns an error code since the one included with xcode doesn't
  support the -g argument).

Change-Id: Ia488aed167cc2ca82ee9e980589fb76dddce634f
2014-09-30 20:17:03 -07:00
James Zern
0a9e39fd76 iphonesimulator: make iOS 6 the minimum requirement
iOS 5 support isn't available in the Xcode 6 install; iOS 6 covers
phones starting at the 3GS, so should be a reasonable base line

Change-Id: I15572ec0dd73f1ffc88c58120c706384a01f2478
2014-09-25 18:53:23 -07:00
Tom Finegan
2be2c7d4b4 Merge "build/make/iosbuild.sh: Support extra configure args." 2014-09-19 15:18:09 -07:00
Tom Finegan
c1139eccc5 Merge "build/make/rtcd.pl: Add missing arm64 support." 2014-09-19 15:17:45 -07:00
Tom Finegan
c7681620c2 build/make/iosbuild.sh: Support extra configure args.
Change-Id: I9860ac1bb0180315e26987c5fc53d814ea1f0283
2014-09-19 11:35:46 -07:00
Tom Finegan
c47e420d1a build/make/rtcd.pl: Add missing arm64 support.
Treats arm64 the same as armv8.

Change-Id: Ia5029f7bbff251d5aa0836bcccdf20fa0a693891
2014-09-19 10:45:15 -07:00
James Zern
9d3fb75530 rtcd: relocate 'extern "C" {' declaration
Place after pulling in forward declarations from the codec. This fixes
compilation of the tests under vs9.

Since
10783d4 Adds high bitdepth transform functions and tests
where vp9_idct.h was added to vp9_rtcd.h the tests are pulling in
vp9_systemdependent.h, which under visual studio include intrin.h. With
VS9 these include headers which define helper classes for intel
intrinsics. When including it in the tests (via vp9_rtcd.h) __cplusplus
is defined but vp9_rtcd.h would wrap declarations in 'extern "C" {'
causing a mismatch in linkage which resulted in compilation failure.

Change-Id: I475e50198b71320e8606bc95c9454876d8799ede
2014-09-18 20:57:23 -07:00
Tom Finegan
aebb361bb7 Merge "build/make/iosbuild.sh: Be more explicit about armv7." 2014-09-16 10:17:59 -07:00
Johann
8645a53039 Allow specifying opt dependencies
If optimizations use more than one cpu feature, allow
specifying them so that '--disable-X' still works

https://code.google.com/p/webm/issues/detail?id=854

Change-Id: I3108ea37b397371a2be84dd5f2380b304db23f18
2014-09-11 13:43:48 -07:00
Tom Finegan
a3b594eeb1 build/make/iosbuild.sh: Be more explicit about armv7.
xcode defines __ARM_ARCH_7A__ for armv7, not __ARM_ARCH_7__.

Change-Id: I0184e253a856e74c133d987ec6f6990f0923bb29
2014-08-28 15:19:23 -07:00
James Zern
c5795d8f05 gen_msvs_(vcx)proj.sh: set yasm format explicitly
use win32/win64 instead of $(PlatformName) (Win32/x64) for compatibility
with yasm 1.3.0. both format types were available since at least 0.8.0

BUG=843

Change-Id: I7917620490d0663b118ff08b96d1e5dbccba3703
2014-08-22 15:28:40 -07:00
Gordana Cmiljanovic
1c31e3ecc0 Add support for MIPS64.
Change-Id: I78e27bf942b4a825543e76be25546b6458bad8b6
2014-08-15 20:16:52 -07:00
Johann
d39610a452 Merge "Require armv6/media when building armv7" 2014-07-31 12:47:38 -07:00
James Zern
8753f9c5e3 configure.sh: avoid test -a/-o for compatibility
Change-Id: I0bea5cbccd6938fb967299c1d903b60dd2096ccc
2014-07-29 23:25:15 -07:00
KO Myung-Hun
07fa6adfe1 Remove 'local' from configure and configure.sh
'local' is not posix.

Change-Id: I46d7acfa574cbef686cee1b35022f5781485c3fa
2014-07-29 18:41:52 -07:00
Johann
24fbfa42f1 Require armv6/media when building armv7
When building with runtime cpu detect assume that armv7 targets can be
relied upon to have at least armv6 support. This may allow dead code
detectors to remove some _c functions.

Change-Id: Iaec4414011fcbbdf6f4ed0d90ef4a8fe8af540b5
2014-07-29 11:28:23 -07:00
KO Myung-Hun
2926d24478 Makefile: add -mstackrealign to CFLAGS on OS/2
This prevents SIGSEGV of test_libvpx.

Change-Id: I788743841469f4141bc8d29b1d1a8683cb00655c
2014-07-29 22:49:25 +09:00
James Zern
29943519a7 rtcd.pl: check for auto_help availability
'auto_help' was added to Getopt::Long in 2.33
this isn't strictly necessary as an unrecognized option (--help) will
issue a warning and then print the usage

Change-Id: Ia757553a4e19d22a8eb70768a8866ab1a76a0eec
2014-07-24 14:55:19 -07:00
KO Myung-Hun
11f2d4df95 Makefile: strip debugging informations only
--strip-unneeded causes SIGSEGV when accessing g_executable_path. So
test_libvpx crashes due to SIGSEGV in ::testing::InitGoogleTest().

OS/2, aout, strip v2.23.2

Change-Id: I2718d082447ee0d9ad0c021b9156c50e1ac085a6
2014-07-23 20:26:52 -07:00
Yunqing Wang
765485cab2 Add -DNDEBUG when config option debug is disabled
For gcc, when libvpx config option debug is disabled, added the
flag -DNDEBUG to disable the assertions in libvpx for some speedup.

Change-Id: Ifcb7b9e8ef5cbe5d07a24407b53b9a2923f596ee
2014-07-21 09:20:03 -07:00
Tom Finegan
4fae926494 iosbuild.sh: Add VPX_FRAMEWORK_TARGET preproc symbol
Mainly for determining the actual arch when running performance
tests.

Change-Id: Ia6a1c4fcf83e6db1bf94f3e869d146ec32df02f8
2014-07-17 16:47:31 -07:00
Jim Bankoski
943e43273b allow config options to limit max size of decode
This is a practical concern to allow us to fail in a decoder instance
if the size of a file is bigger than we can reasonably handle.

Change-Id: I0446b5502b1f8a48408107648ff2a8d187dca393
2014-07-17 07:07:48 -07:00
James Zern
8bf4c43def configure: defer x32 check until post toolchain setup
x32 would never be detected unless an explicit CC= was used
fixes:
...: -E: command not found

Change-Id: I465fd7b0979f782053bdda240ad68edbca5658e5
2014-06-27 21:00:13 -07:00
James Zern
9cd90d465a Merge "iosbuild.sh Add arm64 support to VPX.framework." 2014-06-27 16:20:38 -07:00
Tom Finegan
1fba21a2b1 Merge "configure.sh: Tweak default of use_x86inc for 64-bit, non-pic, and Darwin." 2014-06-27 16:17:35 -07:00
Tom Finegan
e87d68138d Add arm64-darwin-gcc target.
Change-Id: I251cca45db54d2947868e2b9c35cb54f86b10706
2014-06-26 11:30:52 -07:00
Tom Finegan
08d75a8ec9 configure.sh: Tweak default of use_x86inc for 64-bit, non-pic, and Darwin.
Mainly a readability fix.

Change-Id: Idfd4de9f25d9b9f9931d8e885d9d031473d5df6d
2014-06-25 21:15:33 -07:00
Tom Finegan
9a5e9e73a7 iosbuild.sh Add arm64 support to VPX.framework.
Change-Id: I30b1813b744c11c0ca4e84554539cc524e7ee034
2014-06-25 18:56:31 -07:00
Tom Finegan
19125ae121 Merge "iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework." 2014-06-18 16:57:36 -07:00
Tom Finegan
13681121e1 iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework.
- Rename build_targets to build_framework
- Add functions for creating the vpx_config shim and obtaining
  preproc symbols.

Change-Id: Ieca6938b9779077eefa26bf4cfee64286d1840b0
2014-06-18 12:51:30 -07:00
James Zern
74ec6fbeba Merge "gen_msvs_proj: fix in tree configure under cygwin" 2014-06-17 19:35:03 -07:00
Tom Finegan
66bacc025a iosbuild.sh: Add missing function comments.
Change-Id: Ib23a59475d566a7b7f44071614d730ceecfcfa60
2014-06-16 17:04:38 -07:00
James Zern
0a0492611c gen_msvs_proj: fix in tree configure under cygwin
strip trailing '/' from paths, this is later converted to '\' which
causes execution errors for obj_int_extract/yasm. vs10+ wasn't affected
by this issue, but make the same change for consistency.

gen_msvs_proj:
+ add missing '"' to obj_int_extract call
  unlike gen_msvs_vcproj, the block is duplicated
  missed in: 1e3d9b9 build/msvs: fix builds in source dirs with spaces

Change-Id: I76208e6cdc66dc5a0a7ffa8aa1edbefe31e4b130
2014-06-16 14:32:06 -07:00
Tom Finegan
10db0f9f31 iosbuild.sh: Move to build/make and tidy up a bit.
Change-Id: I625beea9db4b5f6db8f177c580a3adeac760a662
2014-06-13 11:03:56 -07:00
Tom Finegan
5d35bc686b Merge "Add target armv7s-darwin-gcc." 2014-06-11 12:13:11 -07:00
Tom Finegan
cd2088b44f Add target armv7s-darwin-gcc.
Really just armv7. This is a convenience target intended to make iOS
development with libvpx easier. Xcode projects with default settings
will fail to build when a framework lacks armv7s support when targetting
iOS7.

Change-Id: I7eb80d52eec25501febc0d2c3c0b4ed964b8ed5b
2014-06-10 18:52:58 -07:00
James Zern
3659fbd38c Merge "Makefile: skip .d inclusion for 'testdata' target" 2014-06-10 15:58:59 -07:00