- 07 Aug, 2019 2 commits
-
-
Frank Barchard authored
BUG=libyuv:833 Change-Id: I9b6653e9c304b4e0805b7d3c8408ce57009c8559 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1740682Reviewed-by:
Hirokazu Honda <hiroh@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Frank Barchard authored
Fix ARGBToUVJRow_AVX2 constants for win32 BUG=libyuv:833, libyuv:839 Change-Id: Id4731a573d40d7a9b46fcc31c2fee295483e1ff6 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1739509 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by:
Hirokazu Honda <hiroh@chromium.org>
-
- 26 Jul, 2019 1 commit
-
-
Frank Barchard authored
Based on ARGBShuffle but with count adjusted and new shuffle mask BUG=libyuv:809 Change-Id: Idd936ee6bedcf285607a68c2fc54d876b4becc01 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1711882Reviewed-by:
richard winterton <rrwinterton@gmail.com> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 18 Jul, 2019 1 commit
-
-
Frank Barchard authored
BUG=libyuv:809 Change-Id: I75afb5612dcd05820479848a90ad16b07a7981bc Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1707229Reviewed-by:
richard winterton <rrwinterton@gmail.com> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 02 Jul, 2019 1 commit
-
-
Frank Barchard authored
Apply clang-format to fix jpeg if() for lint fix. Change comments about 4th pixel for open source compliance. Rename UVToVU to SwapUV for consistency with MergeUV. BUG=b/135532289, b/136515133 Change-Id: I9ce377c57b1d4d8f8b373c4cb44cd3f836300f79 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1685936Reviewed-by:
Chong Zhang <chz@google.com> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 01 Jul, 2019 1 commit
-
-
Frank Barchard authored
Includes a rounding change for neon. BUG=b/135532289 Change-Id: I36ffb57b55db6c64804ad169def865be1ac6d66e Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1684439 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by:
Chong Zhang <chz@google.com>
-
- 29 May, 2019 1 commit
-
-
Frank Barchard authored
BUG=b/249563884 Change-Id: I41b45b274313ec22f5e3799000242da1ec692586 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1629527 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by:
richard winterton <rrwinterton@gmail.com>
-
- 14 May, 2019 1 commit
-
-
Frank Barchard authored
Gaussian blur low levels ported to 32 bit neon. But they are not hooked up to anything but a unittest. Bug:b/248041731, b/132108021, b/129908793 Change-Id: Iccebb8ffd6b719810aa11dd770a525227da4c357 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1611206 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by:
Chong Zhang <chz@google.com>
-
- 06 May, 2019 1 commit
-
-
Emmanuel Weber authored
Bug: b:132108021 Change-Id: Ife6abbd54c4620984e412c9244c6b65fe4c7946a Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1597418Reviewed-by:
Frank Barchard <fbarchard@chromium.org>
-
- 12 Apr, 2019 1 commit
-
-
Frank Barchard authored
BUG=libyuv:832 TESTED=out/Release/libyuv_unittest --gtest_filter=*ToNV12* --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=1000 --libyuv_flags=-1 --libyuv_cpu_info=-1 R=rrwinterton@gmail.com Change-Id: Id03b4613211fb6a6e163d10daa7c692fe31e36d8 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1560080 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by:
richard winterton <rrwinterton@gmail.com> Reviewed-by:
Frank Barchard <fbarchard@chromium.org>
-
- 05 Mar, 2019 1 commit
-
-
Frank Barchard authored
Alternatives to RGB24 and AYUV for working with GPU. BUG=libyuv:832 TESTED=out/Release/libyuv_unittest --gtest_filter=*NV21To???24* --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=1000 --libyuv_flags=-1 --libyuv_cpu_info=-1 R=rrwinterton@gmail.com Change-Id: I5559c63f4bd4c847492fcb1571f7b03c58146689 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1501735Reviewed-by:
richard winterton <rrwinterton@gmail.com> Reviewed-by:
Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 01 Nov, 2018 1 commit
-
-
Frank Barchard authored
Bug: None Test: Try bots Change-Id: I7b90731e828169af96b3e0b8f8821635cff57755 Reviewed-on: https://chromium-review.googlesource.com/c/1308819Reviewed-by:
Frank Barchard <fbarchard@chromium.org>
-
- 29 Oct, 2018 1 commit
-
-
Frank Barchard authored
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/1299931Reviewed-by:
Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 25 Oct, 2018 1 commit
-
-
Frank Barchard authored
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>
-
- 24 Oct, 2018 2 commits
-
-
Frank Barchard authored
Bug: b:118386049 Change-Id: I3cf46f0f1a9f24523d5b1c86e9201b92a5bd32b0 Tested: out/Release/libyuv_unittest --gtest_filter=*ARGBToRAW* Reviewed-on: https://chromium-review.googlesource.com/c/1296803Reviewed-by:
Mirko Bonadei <mbonadei@chromium.org>
-
Frank Barchard authored
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/1297710Reviewed-by:
Johann Koenig <johannkoenig@google.com>
-
- 10 Oct, 2018 1 commit
-
-
Frank Barchard authored
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>
-
- 08 Oct, 2018 1 commit
-
-
Frank Barchard authored
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>
-
- 03 Oct, 2018 1 commit
-
-
Frank Barchard authored
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/1258743Reviewed-by:
Frank Barchard <fbarchard@chromium.org>
-
- 04 Sep, 2018 1 commit
-
-
Frank Barchard authored
Bug: libyuv:816, libyuv:804 Change-Id: I73a6960b2cc6f3ca31c43c44ccd8b01f5e9e7013 Test" Untested Reviewed-on: https://chromium-review.googlesource.com/1205053Reviewed-by:
Nico Weber <thakis@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 11 Aug, 2018 1 commit
-
-
lixia zhang authored
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/1164627Reviewed-by:
Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 10 Aug, 2018 2 commits
-
-
Frank Barchard authored
Bug: libyuv:812 Test: LibYUVConvertTest.H420ToRGB565_Opt Change-Id: Ie85ece74e0bc2b5f789cfcde76703fff6474c0e0 Reviewed-on: https://chromium-review.googlesource.com/1171380Reviewed-by:
Mirko Bonadei <mbonadei@chromium.org> Reviewed-by:
Frank Barchard <fbarchard@chromium.org>
-
Chong Zhang authored
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>
-
- 06 Aug, 2018 1 commit
-
-
Martin Storsjö authored
This was changed in 21be9122. Change-Id: I6c04dc92f673557e10c231bd090ec8aa88b6bee4 Reviewed-on: https://chromium-review.googlesource.com/1146183Reviewed-by:
Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 03 Aug, 2018 1 commit
-
-
Frank Barchard authored
Bug: libyuv:810,libyuv:811 Test: cmake . && make Change-Id: I521b45ccb6e49ff70823e415efa99fc5b9daad99 Reviewed-on: https://chromium-review.googlesource.com/1162503Reviewed-by:
Johann Koenig <johannkoenig@google.com>
-
- 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 1 commit
-
-
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>
-
- 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>
-
- 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>
-
- 13 Apr, 2018 2 commits
-
-
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>
-
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>
-
- 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>
-
- 30 Mar, 2018 1 commit
-
-
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>
-
- 28 Mar, 2018 3 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>
-