999 Commits

Author SHA1 Message Date
ashok.bhat@gmail.com
b8c4fc71c3 Row AArch64 Neon implementation - Part 2
BUG=319
TEST=libyuv_unittest
R=fbarchard@chromium.org, fbarchard@google.com

Change-Id: Ib1f824c5a7dc3938ff63991f08eafa08fc33f108
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1047 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-18 08:42:56 +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
fbarchard@google.com
9e0f21af0b fixes for blank line lint warnings
BUG=348
TESTED=cpplint.py --filter=-casting source/*.cc include/libyuv/*.h
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1045 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-14 19:42:48 +00:00
ashok.bhat@gmail.com
de9fa43c60 Row AArch64 Neon implementation - Part 1
BUG=319
TEST=libyuv_unittest
R=fbarchard@google.com

Change-Id: I367ffa7bb0fd0337ab8486d3eb4fb94afea7400c
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1044 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-13 08:33:17 +00:00
yang.zhang@arm.com
26f43db1ef AArch64:add SumSquareError_NEON armv8 assembly version
BUG=none
TESTED=libyuv_unittest
R=fbarchard@google.com

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

the benckmarking result is as follows:
toolchain: gcc 4.9
hardware: A53

| count | C Times/NEON times |
| 16    | 3.35               |
| 128   | 6.63               |
| 512   | 7.47               |
| 1024  | 7.72               |

Change-Id: Ic10bf22d77d069a1a2074b68bd5a310c579ec490

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1043 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-13 06:10:02 +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
ashok.bhat@gmail.com
9453f7c494 Add a placeholder file for ARM64 Row Neon implementation
BUG=319
TEST=libyuv_unittest
R=fbarchard@google.com

Change-Id: I9fdc355d285062d32c11dba4e240d32f5b1bcb80
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>

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

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1041 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-07 13:40:18 +00:00
fbarchard@google.com
d0628b2b1f bump chromium deps to 285412 to stay in sync with webrtc.
BUG=none
TESTED=gclient sync & set GYP_DEFINES=target_arch=ia32 libyuv_disable_jpeg=1 & python gyp_libyuv -fninja -G msvs_version=2010 libyuv_test.gyp & ninja -C out\Debug & ninja -C out\Debug
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1040 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-01 20:39:01 +00:00
ashok.bhat@gmail.com
c8f529a48f Remove extra MEMACCESS
TESTED=libyuv_unittest

Change-Id: I25fae71200ea44846eea3604a55bf4a88ea593ce
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>


git-svn-id: http://libyuv.googlecode.com/svn/trunk@1039 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-29 18:32:59 +00:00
fbarchard@google.com
455c66b437 Add a gyp define LIBYUV_DISABLE_JPEG to not build jpeg library
BUG=346
TESTED=set GYP_DEFINES=target_arch=ia32 libyuv_disable_jpeg=1 & python gyp_libyuv -fninja -G msvs_version=2010 libyuv_test.gyp
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1038 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-28 21:48:43 +00:00
fbarchard@google.com
9f12361e39 redo nv12 crop unittest with expect eq
BUG=334
TESTED=crop
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1037 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-18 22:34:04 +00:00
fbarchard@google.com
74ce999a9a Add NV12 cropping unittest to confirm behavior.
BUG=344
TESTED=libyuv_unittest --gtest_filter=*CropNV12
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1036 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-18 18:18:35 +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
65a324ed34 remove extern "C" from rotate function, since its built with extern "C" around full file.
BUG=341
TESTED=clang -c -Iinclude source/rotate.c
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1031 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-08 22:06:56 +00:00
fbarchard@google.com
8798e04075 Port conversion functions to c.
BUG=303
TESTED=cl /c /TC /Iinclude source\convert_from.cc source\convert_argb.cc source\convert_from_argb.cc
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1030 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-08 18:44:57 +00:00
fbarchard@google.com
a2fbf9dee6 convert source ported to c89.
BUG=303
TESTED=cl /c /TC /Iinclude source/convert.cc
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1029 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-07 19:05:45 +00:00
kjellander@google.com
103427718a Disable assembly optimizations in MemorySanitizer builds.
BUG=chromium:344505, chromium:373739
R=kjellander@google.com, mflodman@chromium.org

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

Patch from Sergey Matveev <earthdok@chromium.org>.

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1028 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-03 18:39:32 +00:00
kjellander@google.com
f34649b2cd Roll chromium_revision 274825:280149 to fix GN
Due to http://crbug.com/389883 GN currently doesn't execute
unless the top folder is named 'src'.

To work around this, perform the following changes to a
checkout that currently has "trunk" as the root folder:
1. Rename trunk -> src
2. Remove .gclient_entries file (will be re-created)
3. Edit .gclient and:
  * set the name of the solution to "src"
  * add/change the custom_vars dict for the solution to
    have a key like this:
    "custom_vars" : {
      "root_dir" : "src",
    },
4. Run gclient sync

The buildbots already have this done and gets a "src"
dir for their checkouts.

I also workaround some recent changes for sanitizer tools
and add a copy of Chromium's tsan_suppressions.cc to prepare
for TSan v2 (since v1 that libyuv is currently using is
deprecated and should be removed).

BUG=libyuv:338
TEST=Currently working trybot passing + local compile on Linux in
Debug,Release and with ASan+TSan v2 using:
GYP_DEFINES="asan=1 release_extra_cflags=-g use_allocator=none" ./gyp_libyuv && ninja -C out/Release
GYP_DEFINES="tsan=1 release_extra_cflags=-g use_allocator=none" ./gyp_libyuv && ninja -C out/Release
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1027 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-03 08:00:03 +00:00
fbarchard@google.com
ac4f03880c Show jpeg as an option for psnr tool if enabled
BUG=339
TESTED=psnr
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1026 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-01 21:49:40 +00:00
fbarchard@google.com
1347fdea07 add symbols for ios unittests
BUG=none
TEST=none
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1025 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-26 22:52:35 +00:00
fbarchard@google.com
40b21e20d1 lint fixes for psnr
BUG=339
TESTED=lint
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1024 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-26 22:47:01 +00:00
fbarchard@google.com
b7d674e305 jpeg psnr avoid duplicates with libyuv by checking HAVE_JPEG
BUG=339
TESTED=local psnr test
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1023 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-26 21:55:38 +00:00
fbarchard@google.com
44e049b307 move Calc functions for psnr into header to avoid duplicate links.
BUG=339
TESTED=gyp build
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1022 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-26 17:59:19 +00:00
fbarchard@google.com
f939fb7661 psnr tool accept jpeg files as well as raw YUV
BUG=339
TESTED=psnr.exe feet.jpg bluechicken.jpg
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1021 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-25 16:54:20 +00:00
fbarchard@google.com
81ba94f58a only enable mips assembly for old 32 bit abi. new 32 bit abi and 64 bit bit able remove t4 to t7 and add a4 to a7
BUG=337
TESTED=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1020 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-24 23:40:52 +00:00
fbarchard@google.com
1b9df4c5c8 Add nacl version check to enable Neon on M37 and bundles for X86 on M33
BUG=333
TESTED=nacl build and validate
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1019 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-24 22:26:30 +00:00
fbarchard@google.com
e6dd1fa024 Port I420ToARGB to intrinsics for win64
BUG=336
TESTED=out\release_x64\libyuv_unittest --gunit_also_run_disabled_tests --gtest_filter=*I420To*B*
R=bryan.bernhart@intel.com, tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1018 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-24 20:45:45 +00:00
fbarchard@google.com
f67b426bdf Add some more bic's for scale nacl code
BUG=333
TESTED=ncval
R=thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1017 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-17 23:12:55 +00:00
fbarchard@google.com
4b7a04e864 port neon to arm64. the register names have changes from r0 to w0 or x0 depending on size. Passing them as parameters (e.g. %0) makes the code register name agnostic.
BUG=333
TESTED=32 bit build still works.
R=nfullagar@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1016 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-17 18:16:29 +00:00
fbarchard@google.com
4e5e44e21e scale neon nacl port
BUG=333
TESTED=ncval
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1015 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-16 17:09:48 +00:00
fbarchard@google.com
b1df26dc27 rotate neon code port to nacl
BUG=333
TESTED=ncval
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1014 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-13 23:02:10 +00:00
fbarchard@google.com
0bb310ebc4 Add bic instructions before each load or store for nacl
BUG=333
TESTED=validator
R=jfb@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1013 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-13 17:20:52 +00:00
fbarchard@google.com
bf3b111147 MEMACCESS macro for NaCL Arm
BUG=333
TESTED=validator passes
R=jfb@chromium.org, tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1012 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-12 00:19:38 +00:00
fbarchard@google.com
a9ff15b7bb check copy has different address. If same, skip the copy to avoid valgrind error.
BUG=334
TESTED=unittests still pass
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1011 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-11 00:16:59 +00:00
fbarchard@google.com
b0fce2a311 bump chromium revision to 274825 - last known good release.
BUG=none
TESTED=try bots
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1010 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-11 00:01:40 +00:00
fbarchard@google.com
193c1ff11d test conversions that are reversible.
BUG=334
TESTED=unittests added to test functionality that is reversible.
R=sandersd@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1009 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-04 23:19:37 +00:00
fbarchard@google.com
2a35da3912 Add ARGBToABGR and ARGBToBGRA as actual functions instead of macros.
BUG=334
TESTED=libyuv unittests pass
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1008 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-02 19:24:57 +00:00
fbarchard@google.com
40a1d85579 enable neon in build.gn
BUG=none
TESTED=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1007 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-05-23 22:30:57 +00:00
fbarchard@google.com
37ad8b6507 Port libyuv neon to nacl - compare
BUG=333
TESTED=d:\src\nacl_sdk\pepper_canary\tools\ncval.exe newlib/Release/nacltest_arm.nexe
R=nfullagar@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1006 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-05-21 19:04:15 +00:00
fbarchard@google.com
b18413e568 YUV scaling with 16 bit planes
BUG=331
TESTED=libyuv_unittest --gunit_also_run_disabled_tests --gtest_filter=**.ScaleFrom1280x720*
R=debargha@google.com, tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1005 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-05-20 19:22:30 +00:00
fbarchard@google.com
8b857c0ac6 changes to accommodate libjpeg 9 interface.
BUG=327
TESTED=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1004 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-05-13 19:00:01 +00:00
fbarchard@google.com
b846eb4f6e Color Matrix on Arm use C version. Unittest is failing on iphone5s, so disable Neon for until investigated.
BUG=326
TESTED=untested
R=thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1003 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-04-25 22:07:01 +00:00
fbarchard@google.com
05c4c71509 Roll chromium_revision 260824:262938 + fix binutils. Since it's not possible to have platform-specific hooks executing, binutils must be downloaded for all platforms in order for the download.py hook to execute properly on non-unix platforms.
BUG=323
TESTED=gclient sync
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1000 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-04-11 23:40:41 +00:00
fbarchard@google.com
c8970f1861 Update the gold location (third_party/libyuv).
chromium have replaced third_party/gold with a full copy of binutils at
third_party/binutils. It gets downloaded and extracted to
third_party/binutils/Linux_(x64|ia32)/Release as part of DEPs/gclient hooks
process.

We are now trying to remove third_party/gold.

BUG=chromium:362119
R=mithro@mithis.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@999 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-04-10 18:13:35 +00:00
fbarchard@google.com
fdaaea0f83 Change r9 to a parameter which will map to x9 for arm64.
BUG=319
TESTED=untested
R=thorcarpenter@google.com, tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@998 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-04-03 18:37:32 +00:00
kjellander@google.com
973da212e6 Fix DEPS and gyp_libyuv for chromium roll in r996
The roll in r996 requires some additional changes in order
to make the GYP generation script to run properly.

BUG=none
TESTED=trybots passing.
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@997 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-04-02 18:01:51 +00:00
fbarchard@google.com
5340da6323 Bump chromium deps to 260824 which is lkgr for improved mobile support.
BUG=none
TESTED=try bots
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@996 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-04-02 01:10:02 +00:00
fbarchard@google.com
c99fa63f6b arm64 initial port using C
BUG=319
TESTED=GYP_DEFINES="OS=ios target_arch=armv7 target_subarch=64" GYP_CROSSCOMPILE=1 GYP_GENERATOR_FLAGS="output_dir=out_ios" ./build/gyp_chromium -f ninja --depth=. libyuv_test.gyp  && ninja -j7 -C out_ios/Debug-iphoneos
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@994 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-29 00:19:06 +00:00
kjellander@google.com
614c9fa853 Revert accidental checkin in r992
I dunno how this happened, since that file belonged
to a another gcl change that I use to test the trybots.

TBR=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@993 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-28 19:40:39 +00:00