2065 Commits

Author SHA1 Message Date
Frank Barchard
d8136924bd Rename convert to yuvconvert for linux.mk
TBR=kjellander@chromium.org
BUG=None
TEST=make -f linux.mk

Change-Id: I747c2eb6ed03cacddf3265e65088472507f3436c
Reviewed-on: https://chromium-review.googlesource.com/581874
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-07-21 19:05:11 +00:00
Frank Barchard
5f00523073 Remove deprecated macOS SDK overrides.
The same overrides now live in .gn.

TBR=kjellander@chromium.org
Bug:chromium:669240
Change-Id: Ifaeb3b612571c3594f1e2279b4f871b7fd3e8d69
Reviewed-on: https://chromium-review.googlesource.com/572080
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-07-20 22:26:41 +00:00
Frank Barchard
d0ed025447 add exe_and_shlib_deps dependency for libc++ new[]
TBR=kjellander@chromium.org
BUG=libyuv:712
TEST=libyuv try bots build

Change-Id: Ibe2ff9ac557d5086566941d93f71d1b8048dfb58
Reviewed-on: https://chromium-review.googlesource.com/579663
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-07-20 21:17:25 +00:00
Frank Barchard
9288b884b6 Roll chromium_revision 964fc7fe50..c138801d02 (478724:487352)
Change log: 964fc7fe50..c138801d02
Full diff: 964fc7fe50..c138801d02

Changed dependencies:
* src/base: 7830ef61f5..5b2c419308
* src/build: b887a61b49..1808a907ce
* src/buildtools: b53a03df32..5ad14542a6
* src/ios: 4243f190b3..bff0ead181
* src/testing: 4d1ed658b7..aac324832e
* src/third_party: d09084e5dd..1b11b0e214
* src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/023e2f6540..e9d4018e14
* src/third_party/catapult: 7ba431f75d..b0acf6c12b
* src/tools: b8af3bf606..ec8ceaef71
* src/tools/swarming_client: af6b06ca68..a56c2b39ca
DEPS diff: 964fc7fe50..c138801d02/DEPS

Clang version changed 303910:307486
Details: 964fc7fe50..c138801d02/tools/clang/scripts/update.py

TBR=kjellander@chromium.org
BUG=libyuv:710, chromium:669240


Change-Id: I117311a0fe61c3bdbf3a966ec2eb55100added51
Reviewed-on: https://chromium-review.googlesource.com/574772
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-07-19 18:04:24 +00:00
Frank Barchard
1dda4cb0b7 include <new> header for benefit of new clang builds
TBR=kjellander@chromium.org
BUG=libyuv:712
TEST=local builds still work

Change-Id: I040e8edc40aafd820d2a29629fe7aec5c049bc6b
Reviewed-on: https://chromium-review.googlesource.com/576971
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-07-19 17:47:31 +00:00
Frank Barchard
95a20b677d Update .gn to set a min SDK for macOS via GN.
Currently, libyuv is setting this config via mac_sdk_min_build_override. The old
meechanism is deprecated, but cannot be removed until chromium is updated to no
longer require mac_sdk_min_build_override.

TBR=kjellander@chromium.org
Bug:chromium:740693
Change-Id: I71533c9ef20ac8d7584d50751ac5437da54e2cb5
Reviewed-on: https://chromium-review.googlesource.com/565636
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-07-13 17:34:42 +00:00
Frank Barchard
db25485ee2 Move compare functions into a unittest class
BUG=None
TEST=LibYUVCompareTest.*
R=jkellander@chromium.org

Change-Id: I3131ca73020f855ead08255d09aa7a846bf0d556
Reviewed-on: https://chromium-review.googlesource.com/540064
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
2017-06-19 19:39:10 +00:00
Henrik Kjellander
9e920b9c4d Roll chromium_revision ce95e5d83f..964fc7fe50 (465389:478724)
Manual changes:
* Add new third_party/googletest (replaces testing/gtest and testing/gmock).
* Add Android deps third_party/ub-uiautomator and xstream.
* Remove the no longer existing clang_format_merge_driver
* Java 8 had to be installed on the Android builder machines (crbug.com/732529).

Change log: ce95e5d83f..964fc7fe50
Full diff: ce95e5d83f..964fc7fe50

