2104 Commits

Author SHA1 Message Date
Oleh Prypin
11e1761d20 Add proguard dependency to unblock DEPS roll
Also remove obsolete android ndk copy from //third_party/android_tools/ndk

Change-Id: Ief8b39d65fa82597f9f96052235923b826bd3348
Reviewed-on: https://chromium-review.googlesource.com/c/1307614
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Commit-Queue: Oleh Prypin <oprypin@chromium.org>
2018-11-01 09:57:00 +00:00
Oleh Prypin
01dcf6b699 roll_deps: Add TBR so autoroller can land changes
No-Try: True
Bug: chromium:698489
Change-Id: I38627e08331f6d981f5ed3759b744eb8e182fa7d
Reviewed-on: https://chromium-review.googlesource.com/c/1307613
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Commit-Queue: Oleh Prypin <oprypin@chromium.org>
2018-10-30 14:53:25 +00:00
Frank Barchard
c2ae68114a Fix for AVX2 crash in I420ToRGB24
I422ToRGB24 is implemented as a C wrapper for Intel, calling
I422ToARGB and ARGBToRGB24.  The ARGBToRGB24 for AVX2 requires 32
pixels.
This CL increases the width alignment required to use I422ToRGB24_AVX2

TBR=rrwinterton0gmail.com

Bug: libyuv:822, b:118386049
Change-Id: I4454f4eece33fbd5f593655f577c9ef5c00d1f63
Tested: locally tested with app that crashed using this function.
Reviewed-on: https://chromium-review.googlesource.com/c/1299931
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-10-29 19:41:53 +00:00
Oleh Prypin
97ea700d55 Remove linux_memcheck from commit queue
It seems hopelessly broken, as no other project is using/maintaining it anymore

No-Try: True
Change-Id: I2affd8e68a9aecdd2de2cd10fee11afb2f1a390a
Reviewed-on: https://chromium-review.googlesource.com/c/1301502
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Commit-Queue: Oleh Prypin <oprypin@chromium.org>
2018-10-29 07:21:06 +00:00
Frank Barchard
b36c86fdfe Port box filter to NEON
Bug: libyuv:821
Change-Id: I4a6b9bee2c2fae199c73c9ec7ecb32bde37c1852
Tested: out/Release/libyuv_unittest --gtest_filter=*ScaleFrom1920x1080_Box --libyuv_width=160 --libyuv_height=90 --libyuv_repeat=1000
Reviewed-on: https://chromium-review.googlesource.com/c/1298598
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Miguel Casas <mcasas@chromium.org>
2018-10-25 18:56:29 +00:00
Frank Barchard
b416d36c89 disable ARGBToRAWRow_AVX2 and ARGBToRGB24Row_AVX2
Bug: b:118386049
Change-Id: I3cf46f0f1a9f24523d5b1c86e9201b92a5bd32b0
Tested: out/Release/libyuv_unittest --gtest_filter=*ARGBToRAW*
Reviewed-on: https://chromium-review.googlesource.com/c/1296803
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2018-10-24 22:11:24 +00:00
Frank Barchard
1fe0613c3f MJPGToNV21
Add jpeg to NV21 conversions, unittests and conversions
for I444, I422, I420 and I420 to NV21 needed for internals.

Bug: libyuv:820
Change-Id: Idf0f15f91307e80a82cd23943f6eed5508f13fe2
Tested: out/Release/libyuv_unittest --sandbox_unittests --gtest_filter=*MJ*
Reviewed-on: https://chromium-review.googlesource.com/c/1297710
Reviewed-by: Johann Koenig <johannkoenig@google.com>
2018-10-24 22:01:13 +00:00
Oleh Prypin
0d5c10d5c6 Autoroller: pull more updates from WebRTC's copy of the script
This adds the ability to submit the CL only if the number of commits is over a certain threshold.

No-Try: True
Bug: chromium:892545
Change-Id: I70f12e63be6d26d101b81da1f9b3e80131bcbd16
Reviewed-on: https://chromium-review.googlesource.com/c/1273243
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Commit-Queue: Oleh Prypin <oprypin@chromium.org>
2018-10-11 06:32:50 +00:00
Frank Barchard
97b3990dec NV21ToRAW and NV12ToRAW functions added
RAW is a big endian style RGB buffer with R first in memory, then G and B.
Convert NV21 and NV12 to RAW format.

