summaryrefslogtreecommitdiff
path: root/vpx_ports
AgeCommit message (Collapse)Author
2015-09-22Restrict get_msb inputsJohann
Add a warning and assert that inputs for get_msb must not be zero. Change-Id: I8c6f289ff13248f6e3a8bc24aab3712ed33022a6
2015-08-10Move vp9_systemdependent.h to vpx_ports bitops.h and system_state.hAlex Converse
Use system_state.h in vpx_dsp and remove unneeded includes of vp9_systemdependent.h. Change-Id: I92557ec6dd5aa790160b4f31fe7967db0d7ec3c4
2015-08-08vpx_ports/msvc.h: include math.h for ceil/floorJames Zern
fixes visual studio build errors Change-Id: I5d24f91c74572a75dfa77b9384d6614de231dc50
2015-08-08vpx_ports/x86.h: fix visual studio build warningJames Zern
test for WINAPI_FAMILY_PARTITION before using it Change-Id: I6b7a7b1ccd3332b31c73b733f88c997e30b22de8
2015-08-07Move the msvc round() replacement to msvc.hAlex Converse
Change-Id: If470411c3c62a27f52261f4ece2c5054b71789c7
2015-08-05Support build with Visual Studio 14.Ghislain MARY
Change-Id: Id0d7c19857e29b66c652c8cc1ab56b64e4fc0fa3
2015-05-27Don't #define snprintf in VS 2015 or higher.Johann
In VS 2015 and higher snprintf is supplied and therefore vsnprintf doesn't need to be defined. This also avoids problems caused by _snprintf being different from snprintf. This fixes a build break with VS 2015 and improves security. Originally submitted via chromium by brucedawson@chromium.org https://codereview.chromium.org/1055603003 Additionally break this MSVC-specific tweak to a new file, which will become the home of all such MSVC-specific things. This requires adding a dependency on msvc.h to every example which uses args.c and tools_common.h Change-Id: I35b5f8e7ea00f6627403aabc9ea79b0412557a99
2015-05-14Merge "Remove the BUILD_LIBVPX variable from the build system."Tom Finegan
2015-05-14Remove the BUILD_LIBVPX variable from the build system.Tom Finegan
Replace it with it's value (yes), which is constant. Change-Id: Ifb0c0408a53ecadf81156da6a64fa583b2ada746
2015-05-13Relocate memory operations for common codeJohann
With the sad functions, and hopefully the variance functions soon, moving to the vpx_dsp location, place the defines used in the reference C code in a common location. Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
2015-05-07replace DECLARE_ALIGNED_ARRAY w/DECLARE_ALIGNEDJames Zern
this macro was used inconsistently and only differs in behavior from DECLARE_ALIGNED when an alignment attribute is unavailable. this macro is used with calls to assembly, while generic c-code doesn't rely on it, so in a c-only build without an alignment attribute the code will function as expected. Change-Id: Ie9d06d4028c0de17c63b3a27e6c1b0491cc4ea79
2015-04-24x86_simd_caps: check max cpuid before testing AVX2James Zern
structured extended feature flags require eax = 7; avoids incorrectly detecting avx2 on some older processors that support avx. from [1]: INPUT EAX = 0: Returns CPUID’s Highest Value for Basic Processor Information and the Vendor Identification String [1] http://www.intel.com/content/www/us/en/processors/processor-identification-cpuid-instruction-note.html Change-Id: I6b4735b5f7b7729a815e428fca767d1e5a10bcab
2015-04-15Reorganize *_rtcd() calling conventionsJohann
Change-Id: Ib1e17d8aae9b713b87f560ab5e49952ee2bfdcc2
2015-03-18Remove last remnants of obj_int_extractJohann
Change-Id: Icc7da6027763b5ed7cbfe70ffe271103ead59fe1
2015-01-23x86: correct OSXSAVE + AVX bit checkJames Zern
the result should have both bits set; previously this was converted from webp incorrectly and resulted in a boolean check... Change-Id: I2a7c7f2b491945f3a536ab4fca02247eccc892b8
2015-01-15fix AVX & AVX2 detectionJames Zern
fixes issue #790 which resulted in a SIGILL on OpenBSD code is mostly from libwebp, based on the following: https://software.intel.com/en-us/articles/how-to-detect-new-instruction-support-in-the-4th-generation-intel-core-processor-family Change-Id: Ida7c1a18261e98c05ed9c662068140be407ec107
2014-12-12x86_abi_support: set LIBVPX_RAND w/vp9-postprocJames Zern
set LIBVPX_RAND with --enable-vp9-postproc, previously only the vp8 config was checked. this fixes the build with --disable-postproc. Change-Id: Ia61baded6aa0e44d6443ae4a3c85915f1054f053
2014-11-06Remove asm offset dependenciesJohann
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-09-25Clarify GCC version checkJohann
The version check was incorrectly matching some versions of clang which reported as gcc 4.2 Change-Id: I686d3576e71883fe1463206b56ab5e2aa9bb68a8
2014-09-14vp8/vp9: neon: msvc: move the 'ifdef _MSC_VER' bit to vpx_ports/mem.h.Jia Jia
fix compiling warning. Change-Id: If8706a9046436f704c597e4275a6810c76ba7daa
2014-09-09Restructure ARM assumptions in cpudetectJohann
Allow building for targets which have NEON but not EDSP or MEDIA. Set HAS_NEON flag for builds which have neon assembly but not intrinsics. Change-Id: Ibfa81a8444a8c55d1d3209c533d1d70d2f809669
2014-08-18Include vpx_config.h in vpx_timer.hJohann
vpx_timer.h uses several defines from the config file including CONFIG_OS_SUPPORT and INLINE Change-Id: I16cb45237787cbc1ae79a67e16b8042811dda336
2014-08-12inline vpx functions in headers to avoid unused function warningJim Bankoski
Change-Id: I80284ae82915b9df56f7c5ef4953bd53e8cffd1f
2014-08-12fixes several -Wunused-function warningsJim Bankoski
Change-Id: I4dc2cb255f4fe30998b6ee61184895dee9f5da8e
2014-07-29vpx_once: implement once() for OS/2KO Myung-Hun
Change-Id: I9f736f299490464bbdbb6cd24ee6f5b46ad45ec6
2014-06-12Use lrand48 on AndroidJohann
When building x86 assembly use lrand48 instead of the undocumented inlined _rand function. Android now supports rand() https://android-review.googlesource.com/97731 but only for new versions. Original workaround: https://gerrit.chromium.org/gerrit/15744 Change-Id: I130566837d5bfc9e54187ebe9807350d1a7dab2a
2014-05-04Don't try to use getenv on windows phone/rtMartin Storsjo
The getenv function doesn't exist there. In Visual Studio 2012, the function still existed in the link libraries even though it was hidden in the headers, but in the 2013 version it has been removed from the link libraries as well. Change-Id: Iea6289a698fa1788e906f5aabb6fddda3675815b
2014-02-26Reusing mem_get_le{16, 32} defined in vpx_ports/mem_opts.h.Dmitry Kovalev
Change-Id: If4b5209ac14aaba6f1c1014bc0497baa8eabfaff
2014-02-11Removing x86_cpuid.c.Dmitry Kovalev
The file has implementation of only one function vpx_x86_vendor() which is unused. Change-Id: Icf8d7ee67cc8372affb7b5a436328cecdfd5e291
2014-01-23vpx_ports: add extern "C" to headersJames Zern
Change-Id: Iba9b198ce78b3f8b644feba064f83abc247e75dd
2013-12-16vpx_ports: normalize include guardsJames Zern
Change-Id: I4e931aadecfe1761c720b080bdd67a1875794979
2013-12-09Add include guards to setupintrarecon.h and vpx_once.hEhsan Akhgari
Change-Id: Ife17fc6369ce32f36d5c7f8a2ef5a3b7724d81b9
2013-11-22Added cpuid compatibility for older MSVC versionsYaowu Xu
Change-Id: I891bf936e03411ca611620e7cb2eb5081993a346
2013-11-21Fix the cpuid macro for x86_64 non-gcc buildYaowu Xu
Change-Id: I0c44800db10db8d74c1ddfe89abecfd1c53d0f8d
2013-11-20Support for extended feature flags enumeration leaf in CPUID instructionErik Niemeyer
This CL fixes an overcite with the AVX2 support CL previously merged (Change-Id: Idc03f3fca4bf2d0afd33631ea1d3caf8fc34ec29) that prevented runtime execution of AVX2 code in WebM. Background: Starting with the Sandybridge processor, the CPUID instruction was enhanced to add various extended feature flag enumeration leaves. Reading these leaves requires an additional input value for the CPUID instruction which is stored in ECX. This change adds this second input value for all ARCH_X86 and ARCH_x86_64 targets to the CPUID macros, allowing checks of EBX bit 5 for AVX2 support. This capability will be required moving forward to check for future processor features. Change-Id: Ie9d872bc9ff68dad4b6578e4544e4dfd0ae26c36
2013-10-29CL for adding AVX-AVX2 support in libvpx.Erik Niemeyer
Change-Id: Idc03f3fca4bf2d0afd33631ea1d3caf8fc34ec29
2013-06-17vpx_ports/x86.h: de-dup #elif blockJames Zern
Change-Id: I052647e13dd24354888c890f6b4a987d989552ae
2013-05-01Merge "Add cpu detection for Android x86"Johann
2013-05-02Add cpu detection for Android x86changjun.yang
Change-Id: I3fe24001cda08d7322b630f65c5e3fad881f8036
2013-04-26code cleanup for arm_cpudetect.cchangjun.yang
Change-Id: I5c49a983ced45197e1035fa5615d71b0bdad4109
2013-03-05Code cleanup.Dmitry Kovalev
Removing redundant 'extern' keywords, fixing formatting and #include order, code simplification. Change-Id: I0e5fdc8009010f3f885f13b5d76859b9da511758
2013-01-31Add support for x64 and win64 yasm flags.Frank Galligan
Some projects must define only win64 for Windows 64bit builds using yasm. Change-Id: I1d09590d66a7bfc8b4412e1cc8685978ac60b748
2013-01-2564-bit Mac Chromium support for libvpx.Mark Mentovai
For 64-bit Mac Chromium, use private_extern for HIDDEN_DATA, the same as 32-bit Mac Chromium. Change-Id: Ica0fa9e48a47409facece691ae1e39327369083c
2013-01-14Use INT64_MAX instead of LLONG_MAXJohn Koleszar
These variables have the type int64_t, not long long. long long could be a larger type than 64 bits. Emulate INT64_MAX for older versions of MSVC, and remove the unreferenced vpx_ports/vpxtypes.h Change-Id: Ideaca71838fcd3849d816d5ab17aa347c97d03b0
2012-12-27Merge branch 'vp9-preview' of review:webm/libvpxJohn Koleszar
Merge the vp9-preview branch into master. Change-Id: If700b9054676f24bed9deb59050af546c1ca5296
2012-12-26Build fixes to merge vp9-preview into masterJohn Koleszar
Various fixups to resolve issues when building vp9-preview under the more stringent checks placed on the experimental branch. Change-Id: I21749de83552e1e75c799003f849e6a0f1a35b07
2012-12-20add emmintrin_compat.h for builds with gcc < 4James Zern
Change-Id: If7822e6fcd0d3568b934032322b19ba3e401df26
2012-12-11Revert "Upstream build bug for chromium"Johann
This reverts commit 8bb82fded57f6316fdfd103d565050d0f1286bc5. This is an incorrect workaround. It has been fixed in the GYP files upstream. Change-Id: If42f997747ce878b874508fdf7ae5a73a6fa1b2b
2012-11-19Upstream build bug for chromiumJohann
https://codereview.chromium.org/11413061/ The Android NDK automatically manages the include directories. Trying to do so manually for the Android GYP files can cause the wrong setjmp.h to be included. Change-Id: I5c3769f983fcbad1ed602feda781690c6e4e97b3
2012-11-15Sequester vpx_ports file listJohann
Move BUILD_LIBVPX evaluation before the include. Change-Id: I8860414c42a8161765a17bf433ff2607c0d027ca