Changed dependencies:
* src/base: f6489f4fd2..7830ef61f5
* src/build: bca1cbe2aa..b887a61b49
* src/buildtools: 88811f48a6..b53a03df32
* src/ios: 9595ed7ed6..4243f190b3
* src/testing: 7b3e681f96..4d1ed658b7
* src/third_party: b28b3325f9..d09084e5dd
* src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/b65c4776da..023e2f6540
* src/third_party/catapult: e8775f0f64..7ba431f75d
* src/third_party/ced/src: e21eb6aed1..910cca22d8
* src/third_party/icu: b34251f8b7..dfa798fe69
* src/third_party/libjpeg_turbo: 7260e4d8b8..a1750dbc79
* src/tools: 5c327d115e..b8af3bf606
* src/tools/swarming_client: 11e31afa5d..af6b06ca68
DEPS diff: ce95e5d83f..964fc7fe50/DEPS

Clang version changed 299960:303910
Details: ce95e5d83f..964fc7fe50/tools/clang/scripts/update.py

TBR=
BUG=None

Change-Id: I84a5108a48d7cddb71df886cd9cb7e7ed21648ef
Reviewed-on: https://chromium-review.googlesource.com/532013
Commit-Queue: Henrik Kjellander <kjellander@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-06-13 06:59:05 +00:00
Frank Barchard
6c94ad13b5 Remove ARM NaCL macros from source
NaCL has been disabled for awhile, so the code
will still build, but only with C versions.
This change removes the MEMACCESS() macros from
Neon and Neon64 source.

BUG=libyuv:702
TEST=try bots build for arm.
R=kjellander@chromium.org

Change-Id: Id581a5c8ff71e18cc69595e7fee9337f97c44a19
Reviewed-on: https://chromium-review.googlesource.com/528332
Reviewed-by: Cheng Wang <wangcheng@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-06-09 22:22:07 +00:00
Frank Barchard
5f94a33e0c Lint fix for C casting for rotation code on arm
instead of casting int to int64, pass the int
and use %w modifier to use the word version of the register.

TBR=kjellander@chromium.org
BUG=libyuv:706
TEST=git cl lint
R=wangcheng@google.com

Change-Id: Iee5a70f04d928903ca8efac00066b8821a465e36
Reviewed-on: https://chromium-review.googlesource.com/528381
Reviewed-by: Cheng Wang <wangcheng@google.com>
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-06-09 00:51:00 +00:00
Frank Barchard
d981495b42 Hamming Distance using 16 bit accumulators
Summing 16 bit hamming codes restricts the maximum length,
but saves an inner loop instruction.  The outer loop can sum the
values.

32 bit Neon
Now BenchmarkHammingDistance_Opt (78 ms)
Was BenchmarkHammingDistance_Opt (92 ms)

64 bit Neon
Now BenchmarkHammingDistance_Opt (85 ms)
Was BenchmarkHammingDistance_Opt (92 ms)

R=wangcheng@google.com
TBR=kjellander@chromium.org
BUG=libyuv:701
TEST=BenchmarkHammingDistance

Change-Id: Ie40f0eac2f3339c33b833b42af5d394b122066ae
Reviewed-on: https://chromium-review.googlesource.com/526932
Reviewed-by: Frank Barchard <fbarchard@google.com>
Reviewed-by: Cheng Wang <wangcheng@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-06-07 23:23:24 +00:00
Frank Barchard
790e0634a8 Port HammingDistance_NEON 32 bit code to 64 bit
The 32 bit version of HammingDistance_NEON accumulates
using vertical add and paired adds, which takes 3 instructions
instead of 4.
The instructions are also portable between 32 and 64 bit.

Was BenchmarkHammingDistance_Opt (105 ms)
Now BenchmarkHammingDistance_Opt (90 ms)

TBR=kjellander@chromium.org
BUG=libyuv:701
TEST=BenchmarkHammingDistance

BenchmarkHammingDistance_Opt (90 ms)

Change-Id: If9e621e0bd2fe2492a1532056f8a1b451ba53d7e
Reviewed-on: https://chromium-review.googlesource.com/526365
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-06-07 01:04:35 +00:00
Frank Barchard
47d6eaa377 HammingDistance_NEON optimized looping
BenchmarkHammingDistance_Opt (93 ms)
BenchmarkHammingDistance_C (389 ms)