Performance on SkylakeX for 720p with AVX2
I420ToRAW_Opt (388 ms)
H420ToRAW_Opt (371 ms)
NV12ToRAW_Opt (341 ms)
NV21ToRAW_Opt (339 ms)

SSSE3
I420ToRAW_Opt (507 ms)
H420ToRAW_Opt (481 ms)
NV12ToRAW_Opt (498 ms)
NV21ToRAW_Opt (493 ms)

C
I420ToRAW_Opt (2287 ms)
H420ToRAW_Opt (2246 ms)
NV12ToRAW_Opt (2191 ms)
NV21ToRAW_Opt (2204 ms)

Performance on Pixel 2 for 720p
out/Release/bin/run_libyuv_unittest -v -t 7200 --gtest_filter=*NV??ToR*Opt --libyuv_repeat=1000 --libyuv_width=1280 --libyuv_height=720
LibYUVConvertTest.NV12ToRGB24_Opt (1739 ms)
LibYUVConvertTest.NV21ToRGB24_Opt (1734 ms)
LibYUVConvertTest.NV12ToRAW_Opt (1719 ms)
LibYUVConvertTest.NV21ToRAW_Opt (1691 ms)
LibYUVConvertTest.NV12ToRGB565_Opt (2152 ms)

Bug: libyuv:778, b:117522975
Test: add new NV21ToRAW and NV12ToRAW tests
Change-Id: Ieabb68a2c6d8c26743e609c5696c81bb14fb253f
Reviewed-on: https://chromium-review.googlesource.com/c/1272615
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2018-10-10 18:11:10 +00:00
Frank Barchard
594d59d043 clang tidy mismatch in J420ToRGB565
Fix parameter names to match definition and other functions
that use dst_rgb565 for the parameter.

BUG=libyuv:819, b:109762970
TESTED=locally built to ensure tests still pass.

Change-Id: I2ac20a999e60cda559a150932f0fc4075224b8a5
Reviewed-on: https://chromium-review.googlesource.com/c/1267795
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-10-08 17:38:18 +00:00
Oleh Prypin
3583835a53 Autoroller: pull some updates from WebRTC's copy of the script
This is mostly removing deprecated stuff and helping to run on LUCI

No-Try: True
Bug: chromium:892545
Change-Id: I93dbdd78d35532f65976de96cb724ee5a1a89983
Reviewed-on: https://chromium-review.googlesource.com/c/1264417
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Commit-Queue: Oleh Prypin <oprypin@chromium.org>
2018-10-05 18:31:15 +00:00
Frank Barchard
20bf569a04 Fix ConvertToI420() for odd crop_y
The original src_u calculation of FOURCC_I420 shifted half width if
crop_y is odd.
This CL fixs the problem and also add a test case for it.

Bug: b:115278653
Test: pass libyuv_unittest
Change-Id: Ia9732d22e64e13de26df47726ba44ad1c5a06484
Reviewed-on: https://chromium-review.googlesource.com/c/1258743
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-10-03 19:14:01 +00:00
Frank Barchard
9a07219dc8 Documentation update for GYP and envionment variables
Bug: libyuv:816, libyuv:804
Change-Id: I73a6960b2cc6f3ca31c43c44ccd8b01f5e9e7013
Test" Untested
Reviewed-on: https://chromium-review.googlesource.com/1205053
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-09-04 19:45:41 +00:00
Frank Barchard
759188cf02 Remove GYP support from libyuv
Also remove --if-needed from clang update in DEPS.

Bug: libyuv:816, libyuv:814
Test: bots still build and local GN build works

