986 Commits

Author SHA1 Message Date
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
kjellander@google.com
d5a521cd23 Minor fixes to gyp_libyuv.py
Fixed invalid references left from
the copied gyp_webrtc.

This CL will also add svn:ignore on a
bunch of directories to speed up builds
(less unnecessary delete + redownload).

It also adds the executable bit to
gyp_libyuv.

R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@992 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-28 19:38:05 +00:00
fbarchard@google.com
4a1836050d Update libyuv build toolchain.
Download and use GN similar to how WebRTC uses it
for GYP/ninja generation
Similar changes as done in
https://webrtc-codereview.appspot.com/6939004

Add support for VS2013 compilation using the
Chromium standalone toolchain. Similar changes:
https://webrtc-codereview.appspot.com/9769004

Fix the valgrind wrapper script similar to
https://webrtc-codereview.appspot.com/5589006
https://webrtc-codereview.appspot.com/6939004

Remove no longer needed cygwin mount hook.

TEST=All trybots except iOS are passing.
Those will have to be fixed in a future CL.
BUG=310
TESTED=gclient sync on osx/ios
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@991 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-28 17:26:06 +00:00
fbarchard@google.com
a3cda5080c Port format_conversion (bayer) to C
BUG=303
TESTED=cl /c /TC /Iinclude source/format_conversion.cc
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@990 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-26 17:29:20 +00:00
fbarchard@google.com
c669cd2da0 Roll chromium dependency to r255773
BUG=none
TESTED=try bots
R=wuwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@989 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-26 02:08:51 +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
efc5d9b930 Warning fix for implicite cast in scaling from int64 to int.
BUG=none
TESTED=local visual c build
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@985 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-18 22:23:15 +00:00
fbarchard@google.com
398de7d0be ARGBScale down bilinear clip to edge of image to avoid overread.
BUG=317
TESTED=drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*ARGBScale*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@984 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-18 21:39:42 +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
996dacac87 unittest first checks if files exists for neon detection.
BUG=315
TESTED=untested
R=nfullagar@chromium.org, wuwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@981 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-07 23:22:24 +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
4b3428e7d5 for ios enable neon for arm but not ia32 which is simulator.
BUG=308
TESTED=try bots
R=noahric@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@979 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-02-06 00:21:35 +00:00
fbarchard@google.com
02ff4e77e5 clang compatibility ifdef
BUG=none
TEST=none
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@978 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-31 00:27:40 +00:00
fbarchard@google.com
6916811eb2 Switch to CXX for linux.mk
BUG=none
TESTED=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@977 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-28 22:05:36 +00:00