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
yang.zhang@arm.com
94e3d5a3be
Improve the accuracy YUV to RGB for ARMv7 NEON
...
NEON version of YUV422TORGB is updated based on C algorithm. Accuracy YUV to RGB
of NEON is also updated according to test result. Macro LIBYUV_NEON is added to
identify accuracy YUV to RGB for ARM platform.
Except TestJ420 and TestYUV, all the other tests are passed.
BUG=324
TESTED=libyuvTest on ARMv7 with Android
R=fbarchard@google.com
Change-Id: I492ca628679940534f40341721dc5b6dc2d7a5b6
Review URL: https://webrtc-codereview.appspot.com/40609004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1296 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-25 06:51:29 +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
2ee7a5d8e2
Add drover.properties for libyuv
...
To use this for reverts, just run drover
from the root directory (i.e. the directory
where this file is located). Notice you'll
end up with a drover_<revision> directory
being created that contains the revert changes.
If you don't have a checkout, you can also
use it like this:
svn export https://libyuv.googlecode.com/svn/trunk/drover.properties
Then just run:
drover --revert <revision>
TBR=fbarchard@google.com
Review URL: https://webrtc-codereview.appspot.com/40909004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1290 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-24 10:06:44 +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
cfd6f897c4
use named type for pointer
...
BUG=403
TESTED=try bot
Review URL: https://webrtc-codereview.appspot.com/38179004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1287 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-20 23:26:27 +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
8e16c1a341
Switch to macro for STOREBGRA etc on Posix SSSE3
...
BUG=393
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/33339004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1282 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-13 21:53:16 +00:00
fbarchard@google.com
796396b226
Switch step for libyuvTest.TestFullYUV from 3 to 5 for better test performance.
...
BUG=397
TESTED=libyuvTest.TestFullYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37249004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1281 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-13 21:48:29 +00:00
fbarchard@google.com
5e1c15de08
updated file source list for android mk system.
...
BUG=402
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/39109004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1280 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-11 19:42:25 +00:00
fbarchard@google.com
2f56d2859f
Macro to store ARGB value
...
BUG=396
TESTED=local windows build
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38109004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1279 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-11 18:53:54 +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
yang.zhang@arm.com
1a1cf3f4db
Enable NEON functions for ARM32
...
In init functions, whether the code of NEON initialization is compiled
is decided by macros HAS_XXXX_NEON. These macros HAS_XXXX_NEON are defined
according to __ARM_NEON__/LIBYUV_NEON/__aarch64__. For ARM32, "-mfpu=neon"
isn't passed to the files containing init functions. So __ARM_NEON__ is
undefined which leads to NEON functions are disabled.
In this patch, LIBYUV_NEON is added to enable HAS_XXXX_NEON definition for ARM32.
BUG=none
TESTED=libyuv_unittest on android of ARM32/ARM64
R=fbarchard@google.com
Change-Id: Ib4201e7152d2aeb0ba80d18bbbd0487151e4564e
Review URL: https://webrtc-codereview.appspot.com/32959004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1277 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-11 08:30:11 +00:00
fbarchard@google.com
d1ac8b17e6
use matrix for win64 version of I420ToARGB
...
BUG=396
TESTED=local unittests build/pass
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41899004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1276 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-11 00:57:46 +00:00
fbarchard@google.com
3bb829a44f
Add a macro for YUV to RGB on Windows. Allows multiple color matrix structures in the future.
...
BUG=393
TESTED=local build
R=brucedawson@google.com , harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38079004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1275 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-10 23:03:37 +00:00
fbarchard@google.com
97a3850ea4
Add a macro to reference YUV structure for future alternative color spaces.
...
BUG=393
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/33299005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1274 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-10 19:34:17 +00:00
yang.zhang@arm.com
63996ab7ca
Fix the bug (0 extension from int to int64) in ScaleARGBRowDownEven_NEON.
...
Reason of this bug is that ARM64 can't extend the sign bit of a 32-bit integer
to 64-bit integer automatically.
ScaleARGBRowDownEven_NEON is also enabled for ARM64.
BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com
Change-Id: Ib8d30a05156239247296aa8bb4faa94b4f69a9c3
Review URL: https://webrtc-codereview.appspot.com/32949004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1273 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-10 06:04:12 +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
fbarchard@google.com
35037cb948
For 32 bit x86 with fpic use memory instead of register for count
...
BUG=399
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/36019004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1269 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-08 21:28:40 +00:00
fbarchard@google.com
fd8054791c
build fixe for InterpolateRow_MIPS_DSPR2
...
BUG=398
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37999004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1268 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-07 01:01:30 +00:00
fbarchard@google.com
a246086243
use the same structures for sse and avx yuv to rgb.
...
BUG=396
TESTED=local build still passes on sse
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/34999004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1267 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-06 21:05:38 +00:00
fbarchard@google.com
cf925c50bc
Make Yvu vs Yuv use same code and structure but pass in a different version of the matrix
...
BUG=396
TESTED=ncval
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/34979004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1266 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-06 00:29:08 +00:00
fbarchard@google.com
6c200c5924
Test YUV against reference
...
BUG=393
TESTED=TestGreyYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/33229004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1265 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-05 23:58:01 +00:00
fbarchard@google.com
1663996c52
Remove ifdef __SSE2__ and native client ifdef for r14 in register usage declarations.
...
BUG=395
TESTED=gcc build with nacl
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/34149004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1264 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-05 23:09:15 +00:00
fbarchard@google.com
3cb485533a
NaCL port of YToARGB for AVX2
...
BUG=393
TESTED=d:\src\nacl_sdk\pepper_canary\tools\ncval.exe newlib/Release/nacltest_x86_32.nexe
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/39829004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1263 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-05 21:32:15 +00:00
fbarchard@google.com
baafc97d6b
port YToARGB AVX2 to GCC
...
BUG=393
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/39819004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1262 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-05 20:17:27 +00:00
fbarchard@google.com
f7e5b5e361
Enable AVX I422ToARGB for Windows.
...
BUG=393
TESTED=c:\intelsde\sde -ast -hsw -- out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*I422ToARGB_Opt
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41789004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1261 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-05 19:41:10 +00:00
fbarchard@google.com
9d67669697
make histogram use 8 digits for all values for more consistent formatting.
...
BUG=394
TESTED=TestFullYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/34129004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1260 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-04 20:00:38 +00:00
fbarchard@google.com
c4e032c543
change Y multiplier and bias to compensate for 257/256 which makes YToARGB exactly match float math.
...
Histogram Before
hist -3 -2 -1 0 1 2 3
red 0 0 1809408 13140736 1827072 0 0
green 0 0 1679912 13471329 1625975 0 0
blue 168448 994816 1876480 10655488 1893376 1006336 182272
Histogram After
hist -3 -2 -1 0 1 2 3
red 0 0 558848 15632128 586240 0 0
green 0 0 209907 16350588 216721 0 0
blue 14848 642816 1989376 11363328 2053120 695040 18688
BUG=394
TESTED=more stringent luma tests
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/38859004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1259 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-04 19:45:26 +00:00
fbarchard@google.com
3982998c7c
YToARGB AVX2 port from SSE2
...
BUG=393
TESTED=YToARGB unittest
R=brucedawson@google.com , harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41679004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1258 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-03 01:35:11 +00:00
fbarchard@google.com
0494ffee81
use lrintf to round from float to int instead of round and then cast.
...
BUG=393
TESTED=local windows test passed.
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37899004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1257 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-02 21:06:51 +00:00
fbarchard@google.com
c61394789d
Test for YToARGB to ensure ordering of values.
...
BUG=393
TESTED=TestYToARGB
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37819004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1256 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-02 18:51:29 +00:00
fbarchard@google.com
dc2c90100c
Disable YUV to ARGB AVX2 versions.
...
BUG=393
TESTED=I420ToRGB*
Review URL: https://webrtc-codereview.appspot.com/35879004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1255 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-27 02:40:32 +00:00
fbarchard@google.com
4e155ef6c4
Change test to test for Arm, since all CPUs except arm provide accurate yuv conversion
...
BUG=392
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/34059004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1254 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-27 00:22:10 +00:00
fbarchard@google.com
4848b06016
YPixel subtract bias to match C code
...
BUG=392
TESTED=TestGreyYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37799004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1253 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-26 23:58:20 +00:00
fbarchard@google.com
f0845348fe
Add a test for YToARGB to match exactly I420ToARGB
...
BUG=392
TESTED=TestGreyYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38739004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1252 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-26 23:22:13 +00:00
fbarchard@google.com
29db9b0b89
C version of YToARGB with ubias removed to produce consistent luma ramp.
...
BUG=392
TESTED=TestGreyYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/35869004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1251 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-26 23:07:46 +00:00
fbarchard@google.com
63882a356f
Disable YToARGB assembly which is off by 1
...
BUG=392
TESTED=libyuvTest.YToARGB_Opt
Review URL: https://webrtc-codereview.appspot.com/40549004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1250 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-26 17:16:44 +00:00
fbarchard@google.com
080a316492
port yuv chroma improvements to gcc. YUV to RGB is more accurate using a negative matrix. 2% slower but half as much error.
...
BUG=324
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/41629004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1249 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-26 04:35:51 +00:00