Change-Id: I91998b8eee1b0cbe344f02a9369a1bbc45cb0140
Reviewed-on: https://chromium-review.googlesource.com/1204790
Reviewed-by: Nico Weber <thakis@chromium.org>
2018-09-04 18:29:39 +00:00
Eric Foo
8c51cc6ddc Remove Android MIPs BB builder
Bug:869249
Change-Id: Ida001cb05e27b6a064d1b3a4ec51cc7bb537845b
Reviewed-on: https://chromium-review.googlesource.com/1179372
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Commit-Queue: Eric Foo <efoo@chromium.org>
2018-08-17 18:33:22 +00:00
Eric Foo
fdd975ae87 Flip mirrored Windows LUCI builders to prod
No-try:True
Bug:869249
Change-Id: Iaf4d0aecc5ac63e4369e840a99aea2e7fa1f3d6c
Reviewed-on: https://chromium-review.googlesource.com/1173140
Commit-Queue: Patrik Höglund <phoglund@chromium.org>
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
2018-08-16 09:40:09 +00:00
Frank Barchard
d694f0a82b Document update for running android apps
Bug: libyuv:803
Test: out/Release/bin/run_libyuv_unittest -v --gtest_filter=*ToRGB565* --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=999 --libyuv_flags=-1  --libyuv_cpu_info=-1 2>&1 | sortms
Change-Id: I024823752e410e55076cb5c5ec5ca78736848f86
Reviewed-on: https://chromium-review.googlesource.com/1173662
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-08-14 17:40:57 +00:00
Frank Barchard
67eff529ad ubsan fix for 16 bit scaling
Bug: libyuv:813
Test: tested downstream for ubsan.
Change-Id: I28c1d4e815348d051f781c9b7d8197f74905cab7
Reviewed-on: https://chromium-review.googlesource.com/1173721
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-08-14 17:40:44 +00:00
Mike Frysinger
91f0a7504b README: fix doc links
Change-Id: Iffbb35cdda9de495b0612a545893d1b7d5e3cb13
Reviewed-on: https://chromium-review.googlesource.com/1168452
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
2018-08-13 18:28:55 +00:00
lixia zhang
bf69adfd64 libyuv:loongson Correct the optimization of mmi on loongson3a platform.
When loading or storing the data, the unaligned address will greatly degrade
the optimization performance, so non-aligned access instructions are required
on the loongson platform.

Also delete the optimization function:ScaleARGBFilterCols_MMI,
because it degraded the performance.

BUG=libyuv:804
R=fbarchard@chromium.org

Change-Id: If4c15886a21cdcbac7ae8b336292e4549acf1e47
Reviewed-on: https://chromium-review.googlesource.com/1164627
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-08-11 09:27:20 +00:00
Frank Barchard
4e666c4354 Add H420ToRGB565 and J420ToRGB565 unittests
Bug: libyuv:812
Test: LibYUVConvertTest.H420ToRGB565_Opt
Change-Id: Ie85ece74e0bc2b5f789cfcde76703fff6474c0e0
Reviewed-on: https://chromium-review.googlesource.com/1171380
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-08-10 21:08:46 +00:00
Chong Zhang
b6b1c273a2 libyuv: choose matrix for YUV to RGB565 conversion
bug: 109762970
Change-Id: Iccfdc5dded2dc7695f8a7795b2f32b6401efea0d
Reviewed-on: https://chromium-review.googlesource.com/1169687
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-08-10 19:16:34 +00:00
Patrik Höglund
c417d5773b Roll chromium_revision 80f0c55706..35b72bf255 (536678:582080)
Change log: 80f0c55706..35b72bf255
Full diff: 80f0c55706..35b72bf255

Changed dependencies:
* src/base: https://chromium.googlesource.com/
  chromium/src/base/+log/733a32608c..6c0497f398
* src/build: https://chromium.googlesource.com/
  chromium/src/build/+log/8cb5352322..f79db013c7
* src/buildtools: https://chromium.googlesource.com/
  chromium/buildtools.git/+log/5941c1b3df..9a90d9aaad
* src/ios: https://chromium.googlesource.com/
  chromium/src/ios/+log/299ef76e84..8e45eb00df
* src/testing: https://chromium.googlesource.com/
  chromium/src/testing/+log/60b2c69b17..d2fde4ae5b
* src/third_party: https://chromium.googlesource.com/
  chromium/src/third_party/+log/e755204b7a..f931bb4f2b
* src/third_party/android_tools: https://chromium.googlesource.com/
  android_tools.git/+log/c22a664c39..130499e252
* src/third_party/catapult: https://chromium.googlesource.com/
  catapult.git/+log/f3ce003c2b..0d25dda9b1