TBR=kjellander@chromium.org
BUG=libyuv:701
TEST=BenchmarkHammingDistance

Change-Id: I4ba920751eb130cac6a276e441a7c309c495554a
Reviewed-on: https://chromium-review.googlesource.com/526401
Reviewed-by: Frank Barchard <fbarchard@google.com>
Reviewed-by: Cheng Wang <wangcheng@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-06-07 00:09:59 +00:00
Frank Barchard
baf5248242 HammingDistance_NEON ported to 32 bit
TBR=kjellander@chromium.org
BUG=libyuv:701
TEST=BenchmarkHammingDistance

Change-Id: I252efd8a27aa11a0fe7d8030d7c8b57f20f04760
Reviewed-on: https://chromium-review.googlesource.com/525232
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-06-06 17:58:29 +00:00
Frank Barchard
44abf70187 ScaleDown odd functions adjust math so last pixel is half width source.
existing test passes
out/Release/libyuv_unittest --gtest_filter=*Blend* --libyuv_width=33 --libyuv_height=16

new test added
BUG=libyuv:705
TEST=LibYUVScaleTest.TestScaleOdd

Change-Id: Ica91812aee2e4ed9bcc18df4962b089c2e4ae704
Reviewed-on: https://chromium-review.googlesource.com/524932
Reviewed-by: Cheng Wang <wangcheng@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-06-06 01:37:26 +00:00
Henrik Kjellander
b97406775c Remove duplicated bot linux_msan in cq.cfg.
BUG=None
TBR=fbarchard@chromium.org

Change-Id: Id665a052c0f164ca58ee317ff2cb065c6a67da77
Reviewed-on: https://chromium-review.googlesource.com/521523
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
2017-06-01 17:58:16 +00:00
Frank Barchard
7bffe5e1c5 lint warning fixes for CpuID
The CpuId function is a wrapper for the intrinsic, or
implemented with inline if unavailable.  It had been
using uint32, but the intrinsics use int, so it was causing
casting and lint warnings.  This change makes the internal
implementation use int.

Casting was also done for xgetbv, and the cast is simply
removed, and is not causing a build error.

MipCpuCaps was doing strlen to check for white space after the
instruction set.  Arm also does this but with a hard coded offset.
This was causing a cast from size_t to int, which produced a lint
warning.  The change removes the white space detect.
In theory the code could be used to detect SSE vs SSE2, and it would
need to check SSE is followed by a space or end of line.  But this
code is only used on Arm and Mips, where there there is one form
of SIMD detected.  e.g. MSA for mips.  If a new instruction set is
added with a similar name, the write space check could be reintroduced.
But its more likely the code can be rewritten to use a better form
of detection by then. Or remove detection and require the instructions

BUG=libyuv:641
TEST=try bots build on all platforms without error and lint is clean

Change-Id: I9f55f8e57bba0f78571bdddbe63b945dea3e8809
Reviewed-on: https://chromium-review.googlesource.com/514524
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Cheng Wang <wangcheng@google.com>
Reviewed-by: Wan-Teh Chang <wtc@chromium.org>
2017-05-25 22:00:17 +00:00
Henrik Kjellander
ae7e2ef13e Update autoroller after FromImpl was removed from depot tools
In https://chromium-review.googlesource.com/c/509693/ the From
keyword was removed. This update the script to match that (we
also were no longer using it).

BUG=libyuv:704
NOTRY=True

Change-Id: Iccbbfb426a3acd986fbc036672fb51abc2c5d346
Reviewed-on: https://chromium-review.googlesource.com/513908
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Henrik Kjellander <kjellander@chromium.org>
2017-05-25 06:59:25 +00:00
Frank Barchard
8edd2286fd MaskCpuFlags return cpuinfo so InitCpuFlags can call it
Reduce number of atomic references to cpu_info by making
InitCpuFlags call MaskCpuFlags and return the same value.

BUG=libyuv:641
TEST=libyuv_unittests pass

Change-Id: I5dfff8f7a10671bc8ef3ec0ed6f302791e752faa
Reviewed-on: https://chromium-review.googlesource.com/514145
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Cheng Wang <wangcheng@google.com>
2017-05-24 22:27:03 +00:00
Frank Barchard
651ccc0c3a Fix data races in libyuv::TestCpuFlag().
Detect the compiler's support of C11 atomics, and use C11 atomics when
available.

