- 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 2 commits
-
-
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>
-
Frank Barchard authored
Make parameters match in the code to the header. TBR=braveyao@chromium.org Bug: libyuv:782 Test: try bots still build Change-Id: Id53fa2fe988aee5e125d87bc5fe70cce6b275403 Reviewed-on: https://chromium-review.googlesource.com/938948Reviewed-by: Frank Barchard <fbarchard@chromium.org>
-
- 24 Feb, 2018 1 commit
-
-
Frank Barchard authored
Each byte is converted to float (0.0 to 255.0) and then multiplied by a scale parameter. Bug: None Test: arm 64 build passes. Change-Id: I04736798540b8d985f60abdf0388e24a209d075b Reviewed-on: https://chromium-review.googlesource.com/930226 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: Ian Field <ianfield@google.com>
-