152 Commits

Author SHA1 Message Date
Frank Barchard
177d344ed7 enable unused parameter warning
android.mk builds have unused parameter warning on by default.
This change for GN makes libyuv build the same way.

BUG=libyuv:681
TEST=build on linux with clang and ninja.

Change-Id: I76c627d446b96653f147725bca915d94a42ce9a6
Reviewed-on: https://chromium-review.googlesource.com/441194
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-02-14 01:33:57 +00:00
Frank Barchard
e62309f259 clang-format libyuv
BUG=libyuv:654
R=kjellander@chromium.org

Review URL: https://codereview.chromium.org/2469353005 .
2016-11-07 17:37:23 -08:00
Frank Barchard
e16e3a629f cpu_id cleanup. no functional change.
remove old comment about initialize to zero.
remove ifdef and replace with macro defined to zero.

BUG=None
TEST=try bots
R=kjellander@chromium.org

Review URL: https://codereview.chromium.org/2425623004 .
2016-10-18 12:26:02 -07:00
Frank Barchard
fdcf524aac Add f16c (halffloat) cpuid
R=wangcheng@google.com, hubbe@chromium.org
BUG=libyuv:560

Review URL: https://codereview.chromium.org/2418763006 .
2016-10-14 16:34:08 -07:00
Frank Barchard
34a29bf756 fix warning on visual C for mips cpu detect
follow up warning fixs
cpu_id.cc(167): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
lint warning: cpu_id.cc:171:  Missing space before ( in if(  [whitespace/parens] [5]

TBR=manojkumar.bhosale@imgtec.com
BUG=libyuv:634
TEST=try bots for windows.

Review URL: https://codereview.chromium.org/2365813002 .
2016-09-22 18:25:52 -07:00
Frank Barchard
c5323b0fdc Add MIPS SIMD Arch (MSA) optimized MirrorRow function
As per the preparation patch added in Chromium sources at,
2150943003: Add MIPS SIMD Arch (MSA) build flags for GYP/GN builds

This patch adds first MSA optimized function in libYUV project.

BUG=libyuv:634
R=fbarchard@google.com

Review URL: https://codereview.chromium.org/2285683002 .
2016-09-22 16:12:22 -07:00
Frank Barchard
c7372a323a add if defined(_MSC_FULL_VER) for NaCL
TBR=kjellander@chromium.org
BUG=libyuv:573
TESTED=try bots

Review URL: https://codereview.chromium.org/1850053002 .
2016-04-01 17:48:23 -07:00
Frank Barchard
76aee8ced7 Remove most clang-cl special cases from cpu_id.cc
They are not needed, and due to them there was a call to _xgetbv()
without a declaration of the function.  This used to work because we
implicitly included intrin.h in all translation units with clang-cl, but
we want to stop doing that.

BUG=chromium:592745
R=fbarchard@google.com

Review URL: https://codereview.chromium.org/1780473003 .
2016-03-10 14:01:26 -08:00
Frank Barchard
0d880e5bc0 rename MIPS_DSPR2 to DSPR2 for consistency
When attempting to normalize function names to end in Row_SIMD it was made
harder with MIPS_DSPR2 naming convention.
Other CPUs do not include the vendor.  This should be named consistently.

Removed the DISABLE_MIPS in favour of DISABLE_ASM for consistency with other
processors.

TBR=harryjin@google.com
BUG=libyuv:562

Review URL: https://codereview.chromium.org/1677633002 .
2016-02-05 14:49:54 -08:00
Frank Barchard
353ffbab80 fix for gcc compile error: variable duplicate define
TBR=harryjin@google.com
BUG=libyuv:529

Review URL: https://codereview.chromium.org/1512793002 .
2015-12-08 19:03:43 -08:00
Frank Barchard
dee77a4ebe Optimize yuv alpha blend AVX2 code to do 32 pixels at time.
out/Release/libyuv_unittest --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=9999 --libyuv_flags=-1 --gtest_filter=*I420Blend_Opt

Was LibYUVPlanarTest.I420Blend_Opt (2335 ms)
Now LibYUVPlanarTest.I420Blend_Opt (1937 ms)

vs SSSE3
LibYUVPlanarTest.I420Blend_Opt (2599 ms)

BUG=libyuv:527
R=dhrosa@google.com

Review URL: https://codereview.chromium.org/1505673003 .
2015-12-08 18:20:30 -08:00
Frank Barchard
fae1a10545 Work around bug in xgetbv for Visual Studio.
xgetbv is generating bad code, falsely disabling AVX2 and AVX512.
disable optimization for the function affected on older versions of Visual C 32 bit.

R=brucedawson@chromium.org, dhrosa@google.com, harryjin@google.com
BUG=libyuv:529

Review URL: https://codereview.chromium.org/1503393004 .
2015-12-08 18:13:32 -08:00
Frank Barchard
1f1d140bb6 remove mips dsp detect
DSP code is not actually used, only DSPR2.  Remove the detect.

TBR=harryjin@google.com
BUG=none

Review URL: https://codereview.chromium.org/1405043008 .
2015-11-03 16:57:40 -08:00
Frank Barchard
2844662e1c Add avx512bw detection code
R=harryjin@google.com
BUG=libyuv:514

Review URL: https://codereview.chromium.org/1413463004 .
2015-10-26 14:42:49 -07:00
Frank Barchard
1502832a70 switch cpu flags to 0 for unitialized to avoid compare
R=harryjin@google.com
BUG=libyuv:512

Review URL: https://codereview.chromium.org/1418253002 .
2015-10-23 10:57:42 -07:00
Frank Barchard
ad36ba5c48 initialize cpu flags to fix compile error on windows
R=harryjin@google.com
BUG=libyuv:512

Review URL: https://codereview.chromium.org/1422733003 .
2015-10-22 15:16:31 -07:00
Frank Barchard
9daa550a2e Move cpu_info variable outside ifdef
Fix compile error on arm, mips etc due to undefined variable.

TBR=harryjin@google.com
BUG=none

Review URL: https://codereview.chromium.org/1403373008 .
2015-10-20 16:32:44 -07:00
Frank Barchard
9be6d21ae7 write to cpu_flags once
To make init cpu flags thread safe, there can only be one write to the variable.

R=richard.winterton@intel.com, harryjin@google.com
BUG=libyuv:508

Review URL: https://codereview.chromium.org/1412793006 .
2015-10-20 16:24:01 -07:00
Frank Barchard
3eefeaeb69 test xsave before calling xgetbv.
R=agl@chromium.org, harryjin@google.com
BUG=libyuv:497

Review URL: https://codereview.chromium.org/1382803002 .
2015-09-30 17:25:41 -07:00
Frank Barchard
0bc626a5d7 nolint removed
R=harryjin@google.com
BUG=none

Review URL: https://webrtc-codereview.appspot.com/59389004.
2015-08-31 10:52:13 -07:00
Frank Barchard
6e7ef3fddc allow xgetbv to be disabled for drmemory testing
R=harryjin@google.com
BUG=none

Review URL: https://webrtc-codereview.appspot.com/56649004.
2015-08-04 15:00:39 -07:00
fbarchard@google.com
d28cd77f99 Enable assembly for clangcl build on Windows. Previously assembly was disabled so clangcl would work, but only with C code. As clangcl mimics both Visual C and GCC, ifdefs need to pick one or the other or often you'll end up with both. In this CL we disable most Visual C code and use the GCC versions which allow assembly for both 32 and 64 bit intel.
BUG=412
TESTED=clang=1 build on windows
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/51389004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1341 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-19 20:36:31 +00:00
fbarchard@google.com
35f0add66d cpuid ifdefs fixed to remove some duplicate code cases.
BUG=none
TESTED=local windows build
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/47619004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1332 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-16 20:02:04 +00:00
fbarchard@google.com
f713691a6f Change elif to endif and if to allow AVX2 as well as SSE2 in future changes instead of one or the other.
BUG=none
TESTED=try bots
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/30719004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1122 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-16 20:47:22 +00:00
fbarchard@google.com
c52d66d7da Detect asimd as same as Neon for Arm features. Used on Juno aarch64 linux.
BUG=361
TESTED=.\libyuv_unittest --gtest_filter=libyuvTest.TestLinuxNeon
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/31439004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1088 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-22 18:30:17 +00:00
fbarchard@google.com
aec76f2e30 add stride to pointer in C and pass as register to inline.
BUG=357
TESTED=clang on ios
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/29489004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1086 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-19 22:51:39 +00:00
fbarchard@google.com
bf24367476 Mingw xgetbv use gcc assembly not visual c.
BUG=349
TESTED=c:\mingw64\bin\x86_64-w64-mingw32-c++.exe -m32 -I include source/cpu_id.cc -c -o cpu_id.o
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/17139004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1049 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-18 23:45:59 +00:00
fbarchard@google.com
64455db9b1 cpuid include intrinsics header before using xgetbv
BUG=282
TESTED=vs2010sp1 build.
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/17109004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1046 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-15 01:23:54 +00:00
zhongwei.yao@arm.com
1afdfb3da8 arm64 neon optimization building is enabled
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1042 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-13 03:45:11 +00:00
fbarchard@google.com
451a7541b7 Check number of functions available to cpuid before fetching function 7 results.
BUG=343
TESTED=local test on Windows.
R=brettw@chromium.org, tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/12969004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1035 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-14 17:48:35 +00:00
fbarchard@google.com
9ffb92fae0 Detect clang-cl compiler and disable assembly for now.
BUG=341
TESTED=clang-cl /W0 -c -Iinclude source/cpu_id.c
R=harryjin@google.com, rnk@chromium.org

Review URL: https://webrtc-codereview.appspot.com/12939004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1033 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-09 17:55:23 +00:00
fbarchard@google.com
91dc3eddeb Fix C89 compile error for cpu detect. Make mips detection assume DSP if cpuinfo file can not be opened, so that if run in a sandbox, DSP is assumed true, like the arm version.
BUG=303
TESTED=cl /c /TC /Iinclude source/cpu_id.cc
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/10549004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@986 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-24 18:24:22 +00:00
fbarchard@google.com
6e618676dc More wordy comments about Neon
BUG=315
TESTED=untested
R=wuwang@google.com

Review URL: https://webrtc-codereview.appspot.com/9599004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@982 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-08 00:23:04 +00:00
fbarchard@google.com
cb3344ae25 If libyuv built with Neon, assume Neon is present on CPU.
BUG=315
TESTED=untested
R=nfullagar@chromium.org

Review URL: https://webrtc-codereview.appspot.com/9589004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@980 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-07 21:17:24 +00:00
fbarchard@google.com
2c8108e6c2 Detect pnacl and disable x86 specific code.
BUG=none
TESTED=untested
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/7099004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@968 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-14 00:36:31 +00:00
fbarchard@google.com
959b290a96 Port a few functions to C
BUG=303
TESTED=try bots
R=johannkoenig@google.com, tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/6599005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@950 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-06 22:37:28 +00:00
fbarchard@google.com
d9c9f37ac4 Conversions use malloc for row buffers.
BUG=296
TESTED=libyuv convert_test
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/6399004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@928 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-27 02:00:30 +00:00
fbarchard@google.com
064d2768a8 Windows Arm makefile and build fix.
BUG=290
TESTED=make -f winarm.mk
R=kjellander@google.com, mflodman@webrtc.org, tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/4839004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@890 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-03 19:13:53 +00:00
fbarchard@google.com
6368c10c9c Add __declspec(safebuffers) to functions with arrays on stack that have explicit checks to avoid a redundent compiler stack check.
BUG=none
TEST=unitests pass
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/3289004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@837 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-01 21:27:31 +00:00
fbarchard@google.com
f3871ce976 safebuffers requires vs2010
BUG=none
TEST=none
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/3259004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@836 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-31 22:25:04 +00:00
fbarchard@google.com
bcccd6b78d cpuid for older vc
BUG=263
TEST=none
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/3189004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@835 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-31 19:15:12 +00:00
fbarchard@google.com
11a0d48e45 pass parameter for yuv conversion
BUG=267
TEST=Luma
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/3169005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@834 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-31 05:47:13 +00:00
fbarchard@google.com
15df877b64 Use emit for xgetbv for compatibility with vs2005, vs2008 and vs2010 without sp1.
BUG=none
TEST=none
R=nfullagar@google.com, tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/3089005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@833 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-30 01:33:11 +00:00
fbarchard@google.com
2f9868f121 set EBX as output register
BUG=none
TEST=none
R=noahric@google.com

Review URL: https://webrtc-codereview.appspot.com/2699005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@823 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-22 00:55:44 +00:00
fbarchard@google.com
a721402a20 Disable xgetbv for NaCL
BUG=none
TEST=ncval
R=nfullagar@google.com

Review URL: https://webrtc-codereview.appspot.com/2719004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@822 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 22:59:51 +00:00
fbarchard@google.com
d2371686c2 Fix parameter name for cpuid on arm
BUG=276
TESTED=build bot
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/2699004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@820 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 20:58:25 +00:00
fbarchard@google.com
e35422d94b Fix AVX2 detect and a performance stall for gcc/clang.
BUG=276
TEST=Cpu unittest
R=nfullagar@google.com, ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/2401004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@817 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 18:10:59 +00:00
fbarchard@google.com
2bbb64df2c FMA3 version of Polynomial
BUG=265
TEST=cpuid and Polynomial unittest
R=changjun.yang@intel.com

Review URL: https://webrtc-codereview.appspot.com/2217004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@790 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-16 16:42:19 +00:00
fbarchard@google.com
f0627d7107 syntax error fix
BUG=none
TEST=none
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/1883004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@741 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-07-26 01:18:25 +00:00
fbarchard@google.com
4a1325ade5 Disable xgetbv on nacl for now as its not allowed under validator. Consider reenabling it when avx2 is allowed.
BUG=253
TEST=validator
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/1881005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@740 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-07-26 00:59:52 +00:00
fbarchard@google.com
eed4149e10 gcc msys compile ifdefs avoid Visual C inline
BUG=243
TEST=local compile with gcc
R=jkoleszar@google.com

Review URL: https://webrtc-codereview.appspot.com/1613004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@717 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-04 17:58:57 +00:00
fbarchard@google.com
0cc0b4df46 Neon Color Matrix avoid overflow
BUG=214
TEST=planar_tests
Review URL: https://webrtc-codereview.appspot.com/1276004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@644 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-05 04:13:21 +00:00
fbarchard@google.com
0057aeb1a9 ERMS detect work around for compiler bug
BUG=213
TEST=cpu tool/unittest under sde
Review URL: https://webrtc-codereview.appspot.com/1283006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@643 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-04 19:03:28 +00:00
fbarchard@google.com
2f620e18ed ERMS detect fix
BUG=213
TEST=cpuid tool and unittest
Review URL: https://webrtc-codereview.appspot.com/1201005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@639 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-03 23:21:27 +00:00
fbarchard@google.com
8c9de166a1 ERMS
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1265004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@625 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-28 09:33:26 +00:00
fbarchard@google.com
d8431003bb movbe remove - not useful so far.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1255004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@623 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-26 18:04:02 +00:00
fbarchard@google.com
cde587092f Replace two spaces with one after .
BUG=none
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/1063010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@553 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-28 00:02:35 +00:00
fbarchard@google.com
aa64b6b14c movbe instruction detect
BUG=none
TEST=cpu unittest
Review URL: https://webrtc-codereview.appspot.com/1027005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@527 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-08 18:43:49 +00:00
fbarchard@google.com
1d160cb99f Attenuate AGRB pixels NEON optimized
BUG=164
TEST=./libyuv_unittest --gtest_filter=*Atten*
Review URL: https://webrtc-codereview.appspot.com/937031

git-svn-id: http://libyuv.googlecode.com/svn/trunk@506 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-28 20:02:55 +00:00
fbarchard@google.com
6c1b2d38c6 Mips port of libyuv. Includes functionality for convert, rotate, scale and memcpy.
BUG=126
TESTED=tested by mips
Review URL: https://webrtc-codereview.appspot.com/930005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@449 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-26 22:49:18 +00:00
fbarchard@google.com
de07146fa4 ifdef around mips detect code
BUG=none
TEST=build on x86 linux
Review URL: https://webrtc-codereview.appspot.com/889005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@421 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-16 08:38:44 +00:00
fbarchard@google.com
bb6bddc9fb Style fixes for mips version of SplitUV for nv12/21
BUG=126
TEST=lint passes and rotate_test and cpu_test on try bot pass.
Review URL: https://webrtc-codereview.appspot.com/884004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@418 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-14 06:41:17 +00:00
fbarchard@google.com
ca41005256 mips version of SplitUV for nv12/21
BUG=126
TEST=rotate_test and cpu_test updated
Review URL: https://webrtc-codereview.appspot.com/879005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@416 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-14 06:01:19 +00:00
fbarchard@google.com
179054b813 Zero out the cpuinfo to make valgrind happy.
BUG=91
TEST=build bot
Review URL: https://webrtc-codereview.appspot.com/860015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@414 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-12 07:55:28 +00:00
fbarchard@google.com
c7277d08e8 Add convert_from_argb.h for all conversion functions from ARGB to something else.
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/857014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@408 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 23:10:53 +00:00
fbarchard@google.com
64ce0ab544 Move Neon source to its own files.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/860009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@396 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 00:05:29 +00:00
fbarchard@google.com
cc206dee46 Fix register used for YUY2 Neon
BUG=113
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/858008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@392 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-05 11:03:05 +00:00
fbarchard@google.com
6325869685 xgetbv instrinsic for 64 bit
BUG=106
TEST=untested
Review URL: https://webrtc-codereview.appspot.com/859005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@389 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-01 17:19:26 +00:00
fbarchard@google.com
8b826a65e6 Use emit for xgetbv on 32 bit.
BUG=106
TEST=none
Review URL: https://webrtc-codereview.appspot.com/863004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@388 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-01 16:45:48 +00:00
fbarchard@google.com
fc7314e86b Add exports to allow libyuv to be built as a shared lib.
BUG=99
TEST=shared lib builds without impact and unittests link against import lib.
Review URL: https://webrtc-codereview.appspot.com/844005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@379 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-27 02:17:51 +00:00
fbarchard@google.com
fb49764705 Use emit for xgetbv in vs2005
BUG=98
TEST=build with vs2005
Review URL: https://webrtc-codereview.appspot.com/845005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@375 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-26 00:10:54 +00:00
fbarchard@google.com
4c32b3a017 Port xgetbv to posix
BUG=98
TEST=none
Review URL: https://webrtc-codereview.appspot.com/848004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@374 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-25 23:46:44 +00:00
fbarchard@google.com
78070bc1ba Added CPUID change to detect AVX2.
BUG=98
TEST=none
Review URL: https://webrtc-codereview.appspot.com/839004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@373 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-25 19:13:04 +00:00
fbarchard@google.com
7c4656317c cpuid on nonx86 has an unused parameter.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/814004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@363 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 23:37:23 +00:00
fbarchard@google.com
b0c9797589 Update Copyright notice to follow new chromium conventions.
BUG=63
TEST=none
Review URL: https://webrtc-codereview.appspot.com/730004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@314 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 19:04:24 +00:00
fbarchard@google.com
133adc4647 followup cleanup for blur and make compilable with /clr
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/645007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@284 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-12 05:46:49 +00:00
fbarchard@google.com
7afffcc4d0 For cpu's with Neon, set arm as well. Make unittest allow testdata unaccessable but try proc/cpuinfo
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/610005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@273 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-30 18:30:03 +00:00
fbarchard@google.com
ab41581844 Change cpu id constants to hex to indicate they are flags. Reserve values for future flags. make unittest print in hex. Add environment variables to disable sse42 and avx.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/608006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@272 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-30 15:56:32 +00:00
fbarchard@google.com
4ae6b46ce1 Add SSE42 and AVX detect
BUG=none
TEST=libyuvTest.TestCpuHas
Review URL: https://webrtc-codereview.appspot.com/607006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@271 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-30 03:02:52 +00:00
fbarchard@google.com
0b0e91792f libyuv::CpuId as function to reduce header dependencies
BUG=none
TEST=libyuv_unittest.exe  --gtest_catch_exceptions=0 --gtest_filter=*Cpu*
Review URL: https://webrtc-codereview.appspot.com/566007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@259 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-08 02:04:22 +00:00
fbarchard@google.com
d05ec087d9 expose __cpuid for gcc/visual c compatibility
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/574004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@258 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-07 22:36:39 +00:00
fbarchard@google.com
4d3bd8343b unaligned sse4 djb2 cleanup
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/486001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@238 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-06 00:27:09 +00:00
fbarchard@google.com
c5d44a0c5e cpuid add sse41 and x86
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/485001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@236 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-05 20:39:42 +00:00
fbarchard@google.com
5b22506b14 With an asm() away lint, this cleans up most remaining issues.
BUG=none
TEST=lint filename
Review URL: https://webrtc-codereview.appspot.com/464001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@230 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-29 02:19:26 +00:00
fbarchard@google.com
2b9c210803 lint fix test
BUG=none
TEST=gcl lint lintfix2
Review URL: https://webrtc-codereview.appspot.com/458003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@220 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-22 22:36:44 +00:00
fbarchard@google.com
2fc56673c1 cpuid build fix for linux/non
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/366007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@158 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-26 19:05:59 +00:00
fbarchard@google.com
e3ebe7a5cd Neon instructions detect without using NDK so it will work within Android, and on other linux arm based platforms and builds
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/358008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@153 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-26 02:14:52 +00:00
fbarchard@google.com
0abb8dda2d detect neon for ndk but not sdk
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/366005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@152 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-25 19:34:49 +00:00
fbarchard@google.com
17f198cd46 cleanup of include order, std include comments on what function they are for, and guard naming to match folder
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/333028

git-svn-id: http://libyuv.googlecode.com/svn/trunk@125 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-04 02:21:05 +00:00
fbarchard@google.com
9d206a29cd cygwin compatibility fix for ifdef underscores, and __inline for C vs inline which is C++
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/335003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@115 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-19 19:04:46 +00:00
fbarchard@google.com
373cdbdc58 reorder stores for FastConvertYUVToABGRRow_SSSE3 and FastConvertYUVToBGRARow_SSSE3. ReverseRow_SSE2. cpu detect allow environment variable override set LIBYUV_DISABLE_SSSE3=1 set LIBYUV_DISABLE_SSE2=1. Reorder stores in rotate for core2
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/317010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@107 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-14 21:10:07 +00:00
fbarchard@google.com
fe5ff7ed54 clang on linux prefers no args for rep movsl/stosl. ifdef for C that removes namespace. extern c allows c++ to be used to compile, including with namespace, but C program can link libyuv
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/320004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@101 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-10 07:45:58 +00:00
fbarchard@google.com
3c00cf04f3 inline cpuid for better branch prediction
BUG=none
TEST=disassembly shows 6 instructions (due to auto init)
Review URL: http://webrtc-codereview.appspot.com/285001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@90 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-22 00:40:39 +00:00
frkoenig@google.com
c82af4a59c Order includes.
Use the following order.
local
system
libyuv
Review URL: http://webrtc-codereview.appspot.com/270007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@76 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-11 00:54:34 +00:00
fbarchard@google.com
f7a5048f54 align asm new line to column 48
BUG=none
TEST=builds
Review URL: http://webrtc-codereview.appspot.com/268008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@73 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 22:41:20 +00:00
frkoenig@google.com
86e9487d0d Fix for InitCpuFlags for android.
Review URL: http://webrtc-codereview.appspot.com/277001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@64 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-08 00:12:33 +00:00
fbarchard@google.com
b61497636a ARGB to and from I420 ported to x64
BUG=none
TEST=media_unittests
Review URL: http://webrtc-codereview.appspot.com/266003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@61 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-07 21:58:52 +00:00
fbarchard@google.com
9394ed99fc ARGB To I420 and variations using row functions
BUG=none
TEST=media_unittests from talk used to benchmark
Review URL: http://webrtc-codereview.appspot.com/254001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@51 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-31 21:36:47 +00:00
fbarchard@google.com
891091c6d4 cpu_id using one variable and make it more public how to set flags to disable SIMD
BUG=none
TEST=scale unittest in talk disables SSSE3
Review URL: http://webrtc-codereview.appspot.com/239018

git-svn-id: http://libyuv.googlecode.com/svn/trunk@47 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-29 00:18:58 +00:00
fbarchard@google.com
a1280730c2 cleanup yuv for consistency. stride, return int, negative heights, inplace conversions, lower case names, filter enum, uint, planarfunction updates, remove common.h, remove common/ folder, cpuid header public, move headers into libyuv/, add libyuv.h, fixed header guards, remove internal timing from scale, tweaks for llvm build, videocommon simplified
BUG=none
TEST=Talk builds on all platforms against libyuv.
Review URL: http://webrtc-codereview.appspot.com/226003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@31 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-14 17:50:12 +00:00