Note that libyuv::MaskCpuFlags() is still not thread-safe.

BUG=libyuv:641
TEST= cpu_thread_test.cc adds a pthread based test
R=wangcheng@google.com

Change-Id: If05b1e16da833105a0159ed67ef20f4e61bc7abd
Reviewed-on: https://chromium-review.googlesource.com/510079
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Cheng Wang <wangcheng@google.com>
2017-05-24 02:09:03 +00:00
Frank Barchard
77f6916da2 use __popcnt for visual c HammingDistance_X86
BUG=libyuv:701
TEST=HammingDistance unittest performance is comparable to x64
R=wangcheng@google.com

Change-Id: I8abe861e086e0162ba4c7ba6f1ef7d1c006cd9d4
Reviewed-on: https://chromium-review.googlesource.com/505454
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-05-12 22:59:00 +00:00
Frank Barchard
e0615c0e69 Optimize Hamming Distance C code to do 64 bits at a time.
BUG=libyuv:701
TEST=LibYUVBaseTest.BenchmarkHammingDistance_C
R=wangcheng@google.com

Change-Id: I243003b098bea8ef3809298bbec349ed52a43d8c
Reviewed-on: https://chromium-review.googlesource.com/499487
Reviewed-by: Cheng Wang <wangcheng@google.com>
2017-05-12 17:53:52 +00:00
Frank Barchard
bbbf30eecd Remove volatile from variables to improve performance
BUG=libyuv:703
TEST=compile and disassemble.  see registers used not stack.
R=wangcheng@google.com

Change-Id: Iaa07ee5d0c35252994491bb2868276e161149efd
Reviewed-on: https://chromium-review.googlesource.com/500427
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Cheng Wang <wangcheng@google.com>
2017-05-09 18:14:21 +00:00
Frank Barchard
2136e349da Hamming code difference of 2 memory blocks
BUG=libyuv:701
TEST=built and disassembled for aarch64
R=kjellander@chromium.org

Change-Id: I7712b1c7934e5dfb55fda1fa7c8405c32d6964ce
Reviewed-on: https://chromium-review.googlesource.com/495327
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Reviewed-by: Cheng Wang <wangcheng@google.com>
2017-05-08 21:37:51 +00:00
Frank Barchard
945ea1b746 mips switch sgtu to sltu for clang in ndk r14
The verion of clang in ndk r14 (3.9) has a built in llvm assembler
that does not have the sgtu pseudo instruction.
sltu is the actual instruction, so switch the 2 operands and use
the instruction instead of the pseudo op.

BUG=libyuv:700
TEST=try bots build mips without error.

Change-Id: I2d5f94f81acbd56cdedea011e7d9308979e19079
Reviewed-on: https://chromium-review.googlesource.com/494026
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
2017-05-02 21:34:13 +00:00
Vignesh Venkatasubramanian
54289f1bb0 Fix mips build on android ndk r14+
Revert the workaround and fix it properly by passing the
additional necessary flag to the compiler.

BUG=libyuv:700

Change-Id: I1c893a8acb5079decbee6963b689424bf2f99f4f
Reviewed-on: https://chromium-review.googlesource.com/487881
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-04-26 08:39:55 +00:00
Frank Barchard
3b583396bf Disable CopyRow_MIPS
CopyRow_MIPS produces a compile error on some compilers.

TBR=kjellander@chromium.org
BUG=libyuv:700
TEST=try bots

Change-Id: Ie88f2006ef5cf14bffaf80fd4c0dd1caa409c569
Reviewed-on: https://chromium-review.googlesource.com/486127
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-04-25 01:31:13 +00:00
Bruce Dawson
996a2bbdb5 Avoid double compiles of libjpeg
When libyuv was changed to compile with clang-cl this also cause libjpeg
to be compiled with clang-cl, which means that it was being compiled
twice. This is generally a bad practice, it was causing duplicate symbol
warnings in some builds, and it slows builds slightly. This change
reduces the number of build steps with the default gn settings on
Win64 builds by 71 (currently from 47,200 to 47,129).

See this change that change libyuv's compilation:
https://chromium-review.googlesource.com/c/446667/

