- 31 Jul, 2018 1 commit
-
-
Ryan Tseng authored
Catapult uses this for win32con Bug: 869249 Change-Id: I6775ff7834100d2b4a55eee3330369fc15b2f14f Reviewed-on: https://chromium-review.googlesource.com/1157139Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Ryan Tseng <hinoka@chromium.org>
-
- 20 Jul, 2018 1 commit
-
-
lixia zhang authored
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>
-
- 09 Jul, 2018 1 commit
-
-
Frank Barchard authored
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>
-
- 04 Jul, 2018 1 commit
-
-
Frank Barchard authored
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>
-
- 29 Jun, 2018 1 commit
-
-
Johann authored
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
-
- 26 Jun, 2018 1 commit
-
-
Frank Barchard authored
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>
-
- 20 Jun, 2018 2 commits
-
-
Johann authored
Consistently use one style of line endings for the repository Change-Id: Idd70e3d7f3a7a6641b268a81e51eebf9c705b67d Reviewed-on: https://chromium-review.googlesource.com/1107877Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Johann authored
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/1107879Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 16 Jun, 2018 1 commit
-
-
Tom Anderson authored
BUG=libyuv:795 Change-Id: Ic1eb6eb841e763c0d58e6fb36322addb3956d8f2 Reviewed-on: https://chromium-review.googlesource.com/1103311Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 15 Jun, 2018 1 commit
-
-
Tom Anderson authored
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] https://chromium.googlesource.com/chromium/src.git/+/d7ed1f0a9c28c932fddc834ca5de44f28266c7f5 BUG=chromium:845700 R=fbarchard Change-Id: I01ade690f3f098599ec271a1e82ec34c573e21d7 Reviewed-on: https://chromium-review.googlesource.com/1102100Reviewed-by: Frank Barchard <fbarchard@chromium.org>
-
- 12 Jun, 2018 1 commit
-
-
Frank Barchard authored
BUG=libyuv:799 TESTED=try bots build Change-Id: Ib4ce8d928069445a710c1e30ea85d9dccc820b6c Reviewed-on: https://chromium-review.googlesource.com/1097561Reviewed-by: Miguel Casas <mcasas@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 01 Jun, 2018 1 commit
-
-
Frank Barchard authored
This reverts commit a8aa921c. 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/1081267Reviewed-by: Frank Barchard <fbarchard@chromium.org> Reviewed-by: Weiyong Yao <braveyao@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 11 May, 2018 1 commit
-
-
Frank Barchard authored
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/1054830Reviewed-by: Frank Barchard <fbarchard@chromium.org>
-
- 19 Apr, 2018 1 commit
-
-
Robert Bares authored
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>
-
- 18 Apr, 2018 1 commit
-
-
Patrik Höglund authored
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/1016380Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 13 Apr, 2018 5 commits
-
-
Johann authored
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/996553Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Frank Barchard authored
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/1012462Reviewed-by: Johann Koenig <johannkoenig@google.com> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Johann authored
BUG=webm:1509 Change-Id: I74db6e287952b343021c0a17a80c973517080517 Reviewed-on: https://chromium-review.googlesource.com/996311Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Johann authored
When casting input for loads, include modifiers such as 'const' Clears build warnings: warning: cast from type 'const uint8_t* {aka const unsigned char*}' to type 'uint32_t* {aka unsigned int*}' casts away qualifiers [-Wcast-qual] Bug: webm:1509, 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: I1e3b2fe2a4ae9dd466c3db9cde0560aceb9d1398 Reviewed-on: https://chromium-review.googlesource.com/996393Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Martin Storsjö authored
This is the same fix as in d4cfc7bc, but applied at the second block that also defines HAS_HASHDJB2_AVX2. Remove the duplicated, redundant block. Change-Id: I53e0fc5f46e2ed5c14a4531c2b571c72d969a471 Reviewed-on: https://chromium-review.googlesource.com/989432Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 12 Apr, 2018 1 commit
-
-
Johann authored
The file this referes to (x86inc.asm) was removed in commit c9986313 BUG=libyuv:790 Change-Id: I4aae28475ef11e01304daf2aaf60a0404752cfa7 Reviewed-on: https://chromium-review.googlesource.com/996373Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 11 Apr, 2018 1 commit
-
-
Oleh Prypin authored
Bug: webrtc:9104 No-Try: True Change-Id: I3860b0f7b07fa5110a0bc552965c49801c7a3acd Reviewed-on: https://chromium-review.googlesource.com/1005002 Commit-Queue: Oleh Prypin <oprypin@chromium.org> Reviewed-by: Patrik Höglund <phoglund@chromium.org>
-
- 03 Apr, 2018 1 commit
-
-
Frank Barchard authored
iOS simulator has the option to build with xcode instead of clang. GN use_xcode_clang=true enables the xcode build. As of version Xcode 9.2, the clang version used does not support AVX512. The version reported is version 9, but for normal clang, version 7 is sufficient to AVX512. When a version of XCode does support AVX512, the version check can be updated to allow AVX512 for newer versions of XCode. with XCode 9.2 the following macro is set. __APPLE_CC__ 6000 Bug: libyuv:789 Test: gn gen out/Release "--args=is_debug=false target_os=\"ios\" ios_enable_code_signing=false target_cpu=\"x86\" use_xcode_clang=true" Change-Id: I5a9a0b4a2760c7d09a4bcb464b3668979113b07e Reviewed-on: https://chromium-review.googlesource.com/991595Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 31 Mar, 2018 1 commit
-
-
Martin Storsjö authored
When detected, add the necessary defines to actually use it. Change-Id: I540c3e11e480be8aaab154ad91ee08cdc52319de Reviewed-on: https://chromium-review.googlesource.com/988432 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: Frank Barchard <fbarchard@chromium.org>
-
- 30 Mar, 2018 3 commits
-
-
Martin Storsjö authored
In these cases, CLANG_HAS_AVX2 is defined, but _MSC_VER isn't. The corresponding codepaths are in source/compare_win.cc, and the whole file is guarded with a defined(_MSC_VER). This is the same fix as in d8680893, but this issue wasn't noticed since compare.o wasn't linked in in earlier tested configurations. Change-Id: Ifff6d4bd7b1071256df1169881490a52026c183b Reviewed-on: https://chromium-review.googlesource.com/988573Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Martin Storsjö authored
Change-Id: Ib6367fa94c60f7239fe02ace81c06054b1b4a837 Reviewed-on: https://chromium-review.googlesource.com/988532Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Frank Barchard authored
Bug: libyuv:789 Test: builds locally on linux with clang Change-Id: I3000494d4b0b18f59d7852bc1bc0c9e422d2d63a Reviewed-on: https://chromium-review.googlesource.com/987331Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 28 Mar, 2018 4 commits
-
-
Frank Barchard authored
Scalar multiply expects a 'd' register. The "w" (float) uses 's' for float and wont work with the multiply in 32 bit (it does in 64 bit). A vector 2 of float passes as 'd' register. A vector 4 of float passes as 'q' register. This change copies the float into the first entry of a vector 2 and passes that. The optimizer removes the extra copy, allowing the single float to use referenced as Test: LibYUVPlanarTest.TestByteToFloat Bug: libyuv:786 Change-Id: I8773c5bae043c7b84e1d1db7fdea6731aa0b1323 Reviewed-on: https://chromium-review.googlesource.com/973984 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: Miguel Casas <mcasas@chromium.org>
-
Martin Storsjö authored
In these cases, CLANG_HAS_AVX2 is defined, but _MSC_VER isn't. The corresponding codepaths are in source/row_win.cc, and the whole file is guarded with an defined(_MSC_VER). Change-Id: Idf0cfced3a0ef28c07b1393fe605a904420fd50f Reviewed-on: https://chromium-review.googlesource.com/983592Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Frank Barchard authored
row.h adds CLANG_HAS_AVX512 function ifdefs in row.h for avx512 source code ifdefed function by function for avx512 and avx2. Bug: libyuv:778 Test: LibYUVConvertTest.NV21ToRGB24_Opt Change-Id: If32b51459685d0d5785c5c1e94c8f668f8e74b55 Reviewed-on: https://chromium-review.googlesource.com/982402 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
Frank Barchard authored
undo clang-tidy change that introduced empty functions. Bug: libyuv:788 Test: try bots build Change-Id: I093aa72c421bace654394726026bc531a761d51d Reviewed-on: https://chromium-review.googlesource.com/982410Reviewed-by: Weiyong Yao <braveyao@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 26 Mar, 2018 1 commit
-
-
Jay Civelli authored
Adds a method that forces the CPU flags. Useful when using libyuv inside a sandboxed process which may not have access to the file system. Bug: libyuv:787 Change-Id: I01f71e39a7301085d9de388eba930b4cac0fd7be Reviewed-on: https://chromium-review.googlesource.com/972338 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: Frank Barchard <fbarchard@chromium.org>
-
- 20 Mar, 2018 2 commits
-
-
Patrik Höglund authored
This is what Chromium is moving to, and what WebRTC is using. Next step: pull xcode via CIPD. Bug:chromium:633032 Change-Id: I6a21aa0e5b212a3a9cb4e7cc79ebb614a89f73ed Reviewed-on: https://chromium-review.googlesource.com/915921 Commit-Queue: Patrik Höglund <phoglund@chromium.org> Reviewed-by: Frank Barchard <fbarchard@chromium.org>
-
Frank Barchard authored
Move getenv to unittest.cc to allow libyuv to be run in sandbox for x86, x64 and aarch64 Bug: libyuv:767 Test: unittests still run and respect environment variables Change-Id: I84cb1717977828776142b51c029774b3e6b142a3 Reviewed-on: https://chromium-review.googlesource.com/969645Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 10 Mar, 2018 2 commits
-
-
Frank Barchard authored
Use VMBI instructions but on AVX2 registers to avoid clockrate change. Bug: libyuv:778 Test: LibYUVConvertTest.NV21ToRGB24_Opt Change-Id: Id4f8ad1e0e142a380c8a46c5eab90ce145a10edd Reviewed-on: https://chromium-review.googlesource.com/956609Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
Frank Barchard authored
Change unittest flags to decimal so they can be used for --libyuv_cpu_info= Add environment variables to disable AVX 512 bits. Bug: libyuv:784 Test: LibYUVBaseTest.TestCpuHas Change-Id: Iea6704368fbe9f6d3395933da7993fb2a3453225 Reviewed-on: https://chromium-review.googlesource.com/957704Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 08 Mar, 2018 1 commit
-
-
Frank Barchard authored
AVX2 port of SSSE3 conversion to output 24 bit RGB Bug: libyuv:778 Test: LibYUVConvertTest.NV21ToRGB24_Opt Change-Id: I14f7815522d1b790ecd2bb39d9a3441e803b694a Reviewed-on: https://chromium-review.googlesource.com/953303 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 07 Mar, 2018 1 commit
-
-
Frank Barchard authored
Use 2 step conversion for NV21ToRGB24 to leverage AVX2 low levels instead of C. Was C NV21ToRGB24_Opt (882 ms) Now SSSE3 NV21ToRGB24_Opt (218 ms) Bug: libyuv:778 Test: LibYUVConvertTest.NV21ToRGB24_Opt Change-Id: I58faf766bbec4cc595aab2e217f6c874dd4b4363 Reviewed-on: https://chromium-review.googlesource.com/951629 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 02 Mar, 2018 1 commit
-
-
Frank Barchard authored
Unit tests to convert YUV to RGB previously allowed some error for differences in implementation between C and SIMD versions, and there were differences with Intel SSE2 vs ARM NEON. Now those differences are resolved, the unittest can expect exactness. Bug: libyuv:447 Test: LibYUVConvertTest.I420ToARGB_Any Change-Id: I00fe342523deba9420eb71812d09a8e89dc641a0 Reviewed-on: https://chromium-review.googlesource.com/946563Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 27 Feb, 2018 1 commit
-
-
Frank Barchard authored
Bug: None Test: try bots and lint pass Change-Id: I7429b394c89450c13732205dae672793e4bb6f44 Reviewed-on: https://chromium-review.googlesource.com/939844Reviewed-by: Noah Richards <noahric@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-