fbarchard@google.com
|
a5a15198b4
|
Add J422 support which is 2x1 subsampling with jpeg color space.
BUG=391
TESTED=color_test
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/41479004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1228 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-14 19:16:01 +00:00 |
|
fbarchard@google.com
|
e0a2472fb3
|
Move color space tests into its own source file.
BUG=391
TESTED=TestI420
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/35769004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1227 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-13 23:47:25 +00:00 |
|
fbarchard@google.com
|
69df62234b
|
Test J420 conversion to and from ARGB has low absolute difference.
BUG=none
TESTED=TestJ420
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/34739004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1225 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-13 19:53:15 +00:00 |
|
fbarchard@google.com
|
cb96f37afa
|
Convert to and from J420 to test absolute conversion error.
BUG=241
TESTED=TestJ420
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/36729004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1224 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-13 18:58:17 +00:00 |
|
fbarchard@google.com
|
b2a6af1be6
|
Change rectangle low level functions to use more conventional row functions including 'any' variations. Previously the yuv function SetPlane stored 32 bit values. Now a more conventional memset() style function is used for YUV that stores bytes. On Haswell a rep stosb is used for YUV. Overall benefit of this CL is improved performance for 'any' width, and simpler row assembly instead of full image assembly. Previously ARGBRect used a low level function that supported a rectangle in assembly. Now it uses a row function, and relies on row coalesce to combine into a single low level call.
BUG=371
TESTED=untested
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/35689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1222 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-12 03:58:24 +00:00 |
|
fbarchard@google.com
|
852f4854c0
|
Neon version of new SetRow functions for rectangles.
BUG=387
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/39449004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1220 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-09 00:15:44 +00:00 |
|
fbarchard@google.com
|
8e3db2dc73
|
Support invert for ARGBRect and SetPlane
BUG=387
TESTED=ARGBRect_Invert
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37539004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1219 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-07 19:02:01 +00:00 |
|
fbarchard@google.com
|
992c3b089a
|
Use HAS_ARGBSETROWS_X86 to detect presence of function.
BUG=none
TESTED=rectangle unittests
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/35639004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1218 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-07 00:11:51 +00:00 |
|
fbarchard@google.com
|
61ffd847d7
|
Add tests for ARGBRect and SetPlane. Remove comment to test Neon shuffle and Setrows for Neon.
BUG=387
TESTED=libyuvTest.ARGBRect_Opt and libyuvTest.SetPlane_Opt
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/35589004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1217 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2015-01-06 22:27:35 +00:00 |
|
fbarchard@google.com
|
966233e5eb
|
Remove sub 16 from yuv conversions and change bias to include it.
BUG=388
TESTED=out\release\libyuv_unittest --gtest_catch_exceptions=0 --gtest_filter=*420ToARGB_Opt | sortms
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/34609004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1216 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-31 01:07:02 +00:00 |
|
fbarchard@google.com
|
8723fc1109
|
Syntax fix for change 24 bit conversions to use single asm block instead of 2, but with memory counter
BUG=389, 378
TESTED=out\release\libyuv_unittest --gtest_catch_exceptions=0 --gtest_filter=*420ToRGB24_Opt | sortms
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/39399004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1215 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-30 22:26:10 +00:00 |
|
fbarchard@google.com
|
16338ba85f
|
Change 24 bit conversions to use single asm block instead of 2, but with memory counter
BUG=389,378
TESTED=out\release\libyuv_unittest --gtest_catch_exceptions=0 --gtest_filter=*420ToRGB24_Opt | sortms
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29359004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1214 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-30 21:35:35 +00:00 |
|
fbarchard@google.com
|
40e3457574
|
J420ToARGB jpeg variation of YUV color space to ARGB.
BUG=241
TESTED=J420ToARGB unittest
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32929004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1212 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-29 19:17:53 +00:00 |
|
yang.zhang@arm.com
|
002feab4c5
|
Fix the bug in ARGBColorMatrixRow_NEON
BUG=371
TESTED=libyuv_unittest and test case written by myself
R=fbarchard@google.com
Change-Id: I652dc23e4be75bd51d15a8a7f9d023594c9cd032
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1211 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-19 08:09:04 +00:00 |
|
fbarchard@google.com
|
8232203819
|
Disable color matrix neon code that fails unittests.
BUG=371
TESTED=locally tested by arm
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37439004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1209 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-18 01:49:19 +00:00 |
|
fbarchard@google.com
|
284d6bdf49
|
Port I422ToBGRA from Windows version that does 16 pixels at a time, for performance improvement.
BUG=386
TESTED=nacl build
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/36549004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1207 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-16 23:56:04 +00:00 |
|
fbarchard@google.com
|
685813d6e2
|
Enable all AVX2 conversions.
BUG=269
TESTED=local test on osx
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32359004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1206 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-16 18:12:40 +00:00 |
|
fbarchard@google.com
|
8b55212c83
|
Make vextop take the register selector parameter to access the upper portion of the avx registers.
BUG=269
TESTED=nacl
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37399004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1205 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-16 00:30:51 +00:00 |
|
fbarchard@google.com
|
7892ea1fe1
|
Fix for ARGBToUV on AVX2
BUG=269
TESTED=local testing
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/33669004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1202 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-15 18:59:23 +00:00 |
|
fbarchard@google.com
|
ddee77cdbd
|
Fix for I422ToRGBA when I422ToARGB is not enabled for AVX2
BUG=269
TESTED=local windows build
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32339004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1201 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-15 18:28:59 +00:00 |
|
fbarchard@google.com
|
f5f5d15dcd
|
Fix register order for ARGBToUV_AVX2
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29249004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1200 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-15 18:07:09 +00:00 |
|
fbarchard@google.com
|
ada2a3eb12
|
Fix for ARGBToY on AVX
BUG=269
TESTED=local build on osx
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/29229005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1198 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-13 01:44:33 +00:00 |
|
fbarchard@google.com
|
b0abc62c21
|
Fix for UYVYToI422 AVX2 version
BUG=269
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/32329004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1197 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-13 00:15:11 +00:00 |
|
fbarchard@google.com
|
a9734a4492
|
ARGBMirror for AVX had wrong loop counting. This fixes it to match windows, and reenables the function.
BUG=269
TESTED=try bots
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/33639004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1196 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-12 22:43:55 +00:00 |
|
fbarchard@google.com
|
08daa3e22b
|
Disable AVX2 code that fails on GCC unittests until issues can be resolved.
BUG=269
TESTED=sde-external-7.8.0-2014-10-02-mac/sde -ast -hsw -- out/Release/libyuv_unittest
Review URL: https://webrtc-codereview.appspot.com/29219004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1195 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-12 19:30:15 +00:00 |
|
fbarchard@google.com
|
233a931cb6
|
Port ARGBToUV to AVX2.
BUG=269
TESTED=ncval
R=brucedawson@google.com, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/35449004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1194 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-10 22:48:58 +00:00 |
|
fbarchard@google.com
|
e0bb4c26e2
|
Interpolate Row ported to AVX2 GCC/NaCL.
BUG=269
TESTED=nacl build
R=brucedawson@google.com, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/25329004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1193 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-09 22:21:53 +00:00 |
|
fbarchard@google.com
|
d5b5594f8a
|
Enable 3 neon functions for arm 32 bit. The functions were there, but the macros were not. They've been on for 64 bit, so this reunifies them.
BUG=none
TESTED=try bots
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/31099004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1192 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-09 17:49:39 +00:00 |
|
fbarchard@google.com
|
044938f485
|
convert ARGB to UV for SSSE3 use single asm block.
BUG=378
TESTED=nacl build
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/28179004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1191 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-06 19:23:12 +00:00 |
|
fbarchard@google.com
|
ef1a68ed8d
|
Remove nacl macro from 64 bit psnr
BUG=none
TESTED=try bots
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/32629004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1190 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-04 00:01:19 +00:00 |
|
fbarchard@google.com
|
14b46c15a2
|
psnr utility aarch64 bit version to fix build error on ios and optimize for 64 bit.
BUG=383
TESTED=try bots
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/30349004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1189 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-03 19:45:20 +00:00 |
|
fbarchard@google.com
|
06ec03b41e
|
Use same macros for neon 32 bit and 64 bit. Then supply the differences, which should be removed in future.
BUG=none
TESTED=try bots
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/31089004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1186 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-03 02:01:25 +00:00 |
|
fbarchard@google.com
|
540e8af80c
|
remove add 16 from ARGBToYJ and add rounding, for consistency with Windows version. row.h header macros sorted alphabetically.
BUG=269
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/32579005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1185 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-02 22:37:47 +00:00 |
|
fbarchard@google.com
|
b036cf700b
|
ARGBToYRow_AVX2 and ARGBToYJRow_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=brucedawson@google.com, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/30299004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1184 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-02 22:00:08 +00:00 |
|
fbarchard@google.com
|
d0bfd10147
|
I422ToRGBARow_AVX2 ported to GCC.
BUG=269
TESTED=nacl build
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/32259004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1183 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-02 18:59:33 +00:00 |
|
fbarchard@google.com
|
702e237d5f
|
I422ToABGR_AVX2 port from Visual C to GCC/NaCL.
BUG=269
TESTED=builds with nacl compiler.
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/33449004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1182 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-02 03:54:08 +00:00 |
|
fbarchard@google.com
|
0c472f9d42
|
gcc port of I422ToARGB_AVX2 from Visual C. Uses Macros for read of I422 and conversion from YUV to RGB. Shares constants from I422ToBGRA structure.
BUG=269
TESTED=nacl builds.
R=brucedawson@google.com, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/27279004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1181 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-12-02 00:22:56 +00:00 |
|
fbarchard@google.com
|
c5aac16af9
|
Remove loop alignment for benefit of modern cpus that dont require alignment.
BUG=none
TESTED=local libyuv unittest passes
R=brucedawson@google.com, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/32159004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1180 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-24 21:26:22 +00:00 |
|
fbarchard@google.com
|
fd89cd79b7
|
Roll chromium deps to match version used by WebRtc: d8c90415d681a7c3727e3ef70873bc4f44dd3ab0.
BUG=370
TESTED=try bots
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/28089004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1179 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-24 20:50:57 +00:00 |
|
fbarchard@google.com
|
ef14972df0
|
MergeUV AVX2 use vextractf128 to store results to avoid shuffling.
BUG=none
TESTED=intel sde on unittests
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/33369004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1178 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-22 03:33:33 +00:00 |
|
fbarchard@google.com
|
147f7b70f5
|
Quick fix for build gcc - remove unused argument kARGBShuffleMirror from ARGBMirror SSE2.
BUG=none
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/30209004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1177 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-22 01:12:19 +00:00 |
|
fbarchard@google.com
|
ef67597b48
|
ARGBMirror use SSE2 pshufd instruction instead of SSSE3 pshufb.
BUG=269
TESTED=local benchmark for ARGBMirror
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/32509004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1176 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-21 19:25:14 +00:00 |
|
fbarchard@google.com
|
91f240c5db
|
Move sub before branch for loops.
Remove CopyRow_x86
Add CopyRow_Any versions for AVX, SSE2 and Neon.
BUG=269
TESTED=local build
R=harryjin@google.com, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/26209004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1175 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-20 21:14:27 +00:00 |
|
fbarchard@google.com
|
813bf9f97d
|
Change lea macros from memaccess to memlea to fix nacl 64 bit build errors.
BUG=381
TESTED=local nacl build and validate
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32129004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1174 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-19 23:02:04 +00:00 |
|
fbarchard@google.com
|
db7a7f61ff
|
Port ARGBMirror AVX2 code to gcc/NaCL.
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/24329004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1173 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-19 20:03:37 +00:00 |
|
fbarchard@google.com
|
9dd083a512
|
ARGBMirror Any
BUG=none
TESTED=mirror and rotate unittests
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30159004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1172 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-19 00:46:51 +00:00 |
|
fbarchard@google.com
|
59ed448685
|
MirrorAny functions so assembly can always be used.
BUG=none
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29069004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1170 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-18 01:03:47 +00:00 |
|
fbarchard@google.com
|
55db4ec23b
|
port lea removal for mirror to gcc
BUG=none
TESTED=none
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/27209004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1169 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-17 20:06:40 +00:00 |
|
fbarchard@google.com
|
ad113fbaf6
|
Remove alignment from loops. Newer cpus will execute the loop efficiently without alignment, and the extra nops would slow the initial iteration marginally if anything.
BUG=none
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/27199004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1167 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-17 19:25:21 +00:00 |
|
fbarchard@google.com
|
5822505e0a
|
Remove extra unaligned loop from alphablender. Both aligned and unaligned loops were the same, so remove the extra.
BUG=none
TESTED=try bots.
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29059004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1166 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-17 18:33:07 +00:00 |
|
fbarchard@google.com
|
1eb636d249
|
remove initial lea in mirror functions and add the offset in the address mode.
BUG=none
TESTED=local libyuv unittests on windows
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/26169004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1165 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-17 18:16:23 +00:00 |
|
fbarchard@google.com
|
35508d0979
|
Mirror_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32079004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1164 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-13 23:11:10 +00:00 |
|
fbarchard@google.com
|
91000425a3
|
ARGBUnattenuate_AVX2 ported to GCC. Minor cleanup of constants to use broadcast to make 16 byte constant instead of 32 byte.
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30999004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1163 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-13 17:57:33 +00:00 |
|
fbarchard@google.com
|
f8c334473b
|
ARGBAttenuate_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29049004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1162 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-12 18:38:06 +00:00 |
|
fbarchard@google.com
|
ec1f854f86
|
Use broadcast to duplicate constants from 16 bytes to 32 bytes to save data space.
BUG=none
TESTED=intelsde
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/32029004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1161 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-12 01:45:27 +00:00 |
|
fbarchard@google.com
|
a843cafbe4
|
ARGBMultiply_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/27139005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1160 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-11 20:33:33 +00:00 |
|
fbarchard@google.com
|
0387df5186
|
ARGBSubtract_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/27129004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1159 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-11 19:12:38 +00:00 |
|
fbarchard@google.com
|
9e9e26d60a
|
ARGBAdd ported AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32449004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1158 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-11 19:01:29 +00:00 |
|
fbarchard@google.com
|
10d9c0d0a7
|
MergeUV for AVX2 ported to gcc. Add missing vzeroupper to all avx2 functions.
BUG=none
TESTED=ncval for nacl
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/25059005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1157 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-10 19:19:12 +00:00 |
|
fbarchard@google.com
|
a6025e8b6b
|
ARGBDetect do 2 pixels at a time for improved performance.
BUG=375
TESTED=libyuvTest.BenchmarkARGBDetect_Opt
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/26049004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1155 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-05 23:23:17 +00:00 |
|
fbarchard@google.com
|
b661b3ee0d
|
Detect Endian of ARGB image.
BUG=375
TESTED=libyuv builds, but no test app for it yet
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32389004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1154 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-05 18:46:06 +00:00 |
|
fbarchard@google.com
|
bb3a4b41e9
|
vextractf128 requuires a constant argument for which dqword to extract, so add a new macro.
BUG=none
TESTED=local build on clang for osx
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30869004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1153 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-04 21:05:55 +00:00 |
|
fbarchard@google.com
|
3f87404769
|
Port YUY2ToUV, YUY2ToUV422, UYVYToUV and UYVYToUV422 to AVX2 on GCC/Nacl.
BUG=269
TESTED=ncval
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/26029004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1152 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-04 18:24:10 +00:00 |
|
fbarchard@google.com
|
067892c5a1
|
Port YUY2ToYRow_AVX2 and UYVYToYRow_AVX2 to gcc/NaCL from Windows AVX code.
BUG=269
TESTED=ncval
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/25039004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1151 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-11-03 18:30:17 +00:00 |
|
fbarchard@google.com
|
260e3b2273
|
now that libyuv requires newer nacl compiler, bundles can be assumed and bundle align macro can be removed. no impact on code gen.
BUG=none
TESTED=validator still passes
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30019004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1150 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-30 20:02:03 +00:00 |
|
fbarchard@google.com
|
ee4bc0d834
|
vzeroupper moved to just before ret. in one case it was done after ret, which is a bug that would cause a performance stall.
BUG=none
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/24159004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1149 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-30 19:27:21 +00:00 |
|
fbarchard@google.com
|
d10f80500f
|
Improve cmake build. Add unittests to cmake build and automatically detect jpeg support. This change was originally generated to support the build of libyuv in naclports: https://chromium.googlesource.com/external/naclports/+/master/ports/libyuv/. Also add cmake artifacts to .gitignore file.
BUG=366
TESTED=build and run unittests with cmake
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/27009004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1146 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-28 23:37:11 +00:00 |
|
fbarchard@google.com
|
44b8fd363e
|
Pass neon option to assembler but not the compiler. Step 1 of unifying the two libraries back into one.
BUG=371
TESTED=local ios builds ignore the option, but still work.
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/31719004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1145 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-28 23:15:16 +00:00 |
|
fbarchard@google.com
|
2edea9454d
|
Fix lint extraneous warning on row_win assembly by disabling the warning for those affected lines.
BUG=none
TESTED=line row_win.cc
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29969004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1144 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-27 16:27:48 +00:00 |
|
fbarchard@google.com
|
88ac01aed0
|
Change YAny functions to share, and use mask for how many bytes at a time for simd vs C.
BUG=373
TESTED=libyuv_unittest passes
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/31819004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1142 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-24 22:58:38 +00:00 |
|
fbarchard@google.com
|
78a3a6b345
|
Change Any functions that convert 1 to 1 formats, memcpy style, so use C for remainder to allow a minimum width of 1. This has some advantages - allows function to be used even with SIMD that only allows aligned memory. Fewer macros, used by more functions. SIMD is not used unaligned avoiding page/cache split. No overlap so it can be used in place. Disadvantage is it will be slower if close to the maximum number of non-SIMD pixels.
BUG=373
TESTED=libyuv_unittest still passes
R=brucedawson@google.com, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/23209004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1141 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-24 22:17:59 +00:00 |
|
fbarchard@google.com
|
1f151f62a9
|
add a check that the simd function should be called. allows any functions to support any width, simplifing and speeding up the calling code.
BUG=373
TESTED=try bots
R=brucedawson@chromium.org, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/25949004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1140 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-24 00:45:27 +00:00 |
|
fbarchard@google.com
|
0a6dab42c0
|
Add check for minimum of 8 pixels for any functions and multiple of 8 not 16 for neon functions.
BUG=373
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/23189004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1139 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-23 23:05:12 +00:00 |
|
fbarchard@google.com
|
f2fa453b94
|
Port I422ToABGR to AVX2.
BUG=269
TESTED=intelsde on I422ToABGR
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/23149004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1138 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-23 17:20:22 +00:00 |
|
fbarchard@google.com
|
22eb5965fc
|
Optimize I422ToRGBA for AVX2 by hoisting ymm5 initialization and using different register for output of unpack.
BUG=269
TESTED=intelsde on I422ToABGR
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/29889004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1137 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-22 23:39:16 +00:00 |
|
fbarchard@google.com
|
c000955bc0
|
Port I422ToRGBA to AVX.
BUG=269
TESTED=intelsde on I422ToRGBA
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/28769004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1136 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-22 22:41:39 +00:00 |
|
fbarchard@google.com
|
af6f25245e
|
Reenable AVX2 scaling with bug fix for any width
BUG=376
TESTED=unittest on scale functions
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30759004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1135 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-22 01:15:20 +00:00 |
|
fbarchard@google.com
|
4165437c3e
|
Disable AVX2 version of bilinear filter used for scaling.
BUG=376
TESTED=d:\src\libyuv\trunk>c:\intelsde\sde -ast -hsw -- out\release\libyuv_unittest.exe --gtest_filter=libyuvTest.ScaleTo569x480_Bilinear
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/25909004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1134 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-21 23:10:16 +00:00 |
|
fbarchard@google.com
|
4ec55a21cf
|
Use macros to simplify I422ToARGB for AVX code.
BUG=269
TESTED=local build with Visual C
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/24079004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1133 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-21 22:48:32 +00:00 |
|
fbarchard@google.com
|
a063a66de4
|
Change I422ToARGB_AVX2 register usage to match SSSE3. ymm0 = B, ymm1 = G, ymm2 = R.
BUG=269
TESTED=intelsde passes on unittests.
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/28759004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1132 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-21 19:02:06 +00:00 |
|
fbarchard@google.com
|
51b78880c5
|
gcc version of I422ToBGRA_AVX2. Original copied from https://webrtc-codereview.appspot.com/28729004/ and compatible with, but unrelated to windows version.
BUG=269
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/29849004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1131 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-21 02:18:11 +00:00 |
|
fbarchard@google.com
|
5a09c3ef2a
|
remove ppapi/c/pp_macros.h dependency and assume m37 is available.
BUG=374
TESTED=untested
R=nfullagar@chromium.org, tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/26769005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1130 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-20 23:54:14 +00:00 |
|
fbarchard@google.com
|
d81dddd3d0
|
port I420ToBGRA to AVX2.
BUG=269
TESTED=c:\intelsde\sde -ast -hsw -- out\release\libyuv_unittest.exe --gtest_filter=*I420ToBGRA*
R=brucedawson@google.com, harryjin@google.com, magjed@chromium.org
Review URL: https://webrtc-codereview.appspot.com/26869004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1127 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-20 19:35:55 +00:00 |
|
fbarchard@google.com
|
9107460c7f
|
Offset destination by 1 for I420ToARGB_Unaligned test to ensure destination alignment avoids exceptions.
BUG=372
TESTED=out\release_x64\libyuv_unittest --gtest_catch_exceptions=0 --gtest_filter=*I420ToARGB_Unaligned
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/23109004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1125 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-17 01:18:02 +00:00 |
|
fbarchard@google.com
|
3dbaaf0032
|
switch win64 intrinsics to loadu / storeu for unaligned memory.
BUG=372
TESTED=untested
R=brucedawson@google.com, harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30729004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1124 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-16 23:46:48 +00:00 |
|
fbarchard@google.com
|
e737688603
|
Fix for r1122 to change back to elif for rotate build error on Mac.
BUG=268
TESTED=try bot
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/31749004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1123 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-16 22:21:48 +00:00 |
|
fbarchard@google.com
|
f713691a6f
|
Change elif to endif and if to allow AVX2 as well as SSE2 in future changes instead of one or the other.
BUG=none
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30719004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1122 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-16 20:47:22 +00:00 |
|
fbarchard@google.com
|
f6e495169c
|
Copy width to 64 bit register to work around clang 3.4 warning
BUG=none
TESTED=local ios 64 bit build completes without size warnings on xcode 5.1.1
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/31699004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1120 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-13 23:26:17 +00:00 |
|
fbarchard@google.com
|
f58c85199e
|
Roll chromium deps to match webrtc from 455c66b4375d72984b79249616d0a708ad568894 to 4d46be3930146bf9bdff7c17545c5d47361d3a80.
BUG=none
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/24919004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1119 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-13 19:47:46 +00:00 |
|
fbarchard@google.com
|
4d46be3930
|
Declare CopyRow_AVX as using xmm usage, not ymm. Should resolve chromium build error for Android Atom.
BUG=libyuv:369
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/31609004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1118 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-09 17:54:43 +00:00 |
|
zhongwei.yao@arm.com
|
0eb196f8db
|
clear aarch64 related macro and fix bugs
fix 2 bugs:
- build bug libyuv.gyp
- runtime bug in ScaleRowDown38_2_Box_NEON
BUG=
TESTED=libyuv_unittest
R=fbarchard@google.com, fbarchard@chromium.org
Review URL: https://webrtc-codereview.appspot.com/23939004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1117 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-09 02:00:40 +00:00 |
|
fbarchard@google.com
|
205c1440cf
|
Use movdqu then pavgb to allow unaligned memory for rgb subsampling code. Allows this assembly to be used for unaligned pointers as well as aligned ones with no performance hit when memory is aligned on a modern cpu.
BUG=365
TESTED=libyuvTest.ARGBToI420_Unaligned (453 ms)
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30679004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1116 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-07 19:47:06 +00:00 |
|
fbarchard@google.com
|
883ce64a34
|
ifdefs for UV functions to resolve link error on osx
BUG=365
TESTED=mac local build
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/24859004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1115 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-07 17:24:14 +00:00 |
|
fbarchard@google.com
|
008ce53ac4
|
pavgb with memory op requires alignment. This CL disables conversions that use pavgb, and resolves scale by 3/8 unittest for checking alignment works. The 3/8 code used a pavgb with a memory operand. tests are added for scaling and allow unaligning on purpose.
BUG=365
TESTED=local change to force unaligned memory fails on some conversions and scaling code.
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/29699004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1114 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-07 01:57:34 +00:00 |
|
fbarchard@google.com
|
ca308327d2
|
Remove unaligned functions, since most function support unaligned memory now. This reduces complexity and improves performance for unaligned cases because C code can be avoided, and overhead is less. Downside is old cpus (core2 and earlier) will be slower for aligned memory case. Except mips, which has alignment requirement, but remove unaligned variant.
BUG=365
TESTED=unittest builds and passes locally
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/24839004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1113 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-07 00:59:31 +00:00 |
|
fbarchard@google.com
|
76301c9329
|
cmake fix to make build compatible with Windows builds.
BUG=366
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/23879004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1112 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-06 19:34:22 +00:00 |
|
fbarchard@google.com
|
b720049a54
|
Make row functions used for planarfunctions and convert use movdqu to relax alignment constraint. Step 1 - make functions unaligned.
BUG=365
TESTED=libyuv_unittest passes
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/26709004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1111 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-03 21:11:37 +00:00 |
|
ashok.bhat@gmail.com
|
147bbede9d
|
Row AArch64 Neon implementation - Part 8
BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com
Change-Id: If30eb2d255a09dece9d216a9d29317dd748ef496
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/22769004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1109 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-03 18:10:05 +00:00 |
|
fbarchard@google.com
|
d1a0e7e71a
|
scale use movdqu for posix
BUG=367
TESTED=libyuvTest.I444ToI420_Unaligned
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/26699004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1108 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-03 18:03:10 +00:00 |
|
fbarchard@google.com
|
d83f63a3b4
|
InterpolateRow used for scale handle unaligned memory. Remove HalfRow which is not used.
BUG=367
TESTED=unittest on I422ToI420
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/28639004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1107 16f28f9a-4ce2-e073-06de-1de4eb20be90
|
2014-10-03 17:37:11 +00:00 |
|