BUG=706627

Change-Id: I13e2d4ff8511350901af10f7443f3f4b89cc2499
Reviewed-on: https://chromium-review.googlesource.com/456651
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
2017-04-20 21:02:39 +00:00
Frank Barchard
a4929684c4 Roll chromium_revision da7cc8ca4c..ce95e5d83f (465147:465389)
Change log: da7cc8ca4c..ce95e5d83f
Full diff: da7cc8ca4c..ce95e5d83f

Changed dependencies:
* src/base: 636a52bf9d..f6489f4fd2
* src/build: 15013685bd..bca1cbe2aa
* src/ios: 9d4d917abc..9595ed7ed6
* src/testing: 6885521e31..7b3e681f96
* src/third_party: be0a7d2acc..b28b3325f9
* src/third_party/catapult: 49eb11f63e..e8775f0f64
* src/third_party/robolectric/robolectric: e38b49a12f..2a0b6ba221
* src/tools: 80ce3971a8..5c327d115e
* src/tools/gyp: e7079f0e0e..eb296f67da
DEPS diff: da7cc8ca4c..ce95e5d83f/DEPS

No update to Clang.

TBR=kjellander@chromium.org
BUG=libyuv:697


Change-Id: I34a5b3302ba369718536b1d0aa664f9b089386ca
Reviewed-on: https://chromium-review.googlesource.com/481064
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-04-18 22:40:59 +00:00
Henrik Kjellander
2d1908c481 Roll chromium_revision 7950721f08..da7cc8ca4c (454907:465147)
Change log: 7950721f08..da7cc8ca4c
Full diff: 7950721f08..da7cc8ca4c

Changed dependencies:
* src/base: d75864a2c5..636a52bf9d
* src/build: bf8911f59b..15013685bd
* src/buildtools: b3771b1935..88811f48a6
* src/ios: 8b8111f841..9d4d917abc
* src/testing: c2c74bc1d1..6885521e31
* src/third_party: 4c0908d22e..be0a7d2acc
* src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/b43a6a289a..b65c4776da
* src/third_party/catapult: 353ee60a45..49eb11f63e
* src/third_party/ced/src: 368a9cc09a..e21eb6aed1
* src/third_party/icu: 450be73c9e..b34251f8b7
* src/third_party/lss: https://chromium.googlesource.com/linux-syscall-support.git/+log/3f6478ac95..63f24c8221
* src/third_party/robolectric/robolectric: e38b49a12f..2a0b6ba221
* src/tools: 14318cc69b..6412dca2e6
* src/tools/gyp: e7079f0e0e..eb296f67da
DEPS diff: 7950721f08..da7cc8ca4c/DEPS

Clang version changed 296320:299960
Details: 7950721f08..da7cc8ca4c/tools/clang/scripts/update.py

TBR=
BUG=None

Change-Id: Idef4cbd757cc6242b136e5499a21d634ec9f16b6
Reviewed-on: https://chromium-review.googlesource.com/479652
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Henrik Kjellander <kjellander@chromium.org>
2017-04-18 07:16:19 +00:00
Frank Barchard
fc02cc3806 Add I422ToRGB565
BUG=libyuv:699
TESTED=LibYUVConvertTest.I420ToARGB_RGB565_Opt

Change-Id: I87943bcad056fbbe051301f45c7dc0ae0620c837
Reviewed-on: https://chromium-review.googlesource.com/478578
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-04-17 17:51:17 +00:00
Frank Barchard
bd0faedbd2 add libyuv_unittest to Android.mk
BUG=libyuv:698
TESTED=mm libyuv_unittest within android external/libyuv builds unittests

Change-Id: I4b5fed9f5af86c8a910f73b14053ef83f38431cc
Reviewed-on: https://chromium-review.googlesource.com/478572
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-04-14 23:46:27 +00:00
Frank Barchard
8cab2e31d7 I422ToRGB565 fix for odd widths
I422ToRGB565Row_Any_AVX2 uses 2 step row conversion that calls
I422ToARGBRow_AVX2 and then ARGBToRGB565.
I422ToARGBRow_AVX2 expects multiple of 16 pixels.
Adjust the I422ToRGB565Row_Any_AVX2 to do multiple of 16 with AVX2
and then remainder in a buffer.

