- 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>
-
- 24 Jan, 2018 1 commit
-
-
Frank Barchard authored
TBR=braveyao@chromium.org Bug: libyuv:774 Test: git cl lint Change-Id: I51cf8107a8db17fbc9952d610f3e4d7aac5aa743 Reviewed-on: https://chromium-review.googlesource.com/882217Reviewed-by:
Frank Barchard <fbarchard@chromium.org>
-
- 23 Jan, 2018 1 commit
-
-
Frank Barchard authored
Append _t to all sized types. uint64 becomes uint64_t etc Bug: libyuv:774 Test: try bots build on all platforms Change-Id: Ide273d7f8012313d6610415d514a956d6f3a8cac Reviewed-on: https://chromium-review.googlesource.com/879922Reviewed-by:
Miguel Casas <mcasas@chromium.org>
-
- 02 Jan, 2018 1 commit
-
-
Frank Barchard authored
LIBYUV_SSSE3_ONLY was for functions that have SSE2 and SSSE3 but are compiling for SSSE3, so SSE2 will never be used. Remove the SSE2 implementation of ARGBSHUFFLEROW_SSE2 and rely on SSSE3. Bug: libyuv: 769 Test: ~/intelsde/sde -p4 -- out/Release/libyuv_unittest --gtest_filter=LibYUVConvertTest.ARGBToABGR_Opt Change-Id: I7443f4d8ee3c6f47edd2cf1d5a1eb0f8d7a1eeeb Reviewed-on: https://chromium-review.googlesource.com/846541Reviewed-by:
Weiyong Yao <braveyao@chromium.org> Reviewed-by:
Frank Barchard <fbarchard@chromium.org>
-
- 04 Aug, 2017 1 commit
-
-
Frank Barchard authored
BUG=libyuv:717 TEST=ScaleSum unittest to compare C vs Arm implementation TBR=kjellander@chromium.org Change-Id: Iaa7af5547d979aad4722f868d31b405340115748 Reviewed-on: https://chromium-review.googlesource.com/600534Reviewed-by:
Cheng Wang <wangcheng@google.com>
-
- 11 Feb, 2017 1 commit
-
-
Frank Barchard authored
Uses 1 add instead of 2 leas to reduce port pressure on ports 1 and 5 used for SIMD instructions. BUG=libyuv:670 TEST=~/iaca-lin64/bin/iaca.sh -arch HSW out/Release/obj/libyuv/row_gcc.o Change-Id: I3965ee5dcb49941a535efa611b5988d977f5b65c Reviewed-on: https://chromium-review.googlesource.com/433391Reviewed-by:
Frank Barchard <fbarchard@google.com> Commit-Queue: Frank Barchard <fbarchard@google.com>
-
- 11 Jan, 2017 1 commit
-
-
Frank Barchard authored
Optimized functions: I444ToARGBRow_DSPR2 I422ToARGB4444Row_DSPR2 I422ToARGB1555Row_DSPR2 NV12ToARGBRow_DSPR2 BGRAToUVRow_DSPR2 BGRAToYRow_DSPR2 ABGRToUVRow_DSPR2 ARGBToYRow_DSPR2 ABGRToYRow_DSPR2 RGBAToUVRow_DSPR2 RGBAToYRow_DSPR2 ARGBToUVRow_DSPR2 RGB24ToARGBRow_DSPR2 RAWToARGBRow_DSPR2 RGB565ToARGBRow_DSPR2 ARGB1555ToARGBRow_DSPR2 ARGB4444ToARGBRow_DSPR2 ScaleAddRow_DSPR2 Bug-fixes in functions: ScaleRowDown2_DSPR2 ScaleRowDown4_DSPR2 BUG= Review-Url: https://codereview.chromium.org/2626123003 .
-
- 08 Nov, 2016 1 commit
-
-
Frank Barchard authored
BUG=libyuv:654 R=kjellander@chromium.org Review URL: https://codereview.chromium.org/2469353005 .
-
- 15 Oct, 2016 1 commit
-
-
Frank Barchard authored
R=wangcheng@google.com, hubbe@chromium.org BUG=libyuv:560 Review URL: https://codereview.chromium.org/2421993002 .
-
- 14 Oct, 2016 1 commit
-
-
Frank Barchard authored
BUG=libyuv:572 TEST=try bots R=wangcheng@google.com, magjed@chromium.org Review URL: https://codereview.chromium.org/2416783004 .
-
- 11 Oct, 2016 1 commit
-
-
Frank Barchard authored
YUV 411 is very uncommon format. Remove support. Update documentation to reflect that 411 is deprecated. Simplify tests for YUV to only test with the new side by side YUV but keep old 3 plane test around with a macro for now. BUG=libyuv:645 R=kjellander@chromium.org Review URL: https://codereview.chromium.org/2406123002 .
-
- 03 Oct, 2016 1 commit
-
-
Frank Barchard authored
Low level support for 12 bit 420, 422 and 444 YUV video frame conversion. BUG=libyuv:560, chromium:445071 TEST=LibYUVPlanarTest.TestHalfFloatPlane on windows R=hubbe@chromium.org, wangcheng@google.com Review URL: https://codereview.chromium.org/2387713002 .
-
- 29 Sep, 2016 1 commit
-
-
Frank Barchard authored
BUG=libyuv:560,chromium:445071 TEST=untested R=hubbe@chromium.org Review URL: https://codereview.chromium.org/2371293002 .
-
- 27 Sep, 2016 1 commit
-
-
Frank Barchard authored
BUG=libyuv:560 TEST=local compile for windows R=wangcheng@google.com Review URL: https://codereview.chromium.org/2364293002 .
-
- 28 Jun, 2016 1 commit
-
-
Frank Barchard authored
The old guard only checked for defined(_M_X64) which is defined by mingw64. Add a test for defined(_MSC_VER) which is defined for clangcl and visual c but not mingw. mingw should use row_gcc.cc for both 32 and 64 bit. R=harryjin@google.com BUG=webm:1252,libyuv:613 TEST=local gcc/clang builds on linux tested and try bots for others. Review URL: https://codereview.chromium.org/2105603002 .
-
- 28 May, 2016 1 commit
-
-
Frank Barchard authored
blur requires memory be aligned. change the unittest allocator to guarantee 64 byte alignment. re-enable blur any test that fails if memory is unaligned. TBR=harryjin@google.com BUG=libyuv:596,libyuv:594 TESTED=local build passes with row.h removed from tests. Review URL: https://codereview.chromium.org/2019753002 .
-
- 26 May, 2016 1 commit
-
-
Magnus Jedvert authored
BUG=libyuv:572 R=fbarchard@google.com Review URL: https://codereview.chromium.org/1995293002 .
-
- 18 Feb, 2016 1 commit
-
-
Frank Barchard authored
ARGBToJ420 had an SSSE3 version, but not AVX2. ARGBToI420 had an AVX2, so adapt that code to J420. TBR=harryjin@google.com BUG=libyuv:553 Review URL: https://codereview.chromium.org/1702373004 .
-
- 13 Jan, 2016 1 commit
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:546 Review URL: https://codereview.chromium.org/1574253004 .
-
- 12 Jan, 2016 1 commit
-
-
Frank Barchard authored
Macro define and macro ifdef didnt match, leading to C code being used. Make macro match function name. TBR=harryjin@google.com BUG=libyuv:543 Review URL: https://codereview.chromium.org/1579023002 .
-
- 21 Dec, 2015 1 commit
-
-
Frank Barchard authored
BUG=libyuv:535 R=dhrosa@google.com Review URL: https://codereview.chromium.org/1535833003 .
-
- 17 Dec, 2015 1 commit
-
-
Frank Barchard authored
Remove inaccurate specializations for 1/4 and 3/4, since they round incorrectly. Specialize for 100% and 50% are kept due to performance. Make C and ARM code match SSSE3. Make unittests expect zero difference. BUG=libyuv:535 R=harryjin@google.com Review URL: https://codereview.chromium.org/1533643005 .
-
- 09 Dec, 2015 2 commits
-
-
Frank Barchard authored
R=harryjin@google.com BUG=libyuv:531 Review URL: https://codereview.chromium.org/1515503005 .
-
Frank Barchard authored
out/Release/libyuv_unittest --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=9999 --libyuv_flags=-1 --gtest_filter=*I420Blend_Opt Was LibYUVPlanarTest.I420Blend_Opt (2335 ms) Now LibYUVPlanarTest.I420Blend_Opt (1937 ms) vs SSSE3 LibYUVPlanarTest.I420Blend_Opt (2599 ms) BUG=libyuv:527 R=dhrosa@google.com Review URL: https://codereview.chromium.org/1505673003 .
-
- 06 Dec, 2015 1 commit
-
-
Frank Barchard authored
AVX2 version can process 16 pixels at a time for improved memory bandwidth and fewer instructions. unittests improved to test unaligned memory, and test exactness when alpha is 0 or 255. R=dhrosa@google.com, harryjin@google.com BUG=libyuv:527 Review URL: https://codereview.chromium.org/1505433002 .
-
- 02 Dec, 2015 1 commit
-
-
Frank Barchard authored
R=dhrosa@google.com, harryjin@google.com, jzern@chromium.org BUG=libyuv:527 Review URL: https://codereview.chromium.org/1491533002 .
-
- 18 Nov, 2015 1 commit
-
-
Frank Barchard authored
Before I420ToARGB_Opt (594 ms) I422ToARGB_Opt (483 ms) I411ToARGB_Opt (748 ms) *** I444ToARGB_Opt (452 ms) I400ToARGB_Opt (218 ms) After I420ToARGB_Opt (591 ms) I422ToARGB_Opt (454 ms) I411ToARGB_Opt (502 ms) *** I444ToARGB_Opt (441 ms) I400ToARGB_Opt (216 ms) TBR=harryjin@google.com BUG=libyuv:525 Review URL: https://codereview.chromium.org/1459513002 .
-
- 17 Nov, 2015 1 commit
-
-
Frank Barchard authored
improves performance on older CPUs where movdqa is faster. TBR=harryjin@google.com BUG=libyuv:492 Review URL: https://codereview.chromium.org/1455463002 .
-
- 03 Nov, 2015 1 commit
-
-
Frank Barchard authored
Add unittests that do 1 step conversion vs 2 step conversion. Tests end swapping versions match direct conversions. R=harryjin@google.com BUG=libyuv:518 Review URL: https://codereview.chromium.org/1419103007 .
-
- 02 Nov, 2015 2 commits
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=libyuv:518 Review URL: https://codereview.chromium.org/1420033004 .
-
Frank Barchard authored
Removes low levels for I420ToBGRA and I420ToRAW and reimplements them as I420ToRGBA and I420ToRGB24 with transposed color matrix. Adds unittests that do 1 step conversion vs 2 steps to test end swapping versions match direct conversions. R=harryjin@google.com BUG=libyuv:518 Review URL: https://codereview.chromium.org/1427993004 .
-
- 30 Oct, 2015 1 commit
-
-
Frank Barchard authored
Using a transposed conversion matrix, I420ToARGB can output ABGR. R=harryjin@google.com, xhwang@chromium.org BUG=libyuv:473 Review URL: https://codereview.chromium.org/1413573010 .
-
- 27 Oct, 2015 2 commits
-
-
Frank Barchard authored
swap U and V and transpose conversion matrix, so I420AlphaToARGB and I420AlphaToABGR share low level code. Having less code with same performance allows more focused optimization for future ARM versions. R=harryjin@google.com TBR=harryjin@chromium.org BUG=libyuv:473,libyuv:516 Review URL: https://codereview.chromium.org/1422263002 .
-
Frank Barchard authored
U contributes to B and G. V contributes to R and G. By swapping U and V, they contribute to the opposite channels. Adjust the matrix so the U contribution is in the matrix location such that it till contribute to the new B channel and vice versa. This allows ABGR versions of YUV conversion to use the same low level code as ARGB, just using a different matrix and swapping U and V pointers. As a result the existing I444ToABGRRow functions are no longer needed and are removed. Previously this function was only Intel AVX2 optimized for Windwos. Now it is also optimized for Arm and GCC. ARMv7 Neon Was LibYUVConvertTest.I444ToABGR_Opt (75971 ms) Now LibYUVConvertTest.I444ToABGR_Opt (3672 ms) 20.6 times faster. R=xhwang@chromium.org BUG=libyuv:515 Review URL: https://codereview.chromium.org/1414133006 .
-
- 08 Oct, 2015 3 commits
-
-
Frank Barchard authored
TBR=harryjin@google.com BUG=none Review URL: https://codereview.chromium.org/1398633002 .
-
Frank Barchard authored
yuv constants for bt.601 were previously ported to neon64, as well as the code to respect other color spaces. But the jpeg and bt.709 colour conversion constants were still in armv7 form. This changes the constants for aarch64 builds to be compatible with the code. yuv constants are now passed as const * Remove Yvu constants which were used for older version on nv21 but not new code. TBR=harryjin@google.com BUG=none Review URL: https://codereview.chromium.org/1398623002 .
-
Frank Barchard authored
Previously the assembly code was only available to Windows. This CL ports the SSE2 code to GCC syntax. When running a profiler on all the unittests, this function was the slowest of all functions that still ran in C code. 3.71% libyuv_unittest libyuv_unittest [.] ARGBToRGB565DitherRow_C Was ARGBToRGB565Dither_Opt (2894 ms) Now ARGBToRGB565Dither_Opt (432 ms) TBR=harryjin@google.com BUG=libyuv:492 Review URL: https://codereview.chromium.org/1397673002 .
-
- 07 Oct, 2015 1 commit
-
-
Frank Barchard authored
Low level for NV21ToARGB written to accept yuv matrix used by other YUV to ARGB functions. Previously NV21 was implemented for Windows using NV12 with a different matrix that swapped U and V. But the Arm version of the low level does not allow the matrix U and V contributions to be swapped. Using a new low level function that reads NV21 and uses the same yuvconstants as other YUV conversion functions allows an Arm port of this function. TBR=harryjin@google.com BUG=libyuv:500 Review URL: https://codereview.chromium.org/1388273002 .
-
- 30 Sep, 2015 1 commit
-
-
Frank Barchard authored
ARGBBlendRow_SSE2, ARGBAttenuateRow_SSE2, and MirrorRow_SSE2 Since vast majority of CPUs have SSSE3 now, removing the SSE2 improves the performance of CPU dispatching. R=harryjin@google.com BUG=none Review URL: https://codereview.chromium.org/1377053003 .
-
- 25 Sep, 2015 1 commit
-
-
Frank Barchard authored
Was I420AlphaToARGB_Premult (8861 ms) I420AlphaToARGB_Opt (7119 ms) Now I420AlphaToABGR_Premult (2840 ms) I420AlphaToARGB_Opt (484 ms) C function switched to 1 step. Was I420AlphaToARGB_Premult (8862 ms) I420AlphaToABGR_Opt (6718 ms) Now I420AlphaToARGB_Premult (8706 ms) I420AlphaToARGB_Opt (6541 ms) R=harryjin@google.com BUG=libyuv:496, libyuv:473 Review URL: https://codereview.chromium.org/1359183003 .
-