205 Commits

Author SHA1 Message Date
fbarchard@google.com
6343f22bb5 YUY2 and UYVY to ARGB had oversampling bug. This passes 0 for UV stride, avoiding the issue. A better solution would be a version of the conversions that does not do 2 rows subsampled. But the performance would only be slightly faster.
BUG=76
TEST=build\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*UY*ToARGB*
Review URL: https://webrtc-codereview.appspot.com/773004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@333 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 08:30:38 +00:00
fbarchard@google.com
5ef7680eae Change size of V210 in unittest from 3 bytes to 45 / 16 bytes.
BUG=75
TEST=build\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=**V210*
Review URL: https://webrtc-codereview.appspot.com/762005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@332 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-29 23:51:38 +00:00
fbarchard@google.com
bf8b0f0e2b Bug fix for I420ToI400 and unittest all I420To packed formats. Most import of the new I420 tests is I420ToYUY2.
BUG=none
TEST=libyuvTest.I420ToI400_OptVsC
Review URL: https://webrtc-codereview.appspot.com/767004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@331 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-28 17:58:10 +00:00
fbarchard@google.com
b1f5fae637 YUY2ToI420_OptVsC unittest added. As well as all other packed formats to I420.
BUG=71
TESTED=build\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=libyuvTest.*OptVsC
Review URL: https://webrtc-codereview.appspot.com/764004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@330 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-28 16:45:48 +00:00
fbarchard@google.com
051cef4a0a Compare util show version. (bug fix for Mac)
BUG=71
TESTED=xcodebuild -project libyuv_test.xcodeproj -configuration Release
Review URL: https://webrtc-codereview.appspot.com/745006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@326 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-27 19:57:46 +00:00
fbarchard@google.com
aeaefa8344 vqrdmulh takes 3 parameters and clang requires all 3 to be specified, not just 2.
BUG=72
TEST=none
Review URL: https://webrtc-codereview.appspot.com/744006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@325 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-23 04:11:25 +00:00
fbarchard@google.com
619ee4586b YUV_DISABLE_ASM for NEON
BUG=70
TEST=none
Review URL: https://webrtc-codereview.appspot.com/710013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@324 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-17 21:07:22 +00:00
fbarchard@google.com
41f24bf8ca Affine function in 64 bit Mac use movd instead of movq for xmm to gpr.
BUG=69
TEST=NONE
Review URL: https://webrtc-codereview.appspot.com/728011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@323 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-17 16:51:25 +00:00
fbarchard@google.com
f3181b3cf9 Fix aligned version of SSSE3 alpha blend and re-enable SSE2 alpha blend for performance evaluation on low end CPUs where pshufb is slow.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/728009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@322 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-15 18:57:18 +00:00
fbarchard@google.com
f877e71995 Alpha blend test alignment of source pointer and use movdqa aligned fetches.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/714010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@321 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-15 00:51:24 +00:00
fbarchard@google.com
e3cc76943e 4 pixel version of affine for gcc and aligned version of win.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/714007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@320 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-10 20:41:27 +00:00
fbarchard@google.com
845e94d1a7 Affine do 4 pixels at a time.
BUG=none
TEST=affine unitest
Review URL: https://webrtc-codereview.appspot.com/729005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@319 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-10 03:48:21 +00:00
fbarchard@google.com
749950d7fd Fix a warning on win64.. unused variable.
BUG=61,62
TEST=build 64 bit on windows
Review URL: https://webrtc-codereview.appspot.com/717011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@318 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-09 19:48:41 +00:00
fbarchard@google.com
7344440fb2 AffineRow for GCC.
BUG=62
TEST=planar_unittest
Review URL: https://webrtc-codereview.appspot.com/733004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@317 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-09 17:33:29 +00:00
fbarchard@google.com
2a95465795 HAVE_ARGBAFFINEROW_SSE2 macro
BUG=62
TEST=none
Review URL: https://webrtc-codereview.appspot.com/716006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@316 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 23:18:56 +00:00
fbarchard@google.com
92e51c7a69 ARGBAffineRow_C for non-SSE2 machine.
BUG=62
TEST=TestAffine unittest added to planar_test
Review URL: https://webrtc-codereview.appspot.com/731004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@315 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 21:29:34 +00:00
fbarchard@google.com
b0c9797589 Update Copyright notice to follow new chromium conventions.
BUG=63
TEST=none
Review URL: https://webrtc-codereview.appspot.com/730004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@314 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 19:04:24 +00:00
fbarchard@google.com
864f828a01 ARGBAffineRow_SSE2 function to copy pixels from a source with slope to a row of destination.
BUG=60
TEST=none
Review URL: https://webrtc-codereview.appspot.com/727004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@313 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 18:10:15 +00:00
fbarchard@google.com
4f10e97ff2 A compare utility that reports psnr, mse and hash values
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/709005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@312 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-27 17:59:09 +00:00
fbarchard@google.com
4f45c11aaf Allow use of the system libjpeg.
BUG=56
TEST=gentoo builds chromium with libyuv with system jpeg
Review URL: https://webrtc-codereview.appspot.com/699005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@311 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-24 18:32:05 +00:00
fbarchard@google.com
68f0d3df5e NV12ToARGB for linux appears to have a bug in the assembly so this disables the asm for posix. It still works on Windows. Unittests updated to show the amount of pixel difference.
BUG=55
TEST=out/Release/libyuv_unittest --gtest_filter=*
Review URL: https://webrtc-codereview.appspot.com/675008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@310 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-23 16:01:09 +00:00
fbarchard@google.com
eeac2903ef ARGBGrayTo takes source and destination pointers so caller does not need to make a copy of the image.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/696004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@308 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-18 18:54:32 +00:00
fbarchard@google.com
c0d6dee4f3 Fix for ARGBColorTable x86 assembly. Sav
BUG=51
TEST=TestARGBColorTable
Review URL: https://webrtc-codereview.appspot.com/667011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@307 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-18 17:58:30 +00:00
fbarchard@google.com
452472dfc4 Internals of scale use ptrdiff_t to allow ARGBInterpolate to use stride between 2 images.
BUG=53
TEST=none
Review URL: https://webrtc-codereview.appspot.com/695004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@306 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-16 22:58:35 +00:00
fbarchard@google.com
4403be58ae remove space hash hash from unittests and add bpp enum
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/690004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@305 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-14 01:27:57 +00:00
fbarchard@google.com
8e01bfb420 Disable x86 color table optimization - fall back on C only
BUG=51
TESTED=warmify effect
Review URL: https://webrtc-codereview.appspot.com/673013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@304 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 19:05:08 +00:00
fbarchard@google.com
b50e0572f2 Save and restore last 16 bytes of filtered rows when used for ARGBInterpolate.
BUG=50
TEST=none
Review URL: https://webrtc-codereview.appspot.com/673012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@303 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 01:58:53 +00:00
fbarchard@google.com
05b5cf9610 move a macro and comment
BUG=49
TEST=untested
Review URL: https://webrtc-codereview.appspot.com/668012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@302 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 01:16:28 +00:00
fbarchard@google.com
0d95d47757 ARGBInterpolate for blending 2 images with a fractional amount of each.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/670008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@300 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-12 03:28:09 +00:00
fbarchard@google.com
6398e1d4eb Port ARGBShade to Mac
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/679009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@299 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-11 19:12:32 +00:00
fbarchard@google.com
c4c578e327 Flat shade an ARGB image
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/683004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@298 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-10 23:44:29 +00:00
fbarchard@google.com
c4500c9f79 ConvertToARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/673007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@297 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-09 19:49:45 +00:00
fbarchard@google.com
a537bbdc59 test some problematic scale factors
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/678006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@296 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-27 23:42:19 +00:00
fbarchard@google.com
f37f9a3542 Avoid lint warnings on header guards.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/668006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@295 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-27 23:40:23 +00:00
fbarchard@google.com
d51c342521 Rotate ARGB using a scale function that reads with step, combining to form 16 bytes at a time.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/674007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@294 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-26 23:46:25 +00:00
fbarchard@google.com
4d2cfd329a Change name of variable for mac because static cant be used so variables need to be unique.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/672006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@293 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-25 20:09:31 +00:00
fbarchard@google.com
27d42c7ff6 Expose ARGB rotation using scale low levels
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/675004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@292 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-22 23:57:26 +00:00
fbarchard@google.com
8f439eac1d ARGBColorMatrixRow_SSSE3 use signed psraw instead of psrlw before doing pack
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/652009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@291 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-21 02:00:34 +00:00
fbarchard@google.com
d9eb63fc16 UNDER_ALLOCATED_HACK for scale that detects odd width and odd height were miscalculated and adjusts scaler for it.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/663007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@290 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-21 01:13:44 +00:00
fbarchard@google.com
81b804e35c ARGBQuantize to do a posterizing effect. Added random resolution unittest.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/654005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@289 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-20 02:15:01 +00:00
fbarchard@google.com
e442dc4c2a ARGBcolorMatrix for applying transforms such as grey and sepia in a more general form. Unittest does sepia for comparison.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/656004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@288 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-18 17:37:09 +00:00
fbarchard@google.com
794fe1236a alpha blend 4 pixel loop bug fix and blender C code match SSE for better testability and reference code for future optimized code.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/645008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@287 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-15 01:05:01 +00:00
fbarchard@google.com
ee2208885f Fix constant in rowposix, remove addrow and minor cleanups
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/637013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@286 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-14 00:07:56 +00:00
fbarchard@google.com
bac5f2c3ee ARGBBlend functions that handle any alignment and number of pixels
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/635011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@285 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-13 23:43:12 +00:00
fbarchard@google.com
133adc4647 followup cleanup for blur and make compilable with /clr
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/645007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@284 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-12 05:46:49 +00:00
fbarchard@google.com
f38aefef4b Blur use circular buffer of Cumulative Sums instead of full frame for better cache coherency.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/646008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@283 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-12 00:29:29 +00:00
fbarchard@google.com
f51e87912e Blur functions
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/633005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@282 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-10 02:40:04 +00:00
fbarchard@google.com
2d9fe08225 direct conversion from NV12 to ARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/645004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@281 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-05 22:11:34 +00:00
fbarchard@google.com
7c8e16f82a Add MJPGToARGB conversion directly to ARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/635006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@280 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-05 17:27:51 +00:00
fbarchard@google.com
4c416e8849 Fix for I444ToARGBRow_Unaligned_SSSE3, I422ToARGBRow_Unaligned_SSSE3, I411ToARGBRow_Unaligned_SSSE3 on Windows using movdqu instead of movdqa. break YUVTORGB into 2 macros - one to fetch pixels, another to do YUV conversion. Less duplicated source and lends itself to future YUV formats.
BUG=none
TEST=WebRtcVideoFrameTest.ConvertToARGBBufferStride
Review URL: https://webrtc-codereview.appspot.com/644004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@279 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-05 15:48:07 +00:00