* src/third_party/freetype/src: https://chromium.googlesource.com/
  chromium/src/third_party/freetype2.git/+log/a44e20879c..578bcf103a
* src/third_party/googletest/src: https://chromium.googlesource.com/
  external/github.com/google/googletest.git/+log/ba96d0b116..d526632675
* src/third_party/harfbuzz-ng/src: https://chromium.googlesource.com/
  external/github.com/harfbuzz/harfbuzz.git/+log/957e775663..2b76767bf5
* src/third_party/icu: https://chromium.googlesource.com/
  chromium/deps/icu.git/+log/d888fd2a1b..297a4dd02b
* src/third_party/mockito/src: https://chromium.googlesource.com/
  external/mockito/mockito.git/+log/de83ad4598..04a2a289a4
* src/third_party/yasm/source/patched-yasm: https://chromium.googlesource.com/
  chromium/deps/yasm/patched-yasm.git/+log/b98114e18d..720b70524a
* src/tools: https://chromium.googlesource.com/
  chromium/src/tools/+log/55c65d8fec..f2c6ed916b
* src/tools/swarming_client: https://chromium.googlesource.com/
  infra/luci/client-py.git/+log/88229872dd..486c9b53c4
DEPS diff: https://chromium.googlesource.com/
  chromium/src/+/80f0c55706..35b72bf255/DEPS

Clang version changed 334100:337439
Details: 80f0c55706..35b72bf255/tools/clang/scripts/update.py

TBR=
BUG=None

Change-Id: Ia18ef8e7dddaf2cea4364027dfe7026bc6e4733c
Reviewed-on: https://chromium-review.googlesource.com/1169812
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
2018-08-10 19:16:06 +00:00
Patrik Höglund
6b70a8c5f1 Try reordering buckets to work around gerrit tryjob plugin bug
With several buckets, it appears the gerrit tryjobs plugin only
displays the first bucket. In that case we want to display the main
UCI bucket rather than the win stragglers in buildbot.

No-try: True
Tbr: fbarchard@chromium.org
Bug: chromium:869249
Change-Id: I50dcbf668d29becbe493601be8b9db089de78b85
Reviewed-on: https://chromium-review.googlesource.com/1170688
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Commit-Queue: Patrik Höglund <phoglund@chromium.org>
2018-08-10 08:36:57 +00:00
Patrik Höglund
6e62ff3495 Fix missing brace + incorrect nesting in cq.cfg.
try_job can't be repeated, but buckets can. I think this does what
Ryan intended.

Also add a presubmit so this doesn't happen again.

No-try because CQ is broken, and even if it weren't nothing
would catch errors in cq.cfq directly.

No-try: True
Tbr: fbarchard@chromium.org
Bug: 869249
Change-Id: If84685f93275f5af691fc3fef77881156930b726
Reviewed-on: https://chromium-review.googlesource.com/1169820
Commit-Queue: Patrik Höglund <phoglund@chromium.org>
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
2018-08-10 08:20:15 +00:00
Ryan Tseng
791e7be466 [cq.cfg] Flip all builders (except windows) to LUCI
All builders look WAI now, so flipping.
In particular, the android bots have been migrated in place to LUCI,
so the buildbot varients should no longer work.

No-Try: True
Bug:869249
Change-Id: Iab96cab5d92a106df67fc2458150c0dc93b77fc4
Reviewed-on: https://chromium-review.googlesource.com/1169593
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Commit-Queue: Patrik Höglund <phoglund@chromium.org>
2018-08-10 06:37:38 +00:00
Patrik Höglund
c349c405a4 Only download Android SDK for android checkouts.
This should solve the bug where LUCI win bots try to download the SDK
and fails.

Bug: chromium:869249
Change-Id: I374ecf6508d6e3978559ec3251b89faaec99edd6
Reviewed-on: https://chromium-review.googlesource.com/1168500
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
2018-08-09 13:04:55 +00:00
Ryan Tseng
eac13700c3 Revert "Add a whitespace.txt file"
This reverts commit 6703fe287670abf0e3473230bd1cdd551ab4107f.

Reason for revert: Builders flipped, triggering first LUCI job