Bug: libyuv: 657
Test: out/Release/libyuv_unittest --gtest_filter=*Convert*I*To* --libyuv_width=1280 --libyuv_height=720
Change-Id: Ice1cb6c7ff6b2295513e8b4a9f77522e1c659810
Reviewed-on: https://chromium-review.googlesource.com/474232
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
2017-04-11 17:24:05 +00:00
Frank Barchard
78ef440a1f Rename convert to yuvconvert to avoid name clash with linux util
Bug: libyuv:695
Test: untested
Change-Id: Ib088fd16fd00bbc50868ea330b2a544e29a3385c
Reviewed-on: https://chromium-review.googlesource.com/469077
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-04-06 18:58:42 +00:00
Tom Anderson
cbe5385055 Remove download_binaries.py from DEPS
This step is no longer necessary after https://codereview.chromium.org/2775913002/

Bug: 705072
Change-Id: Ia58cbe9e6cb450d832de24dbb5122597efc3e571
Reviewed-on: https://chromium-review.googlesource.com/459442
Reviewed-by: Magnus Jedvert <magjed@chromium.org>
Commit-Queue: Tom Anderson <thomasanderson@google.com>
2017-03-29 16:45:36 +00:00
Vignesh Venkatasubramanian
cb9a58f25f Android.mk: Add a flag to disable libjpeg
Do not build jpeg related files if LIBYUV_DISABLE_JPEG  is set to
"yes".

BUG=libyuv:693

Change-Id: If1bc4602fb843ca7b2964844b53553aa0cca551c
Reviewed-on: https://chromium-review.googlesource.com/455475
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Vignesh Venkatasubramanian <vigneshv@google.com>
2017-03-17 19:22:06 +00:00
Frank Barchard
2adb84e39e make gflags command line parser optional
BUG=libyuv:691
TEST=gn gen out/Release "--args=is_debug=false target_cpu=\"x64\" libyuv_include_tests=true"

Change-Id: Ib481189be884c34d9bbc30bfcf71c7969c6f4dae
Reviewed-on: https://chromium-review.googlesource.com/452736
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-03-14 01:52:52 +00:00
Frank Barchard
d59d3fcd18 Change parameter for '_Any' functions to param to avoid misnomer
BUG=None
TEST=None

Change-Id: I6940fc4753783afd25f83868635381bf801c65f5
Reviewed-on: https://chromium-review.googlesource.com/452962
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-03-10 23:32:39 +00:00
Frank Barchard
e6fec061cf lint cleanup for convert RGB24ToI420
RGB24, RAW, RGB565, ARGB1555 and ARGB4444 have conditional
2 pass versus direct path.  2 pass method requires a buffer that
is conditionally allocated.  ifdef's were confusing lint.
simplifed ifdefs to clean up lint warning

BUG=libyuv:692
TEST=lint source/convert.cc

Change-Id: If868718af30b48824a5e3d28f0d7d01d4609ad55
Reviewed-on: https://chromium-review.googlesource.com/451552
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-03-09 10:32:23 +00:00
Frank Barchard
73a603e120 clang-format 5.0 applied to libyuv
BUG=None
TEST=try bots and lint test

Change-Id: I1ab462adf2d309117862c5eb4b244a61ae202951
Reviewed-on: https://chromium-review.googlesource.com/450658
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
2017-03-08 18:50:12 +00:00
Frank Barchard
27acadbf9d Roll chromium_revision c793ec77b2..7950721f08 (454713:454907)
Change log: c793ec77b2..7950721f08
Full diff: c793ec77b2..7950721f08

Changed dependencies:
* src/base: 8fe126945c..d75864a2c5
* src/build: 8a0a5a27d4..bf8911f59b
* src/ios: 2c58c1ed6b..8b8111f841
* src/testing: 9cacf531de..c2c74bc1d1
* src/third_party: 0ea751c2fe..4c0908d22e
* src/third_party/catapult: 3c626eaf72..353ee60a45
* src/tools: 41a0ccf0e1..14318cc69b
DEPS diff: c793ec77b2..7950721f08/DEPS

No update to Clang.

TBR=kjellander@chromium.org
BUG=libyuv:689

