Frank Barchard
cf160cdbaa
implement I444ToABGR by swapping uv and transpose matrix
...
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 .
2015-10-27 10:21:21 -07:00
Frank Barchard
e8ee175549
add unittest that compares ABGR to ARGB
...
TBR=harryjin@google.com
BUG=libyuv:515
Review URL: https://codereview.chromium.org/1423663007 .
2015-10-26 17:51:03 -07:00
Frank Barchard
2844662e1c
Add avx512bw detection code
...
R=harryjin@google.com
BUG=libyuv:514
Review URL: https://codereview.chromium.org/1413463004 .
2015-10-26 14:42:49 -07:00
Frank Barchard
1502832a70
switch cpu flags to 0 for unitialized to avoid compare
...
R=harryjin@google.com
BUG=libyuv:512
Review URL: https://codereview.chromium.org/1418253002 .
2015-10-23 10:57:42 -07:00
Frank Barchard
ad36ba5c48
initialize cpu flags to fix compile error on windows
...
R=harryjin@google.com
BUG=libyuv:512
Review URL: https://codereview.chromium.org/1422733003 .
2015-10-22 15:16:31 -07:00
Frank Barchard
00f15e3c6c
color unittest allow j420 error of 5 for arm
...
R=harryjin@google.com
BUG=libyuv:511
Review URL: https://codereview.chromium.org/1412683005 .
2015-10-22 11:25:04 -07:00
Frank Barchard
430bb0a0f0
odd width 444 fix
...
TBR=harryjin@google.com
BUG=libyuv:510
Review URL: https://codereview.chromium.org/1415583003 .
2015-10-21 20:03:19 -07:00
Frank Barchard
ba4b409d51
Fix ARGBToI411 odd width bug.
...
The any function for handling ARGBToI411 was not handling the pixel
replication correctly. On 422 and odd width was handled by duplicating
a pixel of source. 411 needs replication for remainders of 1, 2 or 3
pixels.
The C version was handling odd width but with an average of the remainder
pixels, which does not match the SIMD 'any' handling off remainder.
This changes the odd width handling to mimic the any version.
TBR=harryjin@google.com
BUG=libyuv:491
Review URL: https://codereview.chromium.org/1411733004 .
2015-10-21 12:22:24 -07:00
Frank Barchard
9daa550a2e
Move cpu_info variable outside ifdef
...
Fix compile error on arm, mips etc due to undefined variable.
TBR=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1403373008 .
2015-10-20 16:32:44 -07:00
Frank Barchard
9be6d21ae7
write to cpu_flags once
...
To make init cpu flags thread safe, there can only be one write to the variable.
R=richard.winterton@intel.com , harryjin@google.com
BUG=libyuv:508
Review URL: https://codereview.chromium.org/1412793006 .
2015-10-20 16:24:01 -07:00
Frank Barchard
e6a54f223a
Call AllowCommandLineReparsing in unit tests
...
Allows us to ignore flags passed on to us by Chromium build bots
without having to explicitly disable them. (Thanks pbos!)
TESTED=webrtc ran modules_unittests with a bogus flag did not result in an
error.
R=kjellander@chromium.org
BUG=libyuv:507
Review URL: https://codereview.chromium.org/1417573002 .
2015-10-19 16:30:41 -07:00
Frank Barchard
94312b695a
add gflags support files from webrtc
...
files needed for command line support with gtest.
These files are copied directly from webrtc.
TBR=kjellander@chromium.org
BUG=libyuv:507
Review URL: https://codereview.chromium.org/1414483002 .
2015-10-16 18:53:25 -07:00
Henrik Kjellander
8dcec019b6
Add gflags dependency
...
Unit tests currently use environment variables to change behavior.
Using gflags this can be done via command line.
BUG=libyuv:507
TBR=fbarchard@chromium.org
Review URL: https://codereview.chromium.org/1413723002 .
2015-10-16 22:08:43 +02:00
Henrik Kjellander
f80cc26da7
Revert "add gflags to deps to allow command line parameters."
...
This reverts commit 2dd3d9230ee663e71ed4ad9164033ed672e571de.
Reason: chromium_git is a missing variable, and to properly
add gflags, we need to check in GYP files in third_party/gflags
first, then add the DEPS entry.
BUG=libyuv:507
TBR=fbarchard@chromium.org
Review URL: https://codereview.chromium.org/1406323002 .
2015-10-16 21:46:56 +02:00
Frank Barchard
2dd3d9230e
add gflags to deps to allow command line parameters.
...
unittests currently use environment variables to change behavior.
using gflags this can be done via command line.
R=kjellander@chromium.org
BUG=libyuv:507
Review URL: https://codereview.chromium.org/1402313002 .
2015-10-16 10:57:51 -07:00
Frank Barchard
5d0a871d37
remove have jpeg test
...
This test is just a printf, not a real test, but somehow
fails on arm.
TBR=harryjin@google.com
BUG=libyuv:506
Review URL: https://codereview.chromium.org/1409913002 .
2015-10-15 19:13:07 -07:00
Frank Barchard
cf19a0c9a2
nv21 any fix
...
R=harryjin@google.com
BUG=libyuv:507
Review URL: https://codereview.chromium.org/1410643002 .
2015-10-15 16:24:51 -07:00
Frank Barchard
52a5504950
fix for C version of YUV to RGB for Arm
...
YuvPixel for arm was miscomputing YG.
TBR=harryjin@google.com
BUG=libyuv:506
Review URL: https://codereview.chromium.org/1402333002 .
2015-10-15 12:43:37 -07:00
Frank Barchard
e2417df4cb
create color test category of unittests to narrow down arm bug
...
A hang in color conversion on arm occurs somewhere in yuv to rgb.
Breaking the color test into its own category of test will help
run selective tests to narrow down the issue.
R=harryjin@google.com
BUG=libyuv:506
Review URL: https://codereview.chromium.org/1405543003 .
2015-10-14 16:58:55 -07:00
Frank Barchard
c7c188379b
avoid vectors for pnacl which cause linker failure.
...
R=sergeyu@chromium.org
BUG=chromium:538243
Review URL: https://codereview.chromium.org/1396363004 .
2015-10-14 14:49:48 -07:00
Frank Barchard
26db4de2ae
break up unittests into categories
...
R=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1399523004 .
2015-10-13 16:01:07 -07:00
Frank Barchard
4abd096548
fix for yuv to rgb on arm64.
...
fill in aarch64 yuv constants to match how the code expects them.
TBR=harryjin@google.com
BUG=libyuv:502
Review URL: https://codereview.chromium.org/1396253004 .
2015-10-12 12:02:54 -07:00
Frank Barchard
2e4466e282
change all pix parameters to width for consistency
...
TBR=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1398633002 .
2015-10-07 22:30:36 -07:00
Frank Barchard
2d601aaf34
merge neon source files back into single libyuv library
...
previously the neon source code was broken into a separate
library built with -mfpu=neon for the neon assembly, while
the C code was built without neon.
In this change, the neon code is added to the main library
and all code built with neon.
TBR=harryjin@google.com
BUG=libyuv:371
Review URL: https://codereview.chromium.org/1392043003 .
2015-10-07 21:16:51 -07:00
Frank Barchard
76a599ec3b
fix jpeg and bt.709 yuvconstants for neon64.
...
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 .
2015-10-07 19:46:56 -07:00
Frank Barchard
8f0cadede4
port ARGB to 565 dithering AVX2 code to GCC.
...
Previously the assembly code was only available to Windows.
This CL ports the AVX2 code to GCC syntax.
TBR=harryjin@google.com
BUG=libyuv:492
Review URL: https://codereview.chromium.org/1391273003 .
2015-10-07 19:13:59 -07:00
Frank Barchard
cc89e3a77b
port ARGB to 565 dithering SSE2 code to GCC.
...
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 .
2015-10-07 18:24:50 -07:00
Frank Barchard
3e38762d6b
fix avx2 box filter bug for yuv down sampling.
...
offset to second group of pixels was off by 16.
should have been 32, not 16.
requires avx2 hardware and wide image for test.
R=harryjin@google.com
TBR=harryjin@google.com
BUG=libyuv:492,libyuv:501
Review URL: https://codereview.chromium.org/1395603002 .
2015-10-07 11:02:33 -07:00
Frank Barchard
013080f2d2
Pass yuvconstants to YUV conversions for neon 64 bit
...
SETUP provided by zhongwei.yao@linaro.org
Previously the 64 bit Neon code had hard coded constants in the setup macro
for YUV conversion, while 32 bit Neon code supported the yuvconstants
parameter.
This change accepts the constants passed to the YUV conversion row function,
allowing different color spaces to be respected - naming JPEG and BT.709.
As well as the existing BT.601.
TBR=harryjin@google.com
BUG=libyuv:472
Review URL: https://codereview.chromium.org/1384323002 .
2015-10-06 22:19:14 -07:00
Frank Barchard
914a9856c7
Reimplement NV21ToARGB to allow different color matrix.
...
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 .
2015-10-06 20:34:44 -07:00
Frank Barchard
f00bc9ef46
Add J444ToARGB conversion function.
...
J444 is JPeg YUV color space with 444 subsampling.
This implementation uses the existing I444ToARGB conversion, which is
BT.601 color space with 444 subsampling, but passing in the jpeg
color matrix constants.
TBR=harryjin@google.com
BUG=449
Review URL: https://codereview.chromium.org/1387313002 .
2015-10-06 18:46:53 -07:00
Frank Barchard
d70293993f
port scale box filter sse2 to gcc
...
TBR=harryjin@google.com
BUG=libyuv:492
Review URL: https://codereview.chromium.org/1393653002 .
2015-10-06 16:54:26 -07:00
Frank Barchard
f4c1ac10f0
Speed up rounding to byte test
...
R=harryjin@google.com
BUG=libyuv:492
Review URL: https://codereview.chromium.org/1367403007 .
2015-10-02 15:27:13 -07:00
Frank Barchard
3eefeaeb69
test xsave before calling xgetbv.
...
R=agl@chromium.org , harryjin@google.com
BUG=libyuv:497
Review URL: https://codereview.chromium.org/1382803002 .
2015-09-30 17:25:41 -07:00
Frank Barchard
2cc1a2b233
Remove sse2 functions that also have ssse3
...
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 .
2015-09-30 14:24:44 -07:00
Frank Barchard
febc26a2c9
win64 version of I422AlphaToARGB.
...
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 .
2015-09-25 15:06:41 -07:00
Frank Barchard
9a0e12f5f1
AVX2 1 step I422AlphaToARGB for gcc and win.
...
C I420AlphaToARGB_Opt (5169 ms)
SSSE3 I420AlphaToARGB_Opt (432 ms)
AVX2 I420AlphaToARGB_Opt (358 ms)
and with premultiplication as 2 step process:
I420AlphaToARGB_Premult (7029 ms)
I420AlphaToARGB_Premult (757 ms)
I420AlphaToARGB_Premult (508 ms)
R=harryjin@google.com
BUG=libyuv:496,libyuv:473
Review URL: https://codereview.chromium.org/1372653003 .
2015-09-25 13:37:42 -07:00
Frank Barchard
e365cdde3b
I420Alpha row function in 1 pass.
...
API change - I420AlphaToARGB takes flag indicating if RGB should be
premultiplied by alpha.
This version implements an efficient SSSE3 version for Windows.
C version done in 2 steps.
Was
libyuvTest.I420AlphaToARGB_Any (1136 ms)
libyuvTest.I420AlphaToARGB_Unaligned (1210 ms)
libyuvTest.I420AlphaToARGB_Invert (966 ms)
libyuvTest.I420AlphaToARGB_Opt (1031 ms)
libyuvTest.I420AlphaToABGR_Any (1020 ms)
libyuvTest.I420AlphaToABGR_Unaligned (1359 ms)
libyuvTest.I420AlphaToABGR_Invert (1082 ms)
libyuvTest.I420AlphaToABGR_Opt (986 ms)
R=harryjin@google.com
BUG=libyuv:496
Review URL: https://codereview.chromium.org/1367093002 .
2015-09-25 10:29:20 -07:00
Frank Barchard
8fb2048e9f
Fix nv12 64 bit gcc increment.
...
Should be 16 bytes, but was 0x16 causing memory corruption.
TBR=harryjin@google.com
BUG=libyuv:492
Review URL: https://codereview.chromium.org/1368693002 .
2015-09-24 10:19:17 -07:00
Frank Barchard
accc04e6d8
NV12ToARGB_AVX2 ported to gcc
...
TBR=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1364913002 .
2015-09-23 15:54:16 -07:00
Frank Barchard
000cf89ca8
YUY2ToARGB avx2 in 1 step conversion.
...
Includes UYVYToARGB ssse3 fix.
Was
YUY2ToARGB_Opt (433 ms)
69.79% libyuv_unittest libyuv_unittest [.] I422ToARGBRow_AVX2
20.73% libyuv_unittest libyuv_unittest [.] YUY2ToUV422Row_AVX2
6.04% libyuv_unittest libyuv_unittest [.] YUY2ToYRow_AVX2
0.77% libyuv_unittest libyuv_unittest [.] YUY2ToARGBRow_AVX2
Now
YUY2ToARGB_Opt (280 ms)
95.66% libyuv_unittest libyuv_unittest [.] YUY2ToARGBRow_AVX2
BUG=libyuv:494
R=harryjin@google.com
Review URL: https://codereview.chromium.org/1364813002 .
2015-09-23 11:15:18 -07:00
Frank Barchard
2b92ec8d0f
Fix git markers introduced on landing previous CL
...
BUG=none
Review URL: https://codereview.chromium.org/1359023003 .
2015-09-22 15:00:57 -07:00
Frank Barchard
5f3d4270d1
yuy2 to rgb gcc versions
...
read in read function for yuv conversion
R=harryjin@google.com
BUG=libyuv:488
Review URL: https://codereview.chromium.org/1355393002 .
2015-09-22 14:27:33 -07:00
Frank Barchard
03cd8584e7
Read Y channel in read function for yuv conversion.
...
Allows reader to support YUY2 format.
Also contains fix for win64 build for yuv conversion.
TBR=harryjin@google.com
BUG=libyuv:488
Review URL: https://codereview.chromium.org/1355333002 .
2015-09-22 12:05:16 -07:00
Frank Barchard
f96890a0be
yuvconstants for all YUV to RGB conversion functions.
...
R=harryjin@google.com
BUG=libyuv:488
Review URL: https://codereview.chromium.org/1363503002 .
2015-09-22 10:26:03 -07:00
Frank Barchard
62c49dc811
move constants into common
...
R=harryjin@google.com
BUG=libyuv:488
Review URL: https://codereview.chromium.org/1359443005 .
2015-09-18 16:28:44 -07:00
Frank Barchard
0381673d19
port I444 to ARGB to matrix. Add I444 to ABGR.
...
R=harryjin@google.com
BUG=libyuv:488,libyuv:490
Review URL: https://codereview.chromium.org/1348763005 .
2015-09-18 14:36:15 -07:00
Frank Barchard
28427a53e2
I444ToABGR for android
...
Reimplements I444ToARGB as a matrix function.
new I444ToABGR as matrix functions with wrappers and any functions.
Allows for future J444 and H444 versions.
I444ToABGR user level function added.
BUG=libyuv:490, libyuv:449
R=harryjin@google.com
Review URL: https://codereview.chromium.org/1355733002 .
2015-09-18 11:20:58 -07:00
Frank Barchard
158d4079a3
NEON J422ToABGR and H422ToABGR missing prototypes
...
TBR=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1351993003 .
2015-09-17 15:47:55 -07:00
Frank Barchard
bdfd59a728
NEON constants
...
TBR=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1351553005 .
2015-09-17 15:28:29 -07:00
Frank Barchard
28ce7d94f5
j422toabgr neon port using i422toabgr matrix function.
...
R=harryjin@google.com
BUG=libyuv:488
Review URL: https://codereview.chromium.org/1353923003 .
2015-09-17 15:20:55 -07:00
Frank Barchard
6fcbae1409
J422ToARGB Neon but not aarch64
...
TBR=harryjin@google.com
BUG=libyuv:493
Review URL: https://codereview.chromium.org/1348203004 .
2015-09-17 12:43:05 -07:00
Frank Barchard
6a6b67e7a9
Add H422ToARGB armv7 neon version.
...
Patch provided by zhongwei.yao@linaro.org
R=fbarchard@chromium.org , fbarchard@google.com
BUG=libyuv:488
Review URL: https://codereview.chromium.org/1344393002 .
2015-09-17 10:38:15 -07:00
Frank Barchard
bb0a521c52
j422 not available on aarch64
...
The aarch64 version does not have I422ToARGBMatrix yet,
so adding this to the ifdef section of row.h
R=harryjin@google.com
TBR=harryjin@google.com , zhongwei.yao@linaro.org
BUG=libyuv:488
Review URL: https://codereview.chromium.org/1347853002 .
2015-09-15 15:26:01 -07:00
Frank Barchard
509c644245
Add J422ToARGB armv7 neon version.
...
R=fbarchard@chromium.org , fbarchard@google.com
BUG=libyuv:488
Review URL: https://codereview.chromium.org/1334173005 .
2015-09-15 15:01:48 -07:00
Frank Barchard
fcacbfb27f
validate scan EOI from end for better coverage
...
R=tpsiaki@google.com
BUG=libyuv:478
Review URL: https://codereview.chromium.org/1344623003 .
2015-09-14 10:58:51 -07:00
Frank Barchard
67a9e30225
neon yuv matrix function
...
R=harryjin@google.com
BUG=libyuv:488
Review URL: https://codereview.chromium.org/1337973002 .
2015-09-11 11:12:30 -07:00
Frank Barchard
316e1ab996
avx2 width parameter bug fix
...
R=harryjin@google.com
BUG=libyuv:489
Review URL: https://codereview.chromium.org/1321773004 .
2015-09-09 11:56:35 -07:00
Frank Barchard
8467f14ebb
disable avx2
...
R=harryjin@google.com
BUG=libyuv:489
Review URL: https://codereview.chromium.org/1318893003 .
2015-09-08 11:55:52 -07:00
Frank Barchard
ed55d24d9f
H420 functionality
...
R=harryjin@google.com
BUG=libyuv:488
Review URL: https://webrtc-codereview.appspot.com/54869004 .
2015-09-06 11:01:40 -07:00
Frank Barchard
67b06e66cb
I422ToABGR for win64. Moves any functions to accomidate win64 subset of formats.
...
TBR=harryjin@google.com
BUG=libyuv:488
Review URL: https://webrtc-codereview.appspot.com/57679004 .
2015-09-03 11:00:18 -07:00
Frank Barchard
7060e0d826
I420ToABGRMatrix functions with J420ToABGR wrapper.
...
Allows direct conversion from JPeg to ABGR for android.
BUG=libyuv:488
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/55719004 .
2015-09-03 10:42:36 -07:00
Frank Barchard
fbc3d595e9
define yuvconstants structure all the time, so its can be referred to on all builds.
...
currently only intel code uses this structure, but the prototypes are there for neon and lack of a structure cases a compile error on arm.
R=tpsiaki@google.com
BUG=none
Review URL: https://webrtc-codereview.appspot.com/52799004 .
2015-09-02 14:55:11 -07:00
Frank Barchard
925c3d9e26
I420ToARGB conversion with matrix.
...
Take color conversion constants as a parameter to row function for I420ToARGBMatrixRow_SSSE3.
Allows future variations of color space using a single low level.
R=harryjin@google.com
BUG=libyuv:488
Review URL: https://webrtc-codereview.appspot.com/56669004 .
2015-09-02 10:45:42 -07:00
Frank Barchard
be11f500f0
Use ebp to point to conversion table.
...
Proof of concept that conversions can table color matrix as a parameter.
R=harryjin@google.com
BUG=libyuv:472, libyuv:488
Review URL: https://webrtc-codereview.appspot.com/58489004 .
2015-08-28 12:00:49 -07:00
Frank Barchard
3c4f5735ce
use pointer to inverse table for clangcl
...
R=harryjin@google.com
TBR=harryjin@google.com
BUG=none
Review URL: https://webrtc-codereview.appspot.com/54859004 .
2015-08-26 12:53:03 -07:00
Frank Barchard
d317a70c1d
llvm64 link error fix.
...
R=harryjin@google.com
BUG=libyuv:485
Review URL: https://webrtc-codereview.appspot.com/58479004 .
2015-08-24 14:21:04 -07:00
Frank Barchard
4dfdabb552
I420AlphaToABGR for android version of yuva conversion
...
Same as I420AlphaToARGB but first step converts to ABGR instead of ARGB.
TBR=harryjin@google.com
BUG=libyuv:473
Review URL: https://webrtc-codereview.appspot.com/52779004 .
2015-08-20 19:36:59 -07:00
Frank Barchard
2fb6fd74be
[Android] Remove reference to third_party/android_testrunner.
...
Deleting in https://codereview.chromium.org/1290173003
BUG=chromium:267773
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/54849004 .
2015-08-19 16:13:27 -07:00
Frank Barchard
ee9aaea02f
i422torgb565 is asm for clangcl as well
...
Merge branch 'master' of https://chromium.googlesource.com/libyuv/libyuv into convertcl
allow lto for llvm but not gcc
R=harryjin@google.com
BUG=libyuv:469
Review URL: https://webrtc-codereview.appspot.com/52769004 .
2015-08-19 10:46:30 -07:00
Frank Barchard
bb66c021ff
Re-enable LLVM LTO on Neon targets.
...
LTO was disabled due to a GCC compiler bug that does not affect LLVM.
This fixes the build in the cfi_vptr==1 configuration, which requires LLVM LTO.
R=pcc@google.com
BUG=chromium:469376
Review URL: https://webrtc-codereview.appspot.com/57659004 .
2015-08-18 15:26:52 -07:00
Frank Barchard
94d4269936
clang use scalewin
...
R=harryjin@google.com
TBR=harryjin@google.com
BUG=libyuv:469
Review URL: https://webrtc-codereview.appspot.com/51329004 .
2015-08-18 14:50:27 -07:00
Frank Barchard
cda9d38a4e
xmmword cast for clang
...
clangcl use compare_win for 32 bit, allowing fallback and enabling avx2 code for clang.
move defines/protos to compare_row.h
fix issue with odd width ARGBCopyAlpha functions by copying destination to temp buffer, then doing alpha copy, then copy back to destination.
R=harryjin@google.com
TBR=harryjin@google.com
BUG=libyuv:484
Review URL: https://webrtc-codereview.appspot.com/59379004 .
2015-08-18 11:13:12 -07:00
Frank Barchard
baf6a3c1bd
Using the visual C source allows clangcl to fallback seamlessly to visual c, and supports SSE41 and AVX2 versions.
...
R=harryjin@google.com
BUG=libyuv:469
Review URL: https://webrtc-codereview.appspot.com/58469004 .
2015-08-17 10:47:43 -07:00
Frank Barchard
278d88f872
Copy Alpha odd width support
...
R=harryjin@google.com
BUG=none
Review URL: https://webrtc-codereview.appspot.com/59369004 .
2015-08-13 15:05:14 -07:00
Frank Barchard
8e7a62f22a
I420AlphaToARGB conversion for planar YUV with Alpha to ARGB.
...
R=brucedawson@chromium.org , harryjin@google.com
BUG=libyuv:473
Review URL: https://webrtc-codereview.appspot.com/54829004 .
2015-08-12 17:01:24 -07:00
Frank Barchard
58f0020137
use visual c 32 bit code for clangcl
...
R=harryjin@google.com
BUG=libyuv:483
Review URL: https://webrtc-codereview.appspot.com/54819004 .
2015-08-11 10:10:45 -07:00
Frank Barchard
9425c4b01a
rotate nv12 any width
...
BUG=libyuv:464
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/55709004 .
2015-08-07 23:48:38 -07:00
Frank Barchard
478ff9608b
Increase error tolerance to 4 for arm on J420 convert
...
BUG=libyuv:479
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/53789004 .
2015-08-07 12:24:25 -07:00
Frank Barchard
6e7ef3fddc
allow xgetbv to be disabled for drmemory testing
...
R=harryjin@google.com
BUG=none
Review URL: https://webrtc-codereview.appspot.com/56649004 .
2015-08-04 15:00:39 -07:00
Frank Barchard
e40384b6d9
remove 32 bit gcc version of UV transpose
...
TBR=harryjin@google.com
BUG=libyuv:481
Review URL: https://webrtc-codereview.appspot.com/52249004 .
2015-08-03 18:03:55 -07:00
Frank Barchard
f14c433916
rotate macros used for source
...
R=brucedawson@chromium.org , harryjin@google.com
BUG=libyuv:481
Review URL: https://webrtc-codereview.appspot.com/52239004 .
2015-08-03 16:12:18 -07:00
Frank Barchard
7cd7f5a80f
avx ifdef for scale HAS_SCALEADDROW_AVX2.
...
R=jzern@google.com
BUG=libyuv:480
Review URL: https://webrtc-codereview.appspot.com/53779004 .
2015-07-31 17:17:14 -07:00
Frank Barchard
f242a4a1a1
ValidateJpeg check for valid pointer and size
...
R=harryjin@google.com
BUG=chromium:497297
Review URL: https://webrtc-codereview.appspot.com/57649004 .
2015-07-30 15:49:48 -07:00
Frank Barchard
93464b926c
Add rotate any support. Fix for sobel for neon which does 16 at a time, not 8. Disable scaling color test that fails on arm. Test is not complete.
...
R=harryjin@google.com
BUG=libyuv:479
Review URL: https://webrtc-codereview.appspot.com/52229004 .
2015-07-28 15:06:20 -07:00
Frank Barchard
cb54e8b69a
rename rotate macros and functions to match
...
BUG=libyuv:477
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/52199004 .
2015-07-27 17:00:41 -07:00
Frank Barchard
6a1d01220a
disable x86 consistently
...
R=harryjin@google.com , jzern@chromium.org
BUG=libyuv:476
Review URL: https://webrtc-codereview.appspot.com/55699004 .
2015-07-27 12:49:54 -07:00
Frank Barchard
18a9027ad9
const warning fix on dither, bump chromium deps and add files to ignore list generated by arm build
...
BUG=none
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/57639004 .
2015-07-27 11:47:01 -07:00
Frank Barchard
2fa4f5a3ea
Adds files and functions for rotate any, but does not hook them up to the caller.
...
rotate any
R=harryjin@google.com
BUG=libyuv:464
Review URL: https://webrtc-codereview.appspot.com/53769004 .
2015-07-27 10:32:08 -07:00
Frank Barchard
5be90d23ee
rotate row included
...
R=tpsiaki@google.com
BUG=libyuv:468
Review URL: https://webrtc-codereview.appspot.com/55679004 .
2015-07-22 17:10:08 -07:00
Frank Barchard
892807d860
move asm out of rotate into win/gcc and header
...
R=harryjin@google.com
BUG=libyuv:468
Review URL: https://webrtc-codereview.appspot.com/51319004 .
2015-07-22 11:22:55 -07:00
Frank Barchard
f5c71e52bb
rowbytes fix for nv12 tests
...
R=harryjin@google.com
BUG=libyuv:466
Review URL: https://webrtc-codereview.appspot.com/50349004 .
2015-07-21 10:48:10 -07:00
Frank Barchard
ce98129951
yuy2tonv12
...
R=bcornell@google.com
BUG=libyuv:466
Review URL: https://webrtc-codereview.appspot.com/51309004 .
2015-07-17 16:22:59 -07:00
Frank Barchard
faa4b14f85
uyvy to nv12
...
R=harryjin@google.com
BUG=libyuv:466
Review URL: https://webrtc-codereview.appspot.com/50339004 .
2015-07-17 14:43:19 -07:00
Frank Barchard
faebf89ce0
src_uv typo fix
...
R=harryjin@google.com
BUG=none
Review URL: https://webrtc-codereview.appspot.com/51299004 .
2015-07-15 18:21:06 -07:00
Frank Barchard
3d190ee9f1
break rotate into files by cpu in preparation for optimization.
...
R=bcornell@google.com
BUG=libyuv:464
Review URL: https://webrtc-codereview.appspot.com/51289004 .
2015-07-14 10:23:10 -07:00
Frank Barchard
673fe7a684
create rotate_row header
...
R=tpsiaki@google.com , tpsiaki
BUG=none
TESTED=local build still works.
Review URL: https://webrtc-codereview.appspot.com/50329004 .
2015-07-09 14:40:35 -07:00
Frank Barchard
0e83b64e88
scalerow avx2 bug fix. was using ymm2 instead of ymm3.
...
R=harryjin@google.com
BUG=libyuv:462
Review URL: https://webrtc-codereview.appspot.com/56639004 .
2015-07-07 17:48:04 -07:00
Frank Barchard
715a29195b
vpermq for avx2 ARGB4444ToARGB, ARGB1555ToARGB and RGB565ToARGB
...
R=harryjin@google.com
BUG=libyuv:462
Review URL: https://webrtc-codereview.appspot.com/52759004 .
2015-07-07 17:06:04 -07:00
Frank Barchard
97b35daf75
disable faulty avx2 in argb conversions and box filter. and extend temporary buffer to 128 for an avx2 any function.
...
R=harryjin@google.com
BUG=libyuv:462
TESTED=libyuv_unittest run on haswell laptop
Review URL: https://webrtc-codereview.appspot.com/53759004 .
2015-07-07 15:40:24 -07:00
Frank Barchard
9487b9d6d8
any allow for avx2 32 pixels at a time of argb
...
R=harryjin@google.com
BUG=libyuv:461
Review URL: https://webrtc-codereview.appspot.com/54779004 .
2015-07-01 17:50:48 -07:00
Frank Barchard
cff11a17d6
remove tools from git that were previously checkin by accident.
...
R=harryjin@google.com , brucedawson@chromium.org
BUG=none
TESTED=untested
Review URL: https://webrtc-codereview.appspot.com/56619004 .
2015-06-30 10:45:24 -07:00
Frank Barchard
82180e8296
rgb24toyuv use 1 or 2 steps consistently.
...
R=bcornell@google.com , impjdi@google.com
BUG=libyuv:459
Review URL: https://webrtc-codereview.appspot.com/52149004 .
2015-06-29 16:51:05 -07:00
Frank Barchard
0686f26938
blend remove alignment 1 pixel loop for less overhead.
...
R=tpsiaki@google.com
BUG=none
TESTED=libyuvTest.ARGBBlend_Opt
Review URL: https://webrtc-codereview.appspot.com/50289005 .
2015-06-24 11:34:12 -07:00
Frank Barchard
553c7f85f1
mirror odd width with simd
...
R=harryjin@google.com
BUG=libyuv:448
Review URL: https://webrtc-codereview.appspot.com/54769004 .
2015-06-23 17:53:02 -07:00
Frank Barchard
6a9ef1ea36
any 1 to 2 with stride use SIMD
...
R=harryjin@google.com
BUG=libyuv:448
Review URL: https://webrtc-codereview.appspot.com/54759004 .
2015-06-23 17:08:08 -07:00
Frank Barchard
6dde4f14bd
argb to uv read 4 not 8
...
R=harryjin@google.com
BUG=libyuv:457
Review URL: https://webrtc-codereview.appspot.com/52139004 .
2015-06-23 14:48:37 -07:00
Frank Barchard
54100b91c1
copy 2 rows for interpolate and use SIMD.
...
R=harryjin@google.com
BUG=libyuv:448
Review URL: https://webrtc-codereview.appspot.com/50279004 .
2015-06-23 10:41:46 -07:00
Frank Barchard
3b5d726a4f
1 to 1 any functions with a parameter use memcpy.
...
R=harryjin@google.com
BUG=libyuv:448
Review URL: https://webrtc-codereview.appspot.com/57619004 .
2015-06-22 15:08:20 -07:00
Frank Barchard
a0fca88b1d
remove fmemcpy and bump version
...
R=harryjin@google.com
BUG=libyuv:448
Review URL: https://webrtc-codereview.appspot.com/50269004 .
2015-06-19 17:58:17 -07:00
Frank Barchard
cae07fb0e0
bump subsampling up
...
BUG=455
TESTED=libyuvTest.ARGBToYUY2_Random
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/58419004 .
2015-06-12 15:25:03 -07:00
Frank Barchard
03da5420bc
use SIMD for I420ToARGB odd widths in a temporary buffer instead of using C for remainder.
...
Enter a description of the change.
use SIMD for I420ToARGB odd widths in a temporary buffer instead of using C for remainder. Currently the C code does not exactly match the SIMD code, so an odd width produces different pixels than an even width, causing a subtle artifact. By using SIMD consistently, there is no difference in even and odd widths. Also the SIMD performance is faster, so even with overhead of memcpy, performance improves.
BUG=447
TESTED=out\release\libyuv_unittest.exe --gtest_filter=*I420ToARGB*
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/55579004 .
2015-06-11 16:38:52 -07:00
fbarchard@google.com
05416e2d9a
Box filter for YUV use rows with accumulation buffer for better memory behavior. The old code would do columns accumulated into registers, and then store the result once. This was slow from a memory point of view. The new code does a row of source at a time, updating an accumulation buffer every row. The accumulation buffer is small, and should fit cache. Before each accumulation of N rows, the buffer needs to be reset to zero. If the memset is a bottleneck, it would be faster to do the first row without an add, storing to the accumulation buffer, and then add for the remaining rows.
...
BUG=425
TESTED=out\release\libyuv_unittest --gtest_filter=*ScaleTo1x1*
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/52659004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1428 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-09 01:05:18 +00:00
fbarchard@google.com
b07de879b6
enable intrinsics for clangcl if -mssse3 is enabled.
...
BUG=451
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/52699004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1427 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-08 22:48:18 +00:00
fbarchard@google.com
b3d3db1b33
align clangcl using declspec instead of gcc style vector
...
BUG=451
TESTED=clang=1 build on windows
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/57549004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1425 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-08 21:37:37 +00:00
fbarchard@google.com
d3d8e0d933
make source for planar tests contiguous to test planar functions coalesce into a single low level call.
...
BUG=431
TESTED=SetPlane unittest
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/51999004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1419 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-01 23:28:59 +00:00
fbarchard@google.com
e787144c2d
adjust dimensions for scale factor tests to ensure the scale factor tested is actually used.
...
BUG=none
TESTED=set LIBYUV_WIDTH=1918 libyuvTest.ScaleDownBy3by4_None
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/47349004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1416 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-30 00:45:08 +00:00
fbarchard@google.com
bd2d903e1b
odd width support for ARGBSobel functions. Improves performance for images that are not a multiple of 8 pixels.
...
BUG=444
TESTED=libyuvTest.ARGBSobel_Opt
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/54589004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1415 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-28 22:22:28 +00:00
fbarchard@google.com
cfce47efc8
Change Sobel to use JPeg Luma calculation instead of extracting G channel. Using luma produces a better sobel that respects all 3 channels of RGB. Historically the G channel was used to improve performance, and because the luma of I420 is a constrained range, hurting quality. Using the JPeg variation of YUV, the luma is more accurate, including cross platform, better optimized for AVX2 and odd widths, and full range.
...
BUG=444
TESTED=ARGBSobelXY_Opt
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/57479004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1414 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-27 22:32:26 +00:00
fbarchard@google.com
535a7140f2
Scale Down by factor tests scale down to specified ratio rather than up. This ensures the alignment constrains on the destination dont cause a different factor to be used.
...
BUG=431
TESTED=libyuvTest.ScaleDownBy3_Bilinear
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/47309004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1413 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-26 23:22:01 +00:00
fbarchard@google.com
7c09264ffc
odd width support for scale by even scale factor and box scale down by 4. scale down by 4 uses scale down by 2 internally.
...
BUG=431
TESTED=libyuvTest.ARGBScaleDownBy4_Bilinear
Review URL: https://webrtc-codereview.appspot.com/57399004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1412 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-26 17:56:51 +00:00
fbarchard@google.com
c38aeec322
scale down by 2 on argb images support odd widths using _any function.
...
BUG=431
TESTED=libyuvTest.ARGBScaleDownBy2_Bilinear
Review URL: https://webrtc-codereview.appspot.com/52569004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1410 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-22 21:39:21 +00:00
fbarchard@google.com
3666015261
add nacl macros for arm to YUV422TORGB_SETUP_REG.
...
BUG=415
TESTED=ncval.exe newlib/Release/nacltest_arm.nexe
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/46229005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1406 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-12 21:33:32 +00:00
fbarchard@google.com
7be3bc65a1
enable speed optimization for libyuv
...
BUG=439
TESTED=out\release\libyuv_unittest --gtest_filter=*I420ToARGB_Opt
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/55389004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1405 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-11 21:58:42 +00:00
fbarchard@google.com
b33dc47b54
sobel use LL for constants to be passed in as int64
...
BUG=437
TESTED=local ios build
Review URL: https://webrtc-codereview.appspot.com/47129004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1404 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-06 02:34:16 +00:00
fbarchard@google.com
b0f8352245
row_neon64 additional fixes for warning on ios where int doesnt match %2 size which is 64 bit by default. change size to explicitely 32 bit with %w2.
...
BUG=437
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/43349004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1401 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-05 17:26:57 +00:00
fbarchard@google.com
ab6b224675
fix for arm builds where tmp for assembly produces an error if its uninitialized.
...
BUG=libyuv:432
TESTED=try bots
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/49249004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1392 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-30 18:21:19 +00:00
fbarchard@google.com
9f4636e298
AVX2 port of ScaleDownBy4.
...
BUG=314
TESTED=out\release\libyuv_unittest --gtest_filter=*.ScaleDownBy4*
Review URL: https://webrtc-codereview.appspot.com/46159004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1390 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-30 01:58:32 +00:00
fbarchard@google.com
f995021f35
Work around casting warnings in scale_neon64.cc for ios 64 bit.
...
BUG=430
TESTED=untested
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/49799004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1382 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-28 00:02:46 +00:00
fbarchard@google.com
4e78b8dc2e
scale to 3/4 or 3/8 with odd width destinations efficiently. previously if width was not multiple of what the simd loop would do (24), scaling would fall back on slower C code. This change allows SIMD to be used for most of the scaling and C for the remainder, improving efficiency.
...
BUG=314
TESTED=set LIBYUV_WIDTH=1896 & ScaleDownBy3by4_*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/48249004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1380 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-27 21:56:08 +00:00
fbarchard@google.com
c8a2c236a0
NaCl/GYP: remove references to prep_toolchain from libyuv. prep_toolchain is now a no-op.
...
BUG=none
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/49769004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1378 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-22 17:42:21 +00:00
fbarchard@google.com
2b7f6b7dee
ScaleAddRows_Any_SSE2 functions for handling odd widths.
...
BUG=425
TESTED=out\release\libyuv_unittest_old --gtest_filter=*.ScaleDownBy3_*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/45219004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1377 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-22 00:51:56 +00:00
fbarchard@google.com
01db3d1d1d
Remove declspec(align(32)) from AVX2 functions.
...
BUG=422
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/43229004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1374 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-20 22:57:04 +00:00
fbarchard@google.com
812f59ed40
box and point sampling use scaledownby4 but linear and bilinear do not.
...
BUG=427
TESTED=out\release\libyuv_unittest --gtest_filter=*.ScaleDownBy4_*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/51689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1373 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-17 18:04:09 +00:00
fbarchard@google.com
8eb887f56f
add empty header for backwards compatibility.
...
BUG=none
TESTED=lint passes
Review URL: https://webrtc-codereview.appspot.com/46919004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1371 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-15 23:09:09 +00:00
fbarchard@google.com
c9986313ac
lsl by 2 requires a number sign for xcode on ios 64 bit build. add the # sign for ios compatibility. remove legacy x86 asm files that are unused. the unused files cause complications in build systems that build all files.
...
BUG=libyuv:423
TESTED=try bots
R=noahric@google.com
Review URL: https://webrtc-codereview.appspot.com/45119004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1369 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-14 19:57:33 +00:00
fbarchard@google.com
32ad6e0e12
Remove unused variable 'I422ToRGB565Row' that breaks osx builds.
...
BUG=426
TESTED=untested
Review URL: https://webrtc-codereview.appspot.com/48079004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1368 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-14 02:50:35 +00:00
fbarchard@google.com
013e812275
Port box filter to AVX2.
...
BUG=libyuv:425
TESTED=c:\intelsde\sde -ast -hsw -- out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*libyuvTest.ScaleTo640x360_Box
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/43149004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1367 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-14 00:21:15 +00:00
fbarchard@google.com
b5ea79d845
add rows handle height of 1 using a more general while-style loop.
...
BUG=none
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/45999004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1366 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-13 18:56:08 +00:00
fbarchard@google.com
c7161d1c36
Remove code alignment declspec from Visual C versions for vs2014 compatibility.
...
BUG=422
TESTED=local vs2013 build still passes.
Review URL: https://webrtc-codereview.appspot.com/45959004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1365 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-12 23:54:26 +00:00
fbarchard@google.com
1eb51bcf01
Fix bug in YUV to RGB for gcc/clang and enable affected functions.
...
BUG=393
TESTED=sde -ast -hsw -- out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*I422ToARGB*
Review URL: https://webrtc-codereview.appspot.com/48019004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1364 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-08 02:32:33 +00:00
fbarchard@google.com
bb5a009d11
ARGB4444ToARGB and ARGB1555ToARGB ported to AVX2.
...
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGB4444ToARGB*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/48009004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1363 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-07 23:52:57 +00:00
fbarchard@google.com
8b9f908134
RGB565ToARGB AVX2 vzeroupper before the ret, not after.
...
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*RGB565ToARGB*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/51549004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1362 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-07 22:53:12 +00:00
yang.zhang@arm.com
5f609856de
Add ScaleARGBFilterCols_NEON for ARM32/64
...
ARM32/64 NEON versions of ScaleARGBFilterCols_NEON are implemented.
BUG=319
TESTED=libyuvTest.* on ARM32/64 with Android
R=fbarchard@google.com
Change-Id: Ifea62bc25d846bf16cb51d13b408de7bf58dccd4
Review URL: https://webrtc-codereview.appspot.com/46699004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1361 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-07 03:45:29 +00:00
fbarchard@google.com
2827277496
port RGB565ToARGB to AVX2.
...
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*RGB565ToARGB*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/49609004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1357 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-06 19:24:23 +00:00
fbarchard@google.com
e2ea106068
shift for arm wants a # sign for nacl and ios.
...
BUG=420
TESTED=d:/src/nacl_sdk/pepper_canary/toolchain/win_arm_newlib/bin/arm-nacl-g++ -o newlib/Release/source/scale_neon_arm.o -c source/scale_neon.cc -g -O2 -pthread -MMD -DNDEBUG -Id:/src/nacl_sdk/pepper_canary/include -Id:/src/nacl_sdk/pepper_canary/include/newlib -I./include
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/47949004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1356 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-03 23:28:44 +00:00
fbarchard@google.com
44b6ba91e4
Scale down by 4 for odd number of destination pixels using 'any' that handles SIMD for multiple of 8 pixels, and C for the remainder.
...
BUG=314
TESTED=local test with width odd
Review URL: https://webrtc-codereview.appspot.com/49599004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1355 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-03 22:12:53 +00:00
fbarchard@google.com
62a9fe303c
code style cleanup of scale functions. no functional change.
...
BUG=none
TESTED=lint
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/48839004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1354 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-02 21:23:52 +00:00
fbarchard@google.com
c70c7c02ff
scale to half size optimization for avx2 - use pmaddubsw instruction to horizontally add bytes, then pavgw to round and divide by 2.
...
BUG=314
TESTED=libyuvTest.ScaleDownBy2*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/45909004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1352 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-31 23:59:27 +00:00
yang.zhang@arm.com
f23d6222ac
Add ScaleARGBCols_NEON for ARM32/64
...
ARM32/64 NEON versions of ScaleARGBCols_NEON are implemented.
BUG=319
TESTED=libyuvTest.* on ARM32/64 with Android
R=fbarchard@google.com
Change-Id: Id9ad97f7aa5d8a34cd55ace9e648cb6ff028efd9
Review URL: https://webrtc-codereview.appspot.com/47689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1351 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-31 03:03:05 +00:00
fbarchard@google.com
72673ac873
linear and point sample scale to half size for AVX2.
...
BUG=314
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*.ScaleDownBy2*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/44959004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1349 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-30 21:46:08 +00:00
fbarchard@google.com
9ef8999ff3
scale to half size use pmadd/pavgw to horizontal averaging.
...
BUG=314
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*.ScaleDownBy2*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/50529004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1348 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-27 18:20:21 +00:00
fbarchard@google.com
e6ca9cc2a2
Scale down by 2 AVX2 port. Processes twice as many pixels as SSE2 and takes advantage of 3 argument instructions to reduce register usage and number of instructions.
...
BUG=314
TESTED=libyuvTest.ScaleDownBy2_Box
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/42959004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1347 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-26 23:21:08 +00:00
fbarchard@google.com
f16f33d4ce
All cpu flags to be set so that instead of comparing C code, compare assembler to assembler, for benchmarking purposes.
...
BUG=none
TESTED=libyuv_unittest.exe
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/50499004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1346 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-26 18:22:29 +00:00
fbarchard@google.com
d41fbf40dd
Handle scale down by factor of 2 efficiently by calling SIMD for multiple of 16 destination pixels, and C for remainder.
...
BUG=314
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*.ScaleDownBy2*
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/48689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1344 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-24 23:25:30 +00:00
fbarchard@google.com
d28cd77f99
Enable assembly for clangcl build on Windows. Previously assembly was disabled so clangcl would work, but only with C code. As clangcl mimics both Visual C and GCC, ifdefs need to pick one or the other or often you'll end up with both. In this CL we disable most Visual C code and use the GCC versions which allow assembly for both 32 and 64 bit intel.
...
BUG=412
TESTED=clang=1 build on windows
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/51389004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1341 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-19 20:36:31 +00:00
yang.zhang@arm.com
d6d7de5742
Add ScaleFilterCols_NEON for ARM32/64
...
ARM32/64 NEON versions of ScaleFilterCols_NEON are implemented.
BUG=319
TESTED=libyuvTest.* on ARM32/64 with Android
R=fbarchard@google.com
Change-Id: I5b0838769ffb0182155d7cd6bcc520eb81eb5c4e
Review URL: https://webrtc-codereview.appspot.com/41349004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1340 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-19 03:55:05 +00:00
fbarchard@google.com
0e4388aea3
I422ToRGB24 AVX2 and I422ToRAW
...
BUG=none
TESTED=I422ToRGB24 unittest
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/46619004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1337 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-17 17:25:27 +00:00
yang.zhang@arm.com
4d387fc619
Add ScaleARGBRowDown2Linear_NEON for ARM32/64
...
ARM32/64 NEON versions of ScaleARGBRowDown2Linear_NEON are implemented.
BUG=319
TESTED=libyuvTest.ARGBScale* on ARM32/64 with Android
R=fbarchard@google.com
Change-Id: Ife602c81b51aa36e0d56b9d628f278a24eed96f6
Review URL: https://webrtc-codereview.appspot.com/44689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1336 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-17 02:23:59 +00:00
yang.zhang@arm.com
e246e6c18f
Add ARGBToRGB565DitherRow_NEON for ARM32/64
...
ARM32/64 NEON versions of ARGBToRGB565DitherRow_NEON are implemented.
BUG=407
TESTED=libyuvTest.* on ARM32/64 with Android
R=fbarchard@google.com
Change-Id: Ia689170fb39db964392e5e1113801592ab0628bf
Review URL: https://webrtc-codereview.appspot.com/49409004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1335 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-17 02:22:25 +00:00
fbarchard@google.com
3b4f5eb7b8
Port J422 colorspace to GCC
...
BUG=414
TESTED=try bots
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/43809004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1334 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-17 00:54:50 +00:00
fbarchard@google.com
92f7f421fd
rename I400 to J400 and I400 reference to I400. J400 is a simple replication of values to convert to RGB, which is what the old I400 was. I400 reference is the Y part of the YUV formula, so renaming that to I400.
...
BUG=none
TESTED=libyuvTest (5925 ms total)
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/50369005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1333 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-17 00:01:18 +00:00
fbarchard@google.com
f301777060
Fix YToARGB and tweaks to thresholds in YUV tests.
...
BUG=411
TESTED=libyuvTest.TestYToARGB
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/44709004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1330 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-16 19:50:33 +00:00
fbarchard@google.com
f2fad0faa5
Optimized J422ToARGB.
...
BUG=414
TESTED=J422ToARGB unittest
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/42799004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1328 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-16 18:08:30 +00:00
yang.zhang@arm.com
ca5b1bd58b
Add ScaleAddRows_NEON for ARM32/64
...
ARM32/64 NEON versions of ScaleAddRows_NEON are implemented.
BUG=319
TESTED=libyuvTest.Scale* on ARM32/64 with Android
R=fbarchard@google.com
Change-Id: I45b88c2b5f576042ba5b3d8d6f8851257fdb7218
Review URL: https://webrtc-codereview.appspot.com/46379004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1326 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-16 02:57:46 +00:00
fbarchard@google.com
63726ed9c6
test different ways to round and clamp
...
BUG=none
TESTED=TestRoundToByte
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/41299004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1325 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-13 22:24:45 +00:00
fbarchard@google.com
952ca5f26f
Fix for planar functions SSE2 enable when building with clang for Windows.
...
BUG=412
TESTED=clang=1 for build on windows
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/45679004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1324 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-13 21:37:14 +00:00
fbarchard@google.com
685b92b0a6
I400ToARGB_AVX2 port from SSE2 to AVX2.
...
BUG=403
TESTED=libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*I400ToARGB*
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/46569004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1322 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-11 18:12:17 +00:00
fbarchard@google.com
f5a7b2b48a
I411ToARGB AVX2 version
...
BUG=403
TESTED=I411ToARGB unittest
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/42689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1321 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-11 00:08:56 +00:00
fbarchard@google.com
1e4a14f410
scale avoid math overflow in fixed point for large images
...
BUG=410
TESTED=set LIBYUV_WIDTH=65536 out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=libyuvTest.ScaleTo320x240_None
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/42319004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1320 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-10 22:30:47 +00:00
fbarchard@google.com
be77e062da
Make TestFullYUV test do full yuv color space by default with randomized Y for inner loop
...
BUG=none
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*TestFullYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/47499005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1319 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-10 21:26:46 +00:00
fbarchard@google.com
24152b2435
Dither from I420 to RGB565 in 2 steps - I420ToARGB then ARGBToRGB565.
...
BUG=407
TESTED=untested
R=brucedawson@google.com , tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/48429004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1315 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-10 01:45:04 +00:00
fbarchard@google.com
cdd80e04c9
Port I444ToARGB to AVX2.
...
BUG=403
TESTED=I444ToARGB unittests
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/45589004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1314 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-09 21:56:48 +00:00
fbarchard@google.com
7c55ae4ada
Change YUV full test to use pseudo random order
...
BUG=none
TESTED=libyuvTest.TestFullYUV
Review URL: https://webrtc-codereview.appspot.com/45539004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1313 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-08 23:00:39 +00:00
fbarchard@google.com
9c96867a97
lrintf is not supported by visual studio 2010; replace instances of lrintf with a cast to int.
...
BUG=409
TESTED=python build\gyp_chromium -fninja -G msvs_version=2010 --depth=. libyuv_test.gyp
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/44569004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1312 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-06 22:20:41 +00:00
fbarchard@google.com
697c5aa831
disable nv12 avx2 for vs9/10 that dont support avx2 instructions.
...
BUG=409
TESTED=try bots
R=harryjin@google.com , johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/43629004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1311 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-06 19:12:21 +00:00
fbarchard@google.com
bdeb9ac584
switch from 8x8 to 4x4 matrix for dithering
...
BUG=407
TESTED=Dither unittests
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/46459004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1310 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-06 18:28:00 +00:00
fbarchard@google.com
0fe4abbc5c
ARGBToRGB565 AVX2 with dithering
...
BUG=407
TESTED=ARGBToRGB565Dither unittest
R=brucedawson@google.com , harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/44519004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1309 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-04 22:31:43 +00:00
fbarchard@google.com
9245317e16
ARGBToRGB565 SSE2 port.
...
BUG=407
TESTED=ARGBToRGB565Dither unittest
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41039004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1308 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-04 00:00:50 +00:00
yang.zhang@arm.com
274c9bce92
Add ScaleRowDown2Linear_NEON for ARM32/64
...
ARM32/64 NEON versions of ScaleRowDown2Linear_NEON are implemented.
BUG=319
TESTED=libyuvTest.ScaleDownBy2_Linear on ARM32/64 with Android
R=fbarchard@google.com
Change-Id: I2c7f43a0d56ed4dfded5bdbbb61765d87d65a2ba
Review URL: https://webrtc-codereview.appspot.com/43519005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1307 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-03 02:17:16 +00:00
fbarchard@google.com
693e0217c8
ARGBToRGB565 C version use unsigned dither matrix pattern to bump pixels to next brighter value.
...
BUG=407
TESTED=unittest passes
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/43539004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1306 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-02 23:46:09 +00:00
fbarchard@google.com
6eaee58589
shift by 16 for neon expects a number sign
...
BUG=408
TESTED=nacl arm build
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38329004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1305 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-02 18:48:17 +00:00
fbarchard@google.com
933bd40c3c
port ARGBToRGB565 and ARGB1555 to AVX2. Enable functions that use ARGBToRGB565 AVX2 code. Add ARGBToRGB565Dither function.
...
BUG=403
TESTED=local windows build
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/42109004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1302 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-27 21:15:28 +00:00
fbarchard@google.com
a5d26cedb1
if building with gcc and sse2 is not enabled, disable assembly
...
BUG=none
TESTED=nacl build with default options
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/44389004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1298 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-25 19:28:45 +00:00
fbarchard@google.com
bffd326f74
AVX2 version of ARGBToARGB4444
...
BUG=403
TESTED=local build on windows
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/43429004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1297 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-25 17:26:28 +00:00
fbarchard@google.com
d96047761e
AVX2 version of NV12ToARGB
...
BUG=403
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/40089004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1295 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-24 23:45:08 +00:00
fbarchard@google.com
3c11d4bf6e
align avx2 buffers to 32 bytes
...
BUG=403
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/40929004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1294 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-24 23:31:28 +00:00
fbarchard@google.com
446fa95587
I422ToRGB565, ARGB4444 and ARGB1555 for AVX2
...
BUG=403
TESTED=avx2 emulator
Review URL: https://webrtc-codereview.appspot.com/34359004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1293 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-24 23:14:46 +00:00
fbarchard@google.com
e2f1a75474
move mask to last parameter of any functions for consistency.
...
BUG=none
TESTED=local libyuv unittest passes
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/43419004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1292 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-24 21:18:30 +00:00
fbarchard@google.com
239962fa00
YUY2 and UYVY to ARGB AVX2 versions via wrappers.
...
BUG=403
TESTED=UNTESTED
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/34339004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1291 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-24 18:58:51 +00:00
kjellander@google.com
28d1a582ba
Revert "YUY2ToARGB and UYVYToARGB AVX with C wrapper to call lower level conversions."
...
This reverts r1288 due to breaking compilation on bots:
http://build.chromium.org/p/client.libyuv/builders/Mac64%20Debug/builds/365
http://build.chromium.org/p/client.libyuv/builders/Linux64%20Debug/builds/667
TBR=fbarchard@google.com
TESTED=Reverted locally and all built fine again.
Review URL: https://webrtc-codereview.appspot.com/40879004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1289 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-23 09:22:22 +00:00
fbarchard@google.com
b52606c024
YUY2ToARGB and UYVYToARGB AVX with C wrapper to call lower level conversions.
...
BUG=403
TESTED=convert unittest
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/40839004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1288 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-21 00:49:35 +00:00
fbarchard@google.com
6a192487fe
Switch SSSE3 row wrappers from variable sized malloc to fixed size array with loop to process a portion of the row at a time. This helps performance in the case where the image has been coalesced into a single large row and the allocator, although only called once, is slow to clear the pages. Also the smaller temporary buffer fits cache, further improving performance.
...
BUG=403
TESTED=YUY2ToARGB unittest
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/40849004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1286 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-20 22:46:15 +00:00
fbarchard@google.com
194f740d0e
Scan from start of buffer to handle case where an invalid size was passed.
...
BUG=404
TESTED=libyuvTest.ValidateJpegLarge
R=brucedawson@google.com , harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41989004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1285 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-18 01:57:31 +00:00
fbarchard@google.com
a965a97d8e
Unittest to test ValidateJpeg when jpeg is small but buffer is large
...
BUG=404
TESTED=libyuvTest.ValidateJpegLarge
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/36169004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1284 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-17 19:16:14 +00:00
fbarchard@google.com
975dd5a699
macros for storing RGB on windows.
...
BUG=403
TESTED=local windows build
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38119004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1283 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-14 00:50:48 +00:00
fbarchard@google.com
5ab38f9258
Remove Q420 fourcc support.
...
BUG=396
TESTED=local build of unittest builds and passes
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/39089004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1278 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-11 18:20:54 +00:00
fbarchard@google.com
738dfa0307
Support odd widths for NV12 format when cropping vertically.
...
BUG=400
TESTED=CropNV12
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/39009004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1272 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-10 02:18:38 +00:00
fbarchard@google.com
695f42fdb8
fix for odd width but even height in TestI420
...
BUG=400
TESTED=libyuv unittests pass locally with width of 11
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41859004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1271 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-09 21:40:27 +00:00
fbarchard@google.com
0887315390
Remove bayer format support from libyuv. This format is very rare and used on legacy hardware. Its not well optimized and has bugs related to odd widths. Removing the format will allow tests to pass under more circumstances, run faster and allow focus on higher priority quality and performance issues.
...
BUG=301
TESTED=local unittests build/pass on windows gyp build.
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38059004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1270 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-09 19:58:19 +00:00