Original change's description:
> Add a whitespace.txt file
> 
> Bug: 869249
> Change-Id: Iab9eeade2427255ce167fb524b11e0e3f691a685
> Reviewed-on: https://chromium-review.googlesource.com/1161382
> Reviewed-by: Frank Barchard <fbarchard@chromium.org>
> Commit-Queue: Ryan Tseng <hinoka@chromium.org>
> Commit-Queue: Frank Barchard <fbarchard@chromium.org>

TBR=hinoka@chromium.org,fbarchard@chromium.org
No-Try: True

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 869249
Change-Id: I00a29051b8a1be048afe444cd7811b19c949fd85
Reviewed-on: https://chromium-review.googlesource.com/1167906
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
2018-08-08 21:05:46 +00:00
Martin Storsjö
9b772abf97 Restore the file mode for source files
This was changed in 21be9122aadf7824efe3fc19b2a09ff253a688e1.

Change-Id: I6c04dc92f673557e10c231bd090ec8aa88b6bee4
Reviewed-on: https://chromium-review.googlesource.com/1146183
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-08-06 18:53:32 +00:00
Frank Barchard
57de382902 MMI ifdef guards and add source to various build files.
Bug: libyuv:810,libyuv:811
Test: cmake . && make
Change-Id: I521b45ccb6e49ff70823e415efa99fc5b9daad99
Reviewed-on: https://chromium-review.googlesource.com/1162503
Reviewed-by: Johann Koenig <johannkoenig@google.com>
2018-08-03 18:37:23 +00:00
Ryan Tseng
6703fe2876 Add a whitespace.txt file
Bug: 869249
Change-Id: Iab9eeade2427255ce167fb524b11e0e3f691a685
Reviewed-on: https://chromium-review.googlesource.com/1161382
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Ryan Tseng <hinoka@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-08-02 22:38:10 +00:00
Ryan Tseng
f96b6a7bc9 DEPS: Invoke play services hook with vpython
Otherwise it will inherit the empty python venv.

Bug: 869249
TBR: fbarchard
Change-Id: Ib77d116863f44f482b2cd7cbfaf71966ce2b7629
Reviewed-on: https://chromium-review.googlesource.com/1157535
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
Commit-Queue: Ryan Tseng <hinoka@chromium.org>
2018-07-31 23:55:53 +00:00
Ryan Tseng
63d5de79cd [vpython]: Add pypiwin32
Catapult uses this for win32con

Bug: 869249
Change-Id: I6775ff7834100d2b4a55eee3330369fc15b2f14f
Reviewed-on: https://chromium-review.googlesource.com/1157139
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Ryan Tseng <hinoka@chromium.org>
2018-07-31 19:31:36 +00:00
lixia zhang
21be9122aa libyuv:loongson optimize compare/row/scale/rotate files with mmi.
Currently, libyuv supports MIPS SIMD Arch(MSA),
but libyuv does not supports MultiMedia Instruction(MMI)(such as loongson3a platform).

In order to improve performance of libyuv on loongson3a platform,
this provides optimize 98 functions with mmi.

BUG=libyuv:804

Change-Id: I8947626009efad769b3103a867363ece25d79629
Reviewed-on: https://chromium-review.googlesource.com/1122064
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-07-20 22:53:04 +00:00
Frank Barchard
55f5d91f11 Disable old int types by default.
Legacy types can cause build errors with code that defines
them differently.  Disable them by default.  Allow the types
to be enabled with #define LIBYUV_LEGACY_TYPES

BUG=libyuv:808
TESTED=libyuv try bots still build

Change-Id: I48928329393f44a377cec781e645570b14569668
Reviewed-on: https://chromium-review.googlesource.com/1129558
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-07-09 21:16:47 +00:00
Frank Barchard
9ac881f4aa msa use void * for loads
the built in __msa_ld_b() expects a void * without const.
Cast pointers to void * to avoid build warning.

TBR=johannkoenig@google.com
Bug: libyuv:805
Change-Id: Iabc4820ecf4a3a7dcb0063e67ce276ae2a4f0501
Tested: gn gen out/Release "--args=is_debug=false target_os=\"android\" target_cpu=\"mips64el\" mips_arch_variant=\"r6\" mips_use_msa=true is_component_build=true is_clang=true"
ninja -v -C out/Release libyuv_unittest
Reviewed-on: https://chromium-review.googlesource.com/1125400
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-07-04 00:24:19 +00:00
Johann
8b458d5bd9 xcode: disable avx512 support
xcode reports clang version 9. It does not appear to support inline
assembly using avx512 instructions.