Change-Id: Ife134b4af1c8c1e63aae2b811342d325abe0b600
Reviewed-on: https://chromium-review.googlesource.com/450317
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-03-06 21:49:04 +00:00
Nico Weber
0741a3d704 Unbreak Chromium build after https://chromium-review.googlesource.com/c/446667/
Without this, `gn gen --check` for Chromium would fail with errors like:

  $ gn gen --check out/gn
  ERROR at //cc/resources/video_resource_updater.cc:25:11: Can't include
  this header from here.
  #include "third_party/libyuv/include/libyuv.h"
            ^----------------------------------
  The target:
    //cc:cc
  is including a file from the target:
    //third_party/libyuv:libyuv_internal

  [...]

  Dependency chain (there may also be others):
    //cc:cc -->
    //third_party/libyuv:libyuv --[private]-->
    //third_party/libyuv:libyuv_internal

BUG=libyuv:685, chromium:692600

Change-Id: I5e5bde2f0e4802d70bfd438793eb2460437398ee
Reviewed-on: https://chromium-review.googlesource.com/449934
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
2017-03-05 00:32:09 +00:00
Frank Barchard
bbcd785586 win64 builds use clangcl to enable optimized codepath
BUG=libyuv:685, chromium:692600
TEST=gn gen out\Release "--args=is_debug=false"
ninja -C out\Release
out\release\libyuv_unittest --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=999 --libyuv_flags=-1 --libyuv_cpu_info=-1 --gtest_filter=*ARGBToI420_Opt

Change-Id: I12ec09ae2e9bc448252aa46b137f52916403865d
Reviewed-on: https://chromium-review.googlesource.com/446667
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-03-04 00:04:35 +00:00
Frank Barchard
33a72f1e32 Roll chromium_revision 7613176285..c793ec77b2 (454473:454713)
Change log: 7613176285..c793ec77b2
Full diff: 7613176285..c793ec77b2

Changed dependencies:
* src/base: 12b56f8e03..8fe126945c
* src/build: 534dc3a634..8a0a5a27d4
* src/ios: 29f5746082..2c58c1ed6b
* src/testing: 4fd405dadd..9cacf531de
* src/third_party: 68fc46f169..0ea751c2fe
* src/third_party/catapult: 7ef761733d..3c626eaf72
* src/tools: 5eeceb2632..41a0ccf0e1
DEPS diff: 7613176285..c793ec77b2/DEPS

No update to Clang.

TBR=
BUG=None

Change-Id: I1edc697be02ac563ee3b1e60b4512ef00185b2e5
Reviewed-on: https://chromium-review.googlesource.com/448989
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
2017-03-03 23:52:19 +00:00
Frank Barchard
0cf4d74ea1 roll chromium tools to get clangcl for win64
TBR=kjellander@chromium.org
BUG=libyuv:685, chromium:692600
TEST=gn gen out\Release "--args=is_debug=false"
ninja -C out\Release
out\release\libyuv_unittest --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=999 --libyuv_flags=-1 --libyuv_cpu_info=-1 --gtest_filter=*ARGBToI420_Opt

Change-Id: Iebc8d20d2dacce2532bf50bb4c1ebbded7dd3012
Reviewed-on: https://chromium-review.googlesource.com/450017
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-03-03 22:37:29 +00:00
Frank Barchard
136aa9d37c any11p fix for buffer overrun
BUG=libyuv:686
TESTED=untested

Change-Id: Idfae93349dd78b1b633a596631e5397e11b77d0b
Reviewed-on: https://chromium-review.googlesource.com/448320
Reviewed-by: Frank Barchard <fbarchard@google.com>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-03-03 19:57:35 +00:00
Henrik Kjellander
3e62cfe68c Roll chromium_revision 6557cd40de..7613176285 (453708:454473)
Change log: 6557cd40de..7613176285
Full diff: 6557cd40de..7613176285

Changed dependencies:
* src/base: b9d4d9b0e5..12b56f8e03
* src/build: 47e07d6798..534dc3a634
* src/buildtools: a7cc7a3e21..b3771b1935
* src/ios: 291daef6af..29f5746082
* src/testing: 178a302b13..4fd405dadd
* src/third_party: 4f196478f6..68fc46f169
* src/third_party/catapult: 4ee31ea3b4..7ef761733d
* src/third_party/gtest-parallel: 8768563f5c..1dad0e9f6d
* src/third_party/icu: 9cd2828740..450be73c9e
* src/tools: 54fd165044..1dfed1bd94
* src/tools/swarming_client: ebc8dab6f8..11e31afa5d
DEPS diff: 6557cd40de..7613176285/DEPS

