- 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>
-
- 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>
-
- 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>
-
- 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>
-
- 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>
-
- 10 Aug, 2018 1 commit
-
-
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>
-
- 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>
-
- 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>
-
- 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>
-
- 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 1 commit
-
-
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>
-
- 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>
-
- 28 Mar, 2018 2 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>
-
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>
-
- 20 Mar, 2018 1 commit
-
-
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 1 commit
-
-
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>
-
- 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>
-
- 22 Feb, 2018 1 commit
-
-
Frank Barchard authored
32 bit thumb2 performance: NV12ToARGB_Opt (472 ms) NV21ToARGB_Opt (466 ms) NV12ToRGB24_Opt (457 ms) NV21ToRGB24_Opt (457 ms) NV12ToRGB565_Opt (501 ms) Bug: libyuv:778 Test: add new NV21ToRGB24 test Change-Id: I330585789835c79ee4b4da61d164716598268df3 Reviewed-on: https://chromium-review.googlesource.com/924646Reviewed-by:
Cheng Wang <wangcheng@google.com>
-
- 21 Feb, 2018 1 commit
-
-
Frank Barchard authored
ARGB rotation using scaling code. Previously it had forward declarations of the low level row functions used. This CL uses the header and hooks up Any and MSA versions of the code. Bug: libyuv:779 Test: perf record out/Release/libyuv_unittest --gtest_filter=*ARGBRotate90_Opt --libyuv_width=640 --libyuv_height=359 --libyuv_repeat=999 Change-Id: Ifacd58b26bb17a236181a404fad589fd2543b911 Reviewed-on: https://chromium-review.googlesource.com/927530Reviewed-by:
Weiyong Yao <braveyao@chromium.org>
-
- 15 Feb, 2018 2 commits
-
-
Frank Barchard authored
Bug: libyuv:777 Test: None Change-Id: I69b81f51c50d7739cfdb3cfb0c3d315c32bd63d2 Reviewed-on: https://chromium-review.googlesource.com/923042Reviewed-by:
Miguel Casas <mcasas@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Frank Barchard authored
BGR variation of 10 bit conversion using swapped U and V and mirrored matrix to produce AB30 format instead of AR30. Bug: libyuv:777 Test: LibYUVConvertTest.H010ToAB30_Opt Change-Id: I96d115a5d1e12138f40cb548871e03aa3ab210eb Reviewed-on: https://chromium-review.googlesource.com/922284 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by:
Miguel Casas <mcasas@chromium.org>
-
- 07 Feb, 2018 1 commit
-
-
Frank Barchard authored
Bug: libyuv:750 Test: builds and runs and passes more tidy tests Change-Id: I023699a7aa61ea3f5e4a21647112691ea5739281 Reviewed-on: https://chromium-review.googlesource.com/902170Reviewed-by:
Weiyong Yao <braveyao@chromium.org>
-
- 02 Feb, 2018 1 commit
-
-
Frank Barchard authored
I422ToUYVYRow_AVX2 optimized from 7 cycles per 32 pixels to 4.6 cycles. Instead of 2 vpermq and vpunpcklbw: vmovdqu (%1),%%xmm2 vmovdqu 0x00(%1,%2,1),%%xmm3 vpermq $0xd8,%%ymm2,%%ymm2 vpermq $0xd8,%%ymm3,%%ymm3 vpunpcklbw %%ymm3,%%ymm2,%%ymm2 ..use vpmovzxbd to expand the bytes to shorts, then vpslld and vpor vpmovzxbd (%1),%%ymm2 vpmovzxbd 0x00(%1,%2,1),%%ymm3 vpslld $0x10,%%ymm3,%%ymm3 vpor %%ymm3,%%ymm2,%%ymm2 which reduces the port 5 bottleneck by 1 cycle. Bug: libyuv:556 Test: out/Release/libyuv_unittest --gtest_filter=*I42?To*UY*Opt Change-Id: I53799e53cc6b090a1a695c839094c193be3eecaf Reviewed-on: https://chromium-review.googlesource.com/899873 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by:
richard winterton <rrwinterton@gmail.com> Reviewed-by:
Cheng Wang <wangcheng@google.com>
-
- 01 Feb, 2018 1 commit
-
-
Frank Barchard authored
I420 and I422 To YUY2 and UYVY ported from SSE2 to AVX2. Was SSE2 I420ToYUY2_Opt (135 ms) I420ToUYVY_Opt (148 ms) I422ToYUY2_Opt (145 ms) I422ToUYVY_Opt (142 ms) Now AVX2 I420ToYUY2_Opt (133 ms) I420ToUYVY_Opt (130 ms) I422ToYUY2_Opt (127 ms) I422ToUYVY_Opt (137 ms) Bug: libyuv:556 Test: out/Release/libyuv_unittest --sandbox_unittests --gtest_filter=*I42?To*UY*Opt Change-Id: Ic35f97cee02dc009fd98785589ba17c7cf50bb35 Reviewed-on: https://chromium-review.googlesource.com/892493 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by:
richard winterton <rrwinterton@gmail.com>
-
- 27 Jan, 2018 1 commit
-
-
Frank Barchard authored
Was SSSE3 H010ToAR30_Opt (635 ms) Now AVX2 H010ToAR30_Opt (448 ms) Bug: libyuv:751 Test: LibYUVConvertTest.H010ToAR30_Opt Change-Id: I17b1a0e3268c4a9836e09683dd3377fb1ce60932 Reviewed-on: https://chromium-review.googlesource.com/889906 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by:
Miguel Casas <mcasas@chromium.org>
-
- 26 Jan, 2018 1 commit
-
-
Frank Barchard authored
Was SSSE3 I420ToAR30_Opt (635 ms) Now AVX2 I420ToAR30_Opt (446 ms) Bug: libyuv:751 Test: LibYUVConvertTest.H010ToAR30_Opt Change-Id: I261be19ec981136a8f453ae0d3211532a790e5c5 Reviewed-on: https://chromium-review.googlesource.com/887750Reviewed-by:
Frank Barchard <fbarchard@chromium.org> Reviewed-by:
Cheng Wang <wangcheng@google.com> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 25 Jan, 2018 1 commit
-
-
Frank Barchard authored
[ RUN ] LibYUVConvertTest.TestH420ToAR30 uniques: B 222, G, 222, R 222 [ OK ] LibYUVConvertTest.TestH420ToAR30 (0 ms) [ RUN ] LibYUVConvertTest.TestH420ToARGB uniques: B 220, G, 220, R 220 [ OK ] LibYUVConvertTest.TestH420ToARGB (0 ms) Bug: libyuv: 751 Test: LibYUVConvertTest.TestH420ToAR30 Change-Id: I9b75af286124c058c24799778a58c3feb9a1a1ab Reviewed-on: https://chromium-review.googlesource.com/884845Reviewed-by:
Miguel Casas <mcasas@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 24 Jan, 2018 1 commit
-
-
Frank Barchard authored
Use C99 types internally but define old types for compatibility with older API. (r1690 and earlier) TBR=braveyao@chromium.org Bug: libyuv:774 Test: try bots build on all platforms Change-Id: I06f89537da3875f74e65189897e67b69af2c2ec2 Reviewed-on: https://chromium-review.googlesource.com/882501Reviewed-by:
Frank Barchard <fbarchard@chromium.org>
-