Tested with cmake libyuv on Mac. Fails without this patch.

BUG=libyuv:789
2018-06-29 06:50:29 -07:00
Frank Barchard
4d67b3e851 Add H420 and H422 to ConvertToARGB()
H420/H422 are bt.720 variants

TBR=braveyao@chromium.org
BUG=libyuv:799
TESTED=try bots tested build on all platforms

Change-Id: I007d8981d91ca0748c59403759109bbcd88f286c
Reviewed-on: https://chromium-review.googlesource.com/1115719
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-06-26 22:52:42 +00:00
Johann
a37e7bfece use unix line endings
Consistently use one style of line endings for the repository

Change-Id: Idd70e3d7f3a7a6641b268a81e51eebf9c705b67d
Reviewed-on: https://chromium-review.googlesource.com/1107877
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-06-20 23:19:59 +00:00
Johann
bf25313b83 add const to msa loads
Avoid warnings regarding loss of qualifiers:
warning: cast from type ‘const uint8_t* {aka const unsigned char*}’
to type ‘v16i8* {aka __vector(16) signed char*}’ casts away
qualifiers

BUG=libyuv:793

Change-Id: Ie0d215bc07b49285b5d06ee91ccc2c9a7979799e
Reviewed-on: https://chromium-review.googlesource.com/1107879
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-06-20 22:56:09 +00:00
Tom Anderson
bc383e76d6 Update DEPS necessary to green-up CQ bots
BUG=libyuv:795

Change-Id: Ic1eb6eb841e763c0d58e6fb36322addb3956d8f2
Reviewed-on: https://chromium-review.googlesource.com/1103311
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-06-16 01:11:31 +00:00
Tom Anderson
780cdfed4e Remove manual references to exe_and_shlib_deps
After [1], a manual dependency on exe_and_shlib_deps is no longer necessary
since it's automatically added.  This CL removes all remaining manual references
to exe_and_shlib_deps.

[1] d7ed1f0a9c

BUG=chromium:845700
R=fbarchard

Change-Id: I01ade690f3f098599ec271a1e82ec34c573e21d7
Reviewed-on: https://chromium-review.googlesource.com/1102100
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-06-15 22:07:38 +00:00
Frank Barchard
083aa718b9 Add AR30 and AB30 to ConvertToARGB() and fix negative NV12 height
BUG=libyuv:799
TESTED=try bots build

Change-Id: Ib4ce8d928069445a710c1e30ea85d9dccc820b6c
Reviewed-on: https://chromium-review.googlesource.com/1097561
Reviewed-by: Miguel Casas <mcasas@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-06-12 19:04:40 +00:00
Frank Barchard
196e2e72a3 Revert "Allow negative height when ConvertToI420/ARGB is called with NV12/NV21"
This reverts commit a8aa921c4614f9d6a0e8f3459648ca1ae75cdbe6.

Reason for revert: breaks a webrtc unittest on Windows.

https://bugs.chromium.org/p/webrtc/issues/detail?id=9263&can=2&start=0&num=100&q=&colspec=ID%20Pri%20M%20ReleaseBlock%20Component%20Status%20Owner%20Summary&groupby=&sort=

Original change's description:
> Allow negative height when ConvertToI420/ARGB is called with NV12/NV21
> 
> ConvertToI420 and ConvertToARGB support the use of a negative height
> parameter to flip the image vertically. When converting from NV12 or
> NV21 this parameter was misinterpreted, resulting in invalid output.
> This CL introduces the use of abs_src_height to correctly calculate
> the location of the source UV plane.
> 
> The sign of crop_height is not used, to reduce confusion ConvertToI420
> and ConvertToARGB no longer accept negative crop height.
> 
> Unit tests for Android420ToI420 are updated to fix miscalculation of
> src_stride_uv, fix incorrect pixel strides, and to test inversion.
> New unit tests are included to test inversion for ConvertToARGB,
> ConvertToI420, Android420ToARGB, and Android420ToABGR.
> For consistency the test NV12Crop is renamed ConvertToI420_NV12_Crop.
> 
> Bug: libyuv:446
> Test: out/Release/libyuv_unittest --gtest_filter=*.ConvertTo*:*.Android420To*
> Change-Id: Idc98e62671cb30272cfa7e24fafbc8b73712f7c6
> Reviewed-on: https://chromium-review.googlesource.com/994074
> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
> Reviewed-by: Frank Barchard <fbarchard@chromium.org>