Clang version changed 289944:296320
Details: 6557cd40de..7613176285/tools/clang/scripts/update.py

TBR=
BUG=None

Change-Id: Ia2216ea5e01c8aa0fe27ff860b31647b0a07e71a
Reviewed-on: https://chromium-review.googlesource.com/448959
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Henrik Kjellander <kjellander@chromium.org>
2017-03-03 03:11:50 +00:00
Henrik Kjellander
960088ec10 DEPS: Remove root_dir variable.
Due to legacy reasons, libyuv uses a root_dir variable in the DEPS file.
It was used to make the bots checkout into a 'src' dir instead of 'libyuv',
in order to get some tools working that had hard-coded assumptions on the name
'src' of the top-level directory. This changes all those dirs to be named
'src', which is needed to get tools_libyuv/autoroller/roll_deps.py to work
while keeping the buildbot infrastructure working.

BUG=libyuv:690
TBR=fbarchard@chromium.org

Change-Id: Ia138264d2576e3a9db95efa3de72a14531c92752
Reviewed-on: https://chromium-review.googlesource.com/447913
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-03-03 02:30:00 +00:00
Frank Barchard
91ee9b729e Fix missing return in MipsCpuCaps.
Previously if MipsCpuCaps were called with something other than
dspr2 or msa, the file was closed but still used.

This change assumed the function is only called internally twice:
once for msa and once for dspr2.  If msa is not being detected,
the function assumed dspr2 was being tested and returns dspr2 was
true.

BUG=libyuv:687
TEST=try bots

Change-Id: I80b328eb5ffc7baf5f1ee5a79c16d75c45ff26cc
Reviewed-on: https://chromium-review.googlesource.com/447831
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-03-01 23:07:03 +00:00
Henrik Kjellander
fb45d18db5 Roll chromium_revision 222a3fe7a7..6557cd40de (448367:453708)
Change log: 222a3fe7a7..6557cd40de
Full diff: 222a3fe7a7..6557cd40de

Changed dependencies:
* libyuv/base: b9d4d9b0e5..12a9434f99
* libyuv/build: 47e07d6798..b49954da30
* libyuv/buildtools: a7cc7a3e21..b3771b1935
* libyuv/ios: 291daef6af..c2fcb0a613
* libyuv/testing: 178a302b13..632f9abe3f
* libyuv/testing/gtest: 6f8a66431c..aa148eb2b7
* libyuv/third_party: 4f196478f6..e95cda5573
* libyuv/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/b43a6a289a..e429db7f48
* libyuv/third_party/catapult: 4ee31ea3b4..e8af4a7e11
* libyuv/third_party/colorama/src: 799604a104..ec81728111
* libyuv/third_party/gflags/src: 03bebcb065..30dbc81fb5
* libyuv/third_party/gtest-parallel: 8768563f5c..1dad0e9f6d
* libyuv/third_party/icu: 9cd2828740..450be73c9e
* libyuv/third_party/junit/src: 64155f8a9b..9e98a85ecf
* libyuv/third_party/lss: https://chromium.googlesource.com/linux-syscall-support.git/+log/3f6478ac95..5cedb6bf4e
* libyuv/third_party/mockito/src: de83ad4598..fb5738f071
* libyuv/third_party/requests/src: f172b30356..2aaf6ac038
* libyuv/third_party/robolectric/robolectric: e38b49a12f..6987796da8
* libyuv/tools: 54fd165044..254878a411
* libyuv/tools/gyp: e7079f0e0e..a7055b3989
* libyuv/tools/swarming_client: ebc8dab6f8..460def717a
DEPS diff: 222a3fe7a7..6557cd40de/DEPS

Clang version changed 289944:296320
Details: 222a3fe7a7..6557cd40de/tools/clang/scripts/update.py

TBR=
BUG=None

Change-Id: I484df7dff41046121566b6d95175f911d4aa6e46
Reviewed-on: https://chromium-review.googlesource.com/447903
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Henrik Kjellander <kjellander@chromium.org>
2017-02-28 22:27:20 +00:00