TBR=fbarchard@chromium.org,robert@bares.me

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: libyuv:446, chromium:9263, libyuv:801
Change-Id: I7c55b3fcb477f9754c249b9c2c54b24da2c29283
Reviewed-on: https://chromium-review.googlesource.com/1081267
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Weiyong Yao <braveyao@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-06-01 00:19:40 +00:00
Frank Barchard
a7fb978e30 ARGBExtractAlphaRow_Any_AVX2 fix pixel count mask
Mask was set to 32, but should have been 31.
BUG=libyuv:798
TESTED=try bots tested

Change-Id: I6120928873a4a2f1efef907d8e8296ca8c20bb03
Reviewed-on: https://chromium-review.googlesource.com/1054830
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-05-11 07:13:58 +00:00
Robert Bares
a8aa921c46 Allow negative height when ConvertToI420/ARGB is called with NV12/NV21
ConvertToI420 and ConvertToARGB support the use of a negative height
parameter to flip the image vertically. When converting from NV12 or
NV21 this parameter was misinterpreted, resulting in invalid output.
This CL introduces the use of abs_src_height to correctly calculate
the location of the source UV plane.

The sign of crop_height is not used, to reduce confusion ConvertToI420
and ConvertToARGB no longer accept negative crop height.

Unit tests for Android420ToI420 are updated to fix miscalculation of
src_stride_uv, fix incorrect pixel strides, and to test inversion.
New unit tests are included to test inversion for ConvertToARGB,
ConvertToI420, Android420ToARGB, and Android420ToABGR.
For consistency the test NV12Crop is renamed ConvertToI420_NV12_Crop.

Bug: libyuv:446
Test: out/Release/libyuv_unittest --gtest_filter=*.ConvertTo*:*.Android420To*
Change-Id: Idc98e62671cb30272cfa7e24fafbc8b73712f7c6
Reviewed-on: https://chromium-review.googlesource.com/994074
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-04-19 02:41:27 +00:00
Patrik Höglund
5669005fc0 Skip cipd dependencies when autorolling.
This is a stop-gap; it will simply cause cipd deps to not be updated,
which will probably keep things working for now, but it's not what we
want for the long term.

Bug: chromium:659808
Change-Id: I292b96f174c8d910c0b5f0196eefd0e5a5f907c2
Reviewed-on: https://chromium-review.googlesource.com/1016380
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-04-18 18:37:26 +00:00
Johann
b8696fde84 add const to casts
When casting a const value, ensure the cast is const as well.

BUG=webm:1509

Change-Id: I5b597fdcc148d111e9824bc7cf918fc5f24e970f
Reviewed-on: https://chromium-review.googlesource.com/996553
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-04-13 22:52:52 +00:00
Frank Barchard
7e5e12757b use attribute to alias for punning float to int
Bug: libyuv:791
Test: g++ -Iinclude -I../libvpx/third_party/libwebm -I../libvpx/vp8 -I../libvpx/vp8 -I../libvpx/vp9 -I../libvpx/vp9 -Iinclude -m64 -DNDEBUG -O3 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wdisabled-optimization -Wfloat-conversion -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wuninitialized -Wunused -Wextra -I. -I"../libvpx" -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Wno-unused-parameter -c -o third_party/libyuv/source/row_common.cc.o source/row_common.cc
Change-Id: Ia006cb9212b671ae668cab5ec0b29759024a2c8a
Reviewed-on: https://chromium-review.googlesource.com/1012462
Reviewed-by: Johann Koenig <johannkoenig@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-04-13 19:20:52 +00:00
Johann
2edf6745e0 update linux makefile with mips/msa files
BUG=webm:1509

Change-Id: I74db6e287952b343021c0a17a80c973517080517
Reviewed-on: https://chromium-review.googlesource.com/996311
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-04-13 18:58:52 +00:00