Frank Barchard
177d344ed7
enable unused parameter warning
...
android.mk builds have unused parameter warning on by default.
This change for GN makes libyuv build the same way.
BUG=libyuv:681
TEST=build on linux with clang and ninja.
Change-Id: I76c627d446b96653f147725bca915d94a42ce9a6
Reviewed-on: https://chromium-review.googlesource.com/441194
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-02-14 01:33:57 +00:00
Frank Barchard
6825b161d7
HalfFloat SSE2/AVX2 optimized port scheduling.
...
Uses 1 add instead of 2 leas to reduce port pressure on ports 1 and 5
used for SIMD instructions.
BUG=libyuv:670
TEST=~/iaca-lin64/bin/iaca.sh -arch HSW out/Release/obj/libyuv/row_gcc.o
Change-Id: I3965ee5dcb49941a535efa611b5988d977f5b65c
Reviewed-on: https://chromium-review.googlesource.com/433391
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-02-11 01:02:06 +00:00
Frank Barchard
54f2094a5e
Rename mips source files to dspr2.
...
Add MSA detect to unittest.
Change macro to disable DSPR2 code to LIBYUV_DISABLE_DSPR2
BUG=libyuv:634
TEST=try bots
Change-Id: I9e0aa2452204fc529bb6f9e6fd93c4e1c379bba6
Reviewed-on: https://chromium-review.googlesource.com/433463
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-01-27 23:11:43 +00:00
Frank Barchard
a7c87e19f0
add Intel Code Analyst markers
...
add macros to enable/disable code analyst around blocks of code.
Normally these macros should not be used, but if performance
details are wanted for intel code, enable them around the code
and then run via the iaca tool, available on the intel website.
BUG=libyuv:670
TEST=~/iaca-lin64/bin/iaca.sh -64 out/Release/libyuv_unittest
R=wangcheng@google.com
Review-Url: https://codereview.chromium.org/2626193002 .
2017-01-13 15:50:24 -08:00
Frank Barchard
cb11559408
ConvertToARGB: Allows rotation on ARGB input
...
BUG=libyuv:668
TEST=run unit tests
R=fbarchard@google.com
Review-Url: https://codereview.chromium.org/2620183002 .
2017-01-11 14:38:25 -08:00
Frank Barchard
000d2fa91a
Libyuv MIPS DSPR2 optimizations.
...
Optimized functions:
I444ToARGBRow_DSPR2
I422ToARGB4444Row_DSPR2
I422ToARGB1555Row_DSPR2
NV12ToARGBRow_DSPR2
BGRAToUVRow_DSPR2
BGRAToYRow_DSPR2
ABGRToUVRow_DSPR2
ARGBToYRow_DSPR2
ABGRToYRow_DSPR2
RGBAToUVRow_DSPR2
RGBAToYRow_DSPR2
ARGBToUVRow_DSPR2
RGB24ToARGBRow_DSPR2
RAWToARGBRow_DSPR2
RGB565ToARGBRow_DSPR2
ARGB1555ToARGBRow_DSPR2
ARGB4444ToARGBRow_DSPR2
ScaleAddRow_DSPR2
Bug-fixes in functions:
ScaleRowDown2_DSPR2
ScaleRowDown4_DSPR2
BUG=
Review-Url: https://codereview.chromium.org/2626123003 .
2017-01-11 12:19:13 -08:00
Frank Barchard
c2bc1561ce
Remove unused time variables
...
BUG=None
TEST=None
Review URL: https://codereview.chromium.org/2487603002 .
2016-11-07 17:46:51 -08:00
Frank Barchard
e62309f259
clang-format libyuv
...
BUG=libyuv:654
R=kjellander@chromium.org
Review URL: https://codereview.chromium.org/2469353005 .
2016-11-07 17:37:23 -08:00
Frank Barchard
f2c27dafa2
HalfFloat neon armv7 fix for destination pointer.
...
Improved unittests detect different in arm64 rounding.
TEST=util/android/test_runner.py gtest -s libyuv_unittest -t 7200 --verbose --release --gtest_filter=*Half* -a "--libyuv_width=640 --libyuv_height=360"
BUG=libyuv:560
R=wangcheng@google.com
Review URL: https://codereview.chromium.org/2478313004 .
2016-11-07 12:13:04 -08:00
Frank Barchard
451af5e922
scale by 1 for neon implemented
...
void HalfFloat1Row_NEON(const uint16* src, uint16* dst, float, int width) {
asm volatile (
"1: \n"
MEMACCESS(0)
"ld1 {v1.16b}, [%0], #16 \n" // load 8 shorts
"subs %w2, %w2, #8 \n" // 8 pixels per loop
"uxtl v2.4s, v1.4h \n" // 8 int's
"uxtl2 v1.4s, v1.8h \n"
"scvtf v2.4s, v2.4s \n" // 8 floats
"scvtf v1.4s, v1.4s \n"
"fcvtn v4.4h, v2.4s \n" // 8 floatsgit
"fcvtn2 v4.8h, v1.4s \n"
MEMACCESS(1)
"st1 {v4.16b}, [%1], #16 \n" // store 8 shorts
"b.gt 1b \n"
: "+r"(src), // %0
"+r"(dst), // %1
"+r"(width) // %2
:
: "cc", "memory", "v1", "v2", "v4"
);
}
void HalfFloatRow_NEON(const uint16* src, uint16* dst, float scale, int width) {
asm volatile (
"1: \n"
MEMACCESS(0)
"ld1 {v1.16b}, [%0], #16 \n" // load 8 shorts
"subs %w2, %w2, #8 \n" // 8 pixels per loop
"uxtl v2.4s, v1.4h \n" // 8 int's
"uxtl2 v1.4s, v1.8h \n"
"scvtf v2.4s, v2.4s \n" // 8 floats
"scvtf v1.4s, v1.4s \n"
"fmul v2.4s, v2.4s, %3.s[0] \n" // adjust exponent
"fmul v1.4s, v1.4s, %3.s[0] \n"
"uqshrn v4.4h, v2.4s, #13 \n" // isolate halffloat
"uqshrn2 v4.8h, v1.4s, #13 \n"
MEMACCESS(1)
"st1 {v4.16b}, [%1], #16 \n" // store 8 shorts
"b.gt 1b \n"
: "+r"(src), // %0
"+r"(dst), // %1
"+r"(width) // %2
: "w"(scale * 1.9259299444e-34f) // %3
: "cc", "memory", "v1", "v2", "v4"
);
}
TEST=LibYUVPlanarTest.TestHalfFloatPlane_One
BUG=libyuv:560
R=hubbe@chromium.org
Review URL: https://codereview.chromium.org/2430313008 .
2016-10-21 14:30:03 -07:00
Frank Barchard
550cf829fb
HalfFloat avx2 unpack bug fix.
...
AVX unpack parameters were reverse ordered causing incorrect results
on AVX2 hardware.
TEST=/usr/local/google/home/fbarchard/intelsde/sde -skx -- out/Release/libyuv_unittest --gtest_filter=*Half*
BUG=libyuv:560
R=wangcheng@google.com
Review URL: https://codereview.chromium.org/2438893002 .
2016-10-20 15:49:00 -07:00
Frank Barchard
f553db2d30
HalfFloatPlane unittest for denormal half floats
...
Halffloats have a limited range. It shouldnt normally come up, but if the scale value passed in produces a small value, the half floats will be denormals, which are slow and/or flust to zero. This test ensures they behave the same in C and SIMD and tests the performance of denormals.
TEST=TestHalfFloatPlane_denormal
BUG=libyuv:560
R=hubbe@chromium.org
Review URL: https://codereview.chromium.org/2424233004 .
2016-10-19 18:13:01 -07:00
Frank Barchard
fdcf524aac
Add f16c (halffloat) cpuid
...
R=wangcheng@google.com , hubbe@chromium.org
BUG=libyuv:560
Review URL: https://codereview.chromium.org/2418763006 .
2016-10-14 16:34:08 -07:00
Frank Barchard
198bce3959
Cast for clang-cl 64 bit build warnings in unittests
...
R=kjellander@chromium.org
BUG=libyuv:649
Review URL: https://codereview.chromium.org/2414763002 .
2016-10-12 13:09:57 -07:00
Frank Barchard
d363ea6527
Remove I411 support.
...
YUV 411 is very uncommon format. Remove support.
Update documentation to reflect that 411 is deprecated.
Simplify tests for YUV to only test with the new side by side YUV but keep old 3 plane test around with a macro for now.
BUG=libyuv:645
R=kjellander@chromium.org
Review URL: https://codereview.chromium.org/2406123002 .
2016-10-11 11:14:16 -07:00
Frank Barchard
0071f46a1f
Side by side 420 test
...
I420 output can be slow due to multi channel write.
Putting the U and V into a single side by side buffer can improve performance.
TBR=wangcheng@google.com
BUG=None
Review URL: https://codereview.chromium.org/2403223003 .
2016-10-10 19:28:33 -07:00
Frank Barchard
edd3a84d05
libyuv::YUY2ToY for isolating Y channel of YUY2.
...
This function is the first step of YUY2 To I420.
Provided primarily for diagnostics.
TBR=wangcheng@google.com
BUG=libyuv:647
TESTED=LibYUVConvertTest.YUY2ToY_Opt
Review URL: https://codereview.chromium.org/2399153004 .
2016-10-07 17:20:30 -07:00
Frank Barchard
7fc932ddd3
Add low level support for 12 bit 420, 422 and 444 YUV video frame conversion.
...
BUG=libyuv:560,chromium:445071
TEST=untested
R=hubbe@chromium.org
Review URL: https://codereview.chromium.org/2371293002 .
2016-09-29 15:06:30 -07:00
Frank Barchard
dc3a1295be
add mergeuv test
...
Add test for SplitUVPlane and MergeUVPlane
Add public methods SplitUVPlanes and MergeUVPlanes based on the
optimized assembly functions that already exists.
TEST=SplitUVPlane unittest
BUG=libyuv:629
R=braveyao@chromium.org
Review URL: https://codereview.chromium.org/2279603002 .
2016-08-25 10:29:16 -07:00
Frank Barchard
17d31e6a4a
NV12 allow NULL for Y
...
The conversion from NV12 and other Bi or Tri planar formats, differs only in the UV handling. The helper function supports passing a NULL for the dst_y channel indicating you only want to do the UV conversion.
TBR=harryjin@google.com
TEST=LibYUVConvertTest.NV12ToI420_NullY (601 ms)
BUG=libyuv:626
Review URL: https://codereview.chromium.org/2276703002 .
2016-08-23 19:05:25 -07:00
Frank Barchard
3efba30cf0
Disable yuv3 test which fails msan
...
BUG=604
Review URL: https://codereview.chromium.org/2146763002 .
2016-07-12 18:48:03 -07:00
Frank Barchard
abcb70f183
Test nv21 layout of Android420ToI420 function.
...
to Y,U,V and a pixel stride for U and V. The pixel stride is expected to be 1 or 2.
[ RUN ] LibYUVConvertTest.Android420ToI420_1_Any
[ OK ] LibYUVConvertTest.Android420ToI420_1_Any (253 ms)
[ RUN ] LibYUVConvertTest.Android420ToI420_1_Unaligned
[ OK ] LibYUVConvertTest.Android420ToI420_1_Unaligned (250 ms)
[ RUN ] LibYUVConvertTest.Android420ToI420_1_Invert
[ OK ] LibYUVConvertTest.Android420ToI420_1_Invert (254 ms)
[ RUN ] LibYUVConvertTest.Android420ToI420_1_Opt
[ OK ] LibYUVConvertTest.Android420ToI420_1_Opt (247 ms)
[ RUN ] LibYUVConvertTest.Android420ToI420_2_Any
[ OK ] LibYUVConvertTest.Android420ToI420_2_Any (132 ms)
[ RUN ] LibYUVConvertTest.Android420ToI420_2_Unaligned
[ OK ] LibYUVConvertTest.Android420ToI420_2_Unaligned (122 ms)
[ RUN ] LibYUVConvertTest.Android420ToI420_2_Invert
[ OK ] LibYUVConvertTest.Android420ToI420_2_Invert (124 ms)
[ RUN ] LibYUVConvertTest.Android420ToI420_2_Opt
[ OK ] LibYUVConvertTest.Android420ToI420_2_Opt (119 ms)
TEST=LibYUVConvertTest.Android420ToI420_Opt
BUG=libyuv:604
R=braveyao@chromium.org
Review URL: https://codereview.chromium.org/2146733002 .
2016-07-12 18:34:04 -07:00
Frank Barchard
84e04699c2
Add libyuv:Android420ToI420 function which takes 3 pointers
...
to Y,U,V and a pixel stride for U and V. The pixel stride is expected to be 1 or 2.
TEST=LibYUVConvertTest.Android420ToI420_Opt
BUG=libyuv:604
R=braveyao@chromium.org
Review URL: https://codereview.chromium.org/2114843002 .
2016-07-12 16:23:51 -07:00
Frank Barchard
cc88adc620
YUV scale filter columns improved filtering accuracy
...
upscale a YUV image. observe change in hue.. green especially.
disable ScaleFilterCols_SSSE3, falling back on ScaleFilterCols_C
observe hue.. green especially, is better.
was ScaleFrom1280x720_Bilinear (1620 ms)
now ScaleFrom1280x720_Bilinear (1907 ms)
BUG=libyuv:605
TEST=try bots
R=harryjin@google.com , wangcheng@google.com
Review URL: https://codereview.chromium.org/2084533006 .
2016-06-23 20:16:55 -07:00
Niels Möller
365ed3851c
Treat YU12 as an alias for I420. Simplify setting of inv_crop_height.
...
BUG=
R=fbarchard@google.com
Review URL: https://codereview.chromium.org/2020193002 .
2016-06-16 12:49:17 +02:00
Frank Barchard
e2611a7349
document cpuid command line behavior
...
cpu_info_ is zero for uninitialized state and all bits are off, disabling all cpu optimizations.
the 1 bit indicates cpu_info_ is initialized avoiding calling the detection code again for performance.
MaskCpuFlags initializes the cpu ignoring existing flags, then masks with the supplied flags and stores to cpu_info_.
As a mask, -1 has no effect, enabling all cpu features that were detected, but nothing that wasnt detected.
Setting to 0 will cause the next call to re-initialize the cpu, which is same as enabling all features.
Setting mask to 1 will turn off all cpu features but keep the initialized bit on, so the next detection call wont reinitialize and the cpu features are all disabled.
So normal behavior for command line and programatic masking is:
1 = C
-1 = SIMD
TBR=harryjin@google.com
BUG=libyuv:600
TESTED=out64/Release/bin/run_libyuv_unittest -s libyuv_unittest --verbose --release --gtest_filter=*ARGBExtractAlpha* -a "--libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=9999 --libyuv_flags=1 --libyuv_cpu_info=1"
Review URL: https://codereview.chromium.org/2042933002 .
2016-06-08 10:38:09 -07:00
Frank Barchard
462be27ec8
j422 now uses j420 source code so increase error threshold to match.
...
R=harryjin@google.com
BUG=libyuv:597
Review URL: https://codereview.chromium.org/2024213003 .
2016-05-31 19:45:34 -07:00
Frank Barchard
b00d40160a
make unittest allocator align to 64 bytes.
...
blur requires memory be aligned. change the unittest allocator to guarantee 64 byte alignment.
re-enable blur any test that fails if memory is unaligned.
TBR=harryjin@google.com
BUG=libyuv:596,libyuv:594
TESTED=local build passes with row.h removed from tests.
Review URL: https://codereview.chromium.org/2019753002 .
2016-05-27 18:02:47 -07:00
Frank Barchard
ade85fb55c
remove row.h from unittests
...
add SIMD_ALIGNED to unittest header.
BUG=libyuv:594
TESTED=local build passes with row.h removed from tests.
R=harryjin@google.com
Review URL: https://codereview.chromium.org/2001373002 .
2016-05-27 10:57:49 -07:00
Magnus Jedvert
942db3016a
Add ARGBExtractAlpha function
...
BUG=libyuv:572
R=fbarchard@google.com
Review URL: https://codereview.chromium.org/1995293002 .
2016-05-26 10:30:57 +02:00
Frank Barchard
6020d2aa64
fix off by one in unitest BenchmarkARGBDetect_Unaligned where array is initialized beyond end by 1.
...
TBR=harryjin@google.com
BUG=libyuv:595
TESTED=local unittest passes on try bots
Review URL: https://codereview.chromium.org/2012603002 .
2016-05-24 15:33:27 -07:00
Frank Barchard
60abed3a47
add SIMD_ALIGNED to unit_test.h
...
avoids need for row.h for some unittests;
R=harryjin@google.com
BUG=libyuv:594
TESTED=try bots tested.
Review URL: https://codereview.chromium.org/2004313004 .
2016-05-24 13:56:25 -07:00
Frank Barchard
7edf572e28
remove includes for duplicate functions
...
R=harryjin@google.com
BUG=libyuv:592
TESTED=local builds work with fewer headers
Review URL: https://codereview.chromium.org/2006943002 .
2016-05-23 17:38:26 -07:00
Frank Barchard
fbdc43a03c
fix wrong HAS_ARGBCOPYALPHAROW_SSE2 ifdef
...
TBR=kjellander@chromium.org
BUG=libyuv:593
TESTED=try bots pass.
Review URL: https://codereview.chromium.org/2000393002 .
2016-05-23 16:26:02 -07:00
Frank Barchard
07cb92272f
If image sizes are greater than 32768, fixed point stepping will overflow an int. This CL changes the max size to 32768 and disables the test if larger.
...
BUG=libyuv:590
TESTED=LIBYUV_FLAGS=-1 LIBYUV_WIDTH=8192 LIBYUV_HEIGHT=16 out/Release/libyuv_unittest --gtest_filter=*
R=harryjin@google.com
Review URL: https://codereview.chromium.org/1947783002 .
2016-05-05 19:09:02 -07:00
Frank Barchard
0d880e5bc0
rename MIPS_DSPR2 to DSPR2 for consistency
...
When attempting to normalize function names to end in Row_SIMD it was made
harder with MIPS_DSPR2 naming convention.
Other CPUs do not include the vendor. This should be named consistently.
Removed the DISABLE_MIPS in favour of DISABLE_ASM for consistency with other
processors.
TBR=harryjin@google.com
BUG=libyuv:562
Review URL: https://codereview.chromium.org/1677633002 .
2016-02-05 14:49:54 -08:00
Frank Barchard
903c91cc2e
fix for ubsan on unittest.h fastrand()
...
internal math of the fastrand function uses a multiply
and add that overflows a signed int. This triggers a
ubsan failure:
../../unit_test/../unit_test/unit_test.h:60:33: runtime error: signed integer overflow: 56248274 * 214013 cannot be represented in type 'int'
This change casts the intermediate math to unsigned
int to avoid the overflow.
For more info on ubsan, see
http://dev.chromium.org/developers/testing/undefinedbehaviorsanitizer
TESTED=Passing compilation using:
GYP_DEFINES="ubsan=1"
GYP_DEFINES="ubsan_vptr=1"
R=harryjin@google.com , pbos@webrtc.org
BUG=libyuv:563
Review URL: https://codereview.chromium.org/1662453003 .
2016-02-02 14:32:12 -08:00
Frank Barchard
ad71738f6a
Remove svn version build and unittest.
...
R=harryjin@google.com
TBR=harryjin@google.com , kjellander@google.com
BUG=libyuv:551
Review URL: https://codereview.chromium.org/1612123002 .
2016-01-21 11:22:11 -08:00
Frank Barchard
085bfc1d04
Rename test from CropNV12 to NV12Crop
...
When scanning profiles for unexpected _C functions
this test function contained the substring.
Changing the name will simplify the search.
TBR=harryjin@google.com
BUG=libyuv:543
Review URL: https://codereview.chromium.org/1602363002 .
2016-01-19 16:43:51 -08:00
Frank Barchard
8c196f4d4c
Fix testi420 unittest for odd height
...
When the image height for unittests was set to an
odd height, the TestI420 unittest would not fill
the complete source buffer. This change handles
the odd height test case.
No change to library code.
TBR=harryjin@google.com
BUG=libyuv:549
Review URL: https://codereview.chromium.org/1609103002 .
2016-01-19 16:16:39 -08:00
Frank Barchard
58cb534962
Fix memory overwrite in YUY2ToNV12 odd wdiths
...
When width was odd Y channel wrote an extra pixel.
This change splits the Y from UV into a temporary
buffer and memcpy's to the destination. Performance
is slower.
Was
YUY2ToNV12_Any (307 ms)
YUY2ToNV12_Unaligned (213 ms)
TestYUY2ToNV12 (181 ms)
YUY2ToNV12_Opt (177 ms)
YUY2ToNV12_Invert (177 ms)
Npw
YUY2ToNV12_Any (300 ms)
YUY2ToNV12_Unaligned (226 ms)
YUY2ToNV12_Invert (206 ms)
TestYUY2ToNV12 (184 ms)
YUY2ToNV12_Opt (181 ms)
TBR=harryjin@google.com
BUG=libyuv:545
Review URL: https://codereview.chromium.org/1593833002 .
2016-01-19 11:28:09 -08:00
Frank Barchard
081475b3c8
refactor ARGBToI422 using ARGBToI420 internally
...
R=harryjin@google.com
BUG=libyuv:546
Review URL: https://codereview.chromium.org/1574253004 .
2016-01-12 17:05:49 -08:00
Frank Barchard
54bbea1701
Disable I420Blend_Any test that uses C
...
Also renames Inverted to Invert in test name for consistency.
TBR=harryjin@google.com
BUG=libyuv:543
Review URL: https://codereview.chromium.org/1577973004 .
2016-01-11 18:23:04 -08:00
Frank Barchard
8030a711aa
Rename rotate tests to include _Opt and disable _Odd tests
...
TBR=harryjin@google.com
BUG=libyuv:543
Review URL: https://codereview.chromium.org/1577723003 .
2016-01-11 17:30:27 -08:00
Frank Barchard
23c6a83561
Fix ifdef mismatch for mirroruv
...
Macro define and macro ifdef didnt match, leading to C code
being used. Make macro match function name.
TBR=harryjin@google.com
BUG=libyuv:543
Review URL: https://codereview.chromium.org/1579023002 .
2016-01-11 16:33:36 -08:00
Frank Barchard
0e462e6f45
Remove use_sysroot=0
...
use_sysroot=0 is required for webrtc on linux intel builds, but
libyuv doesnt use the affected libraries, so removing this.
R=harryjin@google.com , sbc@chromium.org
BUG=libyuv:534,libyuv:542
Review URL: https://codereview.chromium.org/1566303002 .
2016-01-11 14:57:50 -08:00
Frank Barchard
3f4d86053e
avx2 interpolate use 8 bit
...
BUG=libyuv:535
R=dhrosa@google.com
Review URL: https://codereview.chromium.org/1535833003 .
2015-12-21 10:57:32 -08:00
Frank Barchard
f4447745ae
Add rounding to InterpolateRow for improved quality and consistency.
...
Remove inaccurate specializations for 1/4 and 3/4, since they round
incorrectly. Specialize for 100% and 50% are kept due to performance.
Make C and ARM code match SSSE3.
Make unittests expect zero difference.
BUG=libyuv:535
R=harryjin@google.com
Review URL: https://codereview.chromium.org/1533643005 .
2015-12-17 15:24:06 -08:00
Frank Barchard
80ca4514ef
change scale down by 4 to use rounding.
...
TBR=harryjin@google.com
BUG=libyuv:447
Review URL: https://codereview.chromium.org/1525033005 .
2015-12-15 21:25:18 -08:00
Frank Barchard
70445ef2ef
avx2 scale down by 2 for gcc
...
R=dhrosa@google.com , harryjin@google.com
BUG=libyuv:527
Review URL: https://codereview.chromium.org/1520423003 .
2015-12-15 10:59:20 -08:00
Frank Barchard
ae55e41851
use rounding in scaledown by 2
...
When scaling down by 2 the formula should round consistently.
(a+b+c+d+2)/4
The C version did but the SSE2 version was doing 2 averages.
avg(avg(a,b),avg(c,d))
This change uses a sum, then rounds.
R=dhrosa@google.com , harryjin@google.com
BUG=libyuv:447,libyuv:527
Review URL: https://codereview.chromium.org/1513183004 .
2015-12-14 17:25:36 -08:00
Frank Barchard
8bca9fc178
remove unused var in a test
...
remove include from unittest.cc that is already done by unittest.h
TBR=harryjin@google.com
BUG=libyuv:530
Review URL: https://codereview.chromium.org/1513263004 .
2015-12-10 18:39:36 -08:00
Frank Barchard
2657688e70
Add support for odd height YUVA alpha blending.
...
R=dhrosa@google.com , harryjin@google.com
BUG=libyuv:527
Review URL: https://codereview.chromium.org/1507683003 .
2015-12-07 12:03:20 -08:00
Frank Barchard
bea690b3e0
AVX2 YUV alpha blender and improved unittests
...
AVX2 version can process 16 pixels at a time for improved memory bandwidth and fewer instructions.
unittests improved to test unaligned memory, and test exactness when alpha is 0 or 255.
R=dhrosa@google.com , harryjin@google.com
BUG=libyuv:527
Review URL: https://codereview.chromium.org/1505433002 .
2015-12-05 22:23:29 -08:00
Frank Barchard
8af0ebf816
planar blend use signed images
...
R=dhrosa@google.com , harryjin@google.com , jzern@chromium.org
BUG=libyuv:527
Review URL: https://codereview.chromium.org/1491533002 .
2015-12-02 14:20:17 -08:00
Frank Barchard
b6f37bd8ec
Interpolate plane initial implementation.
...
YUV version of interpolation between two images.
R=dhrosa@google.com , harryjin@google.com
BUG=libyuv:526
Review URL: https://codereview.chromium.org/1479593002 .
2015-11-25 16:11:42 -08:00
Frank Barchard
5eefbe2330
Fix for drmemory failure on I411ToARGB
...
Before
I420ToARGB_Opt (594 ms)
I422ToARGB_Opt (483 ms)
I411ToARGB_Opt (748 ms) ***
I444ToARGB_Opt (452 ms)
I400ToARGB_Opt (218 ms)
After
I420ToARGB_Opt (591 ms)
I422ToARGB_Opt (454 ms)
I411ToARGB_Opt (502 ms) ***
I444ToARGB_Opt (441 ms)
I400ToARGB_Opt (216 ms)
TBR=harryjin@google.com
BUG=libyuv:525
Review URL: https://codereview.chromium.org/1459513002 .
2015-11-17 18:00:52 -08:00
Frank Barchard
ec4b258d4e
free src_a in unittest to fix leak
...
TBR=harryjin@google.com
BUG=libyuv:524
Review URL: https://codereview.chromium.org/1452083002 .
2015-11-17 00:29:53 -08:00
Frank Barchard
60adcbaf32
scale with conversion using 2 steps with unittest
...
a prototype function to implement the yuv to rgb with conversion and scale.
replace with 1 step function in future version, using same API.
R=harryjin@google.com
BUG=libyuv:471
Review URL: https://codereview.chromium.org/1421553016 .
2015-11-13 11:25:56 -08:00
Frank Barchard
6100f50f13
fix yvu constants for avx2 yuv to rgb
...
the yvu matrix for yuv to rgb had an incorrect entry, affecting yuv to bgra,
yuv to abgr and yuv to raw.
fix the matrix and reenable avx2 functions.
R=harryjin@google.com
BUG=libyuv:522
Review URL: https://codereview.chromium.org/1411763004 .
2015-11-10 10:45:44 -08:00
Frank Barchard
82d74a37fa
unittest fix for cpu flags.
...
cpu flags of 1 disables SIMD and uses C. This used to be 0, but the change
in auto init behavior means that 0 now means uninitialized, and will cause
auto detect to reinit the cpu info. A value of 1 disables the auto init.
TBR=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1408753004 .
2015-11-03 19:06:19 -08:00
Frank Barchard
c629cb3afe
add command line cpu info to allow android neon test
...
in order to compare C and Neon code, a new command line flag is added.
historically environment variables controlled cpu features, but on
android apk it is easier to pass a command line option to disable cpu
optimizations.
R=harryjin@google.com
BUG=libyuv:516
Review URL: https://codereview.chromium.org/1407193009 .
2015-11-03 17:01:48 -08:00
Frank Barchard
1f1d140bb6
remove mips dsp detect
...
DSP code is not actually used, only DSPR2. Remove the detect.
TBR=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1405043008 .
2015-11-03 16:57:40 -08:00
Frank Barchard
ce4c2fad1d
Raw 24 bit RGB to RGB24 (bgr)
...
Add unittests that do 1 step conversion vs 2 step conversion.
Tests end swapping versions match direct conversions.
R=harryjin@google.com
BUG=libyuv:518
Review URL: https://codereview.chromium.org/1419103007 .
2015-11-03 10:30:30 -08:00
Frank Barchard
2c7aa0070a
remove I422ToBGRA and use I422ToRGBA internally
...
Removes low levels for I420ToBGRA and I420ToRAW and reimplements them as I420ToRGBA and I420ToRGB24 with transposed color matrix.
Adds unittests that do 1 step conversion vs 2 steps to test end swapping versions match direct conversions.
R=harryjin@google.com
BUG=libyuv:518
Review URL: https://codereview.chromium.org/1427993004 .
2015-11-02 10:24:12 -08: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
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
5bf4de0806
width and 3 bug fix in odd width support of ARGBToI411
...
TBR=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1415213002 .
2015-10-21 12:45:08 -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
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
d5c2a11529
disable color test that hangs on C version for Arm.
...
TBR=harryjin@google.com
BUG=libyuv:506
Review URL: https://codereview.chromium.org/1403183002 .
2015-10-14 18:48:56 -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
156ad8ee27
disable scale color tests.
...
These tests are place holders, but cause a hang on arm.
Disable them for now.
TBR=harryjin@google.com
BUG=libyuv:506
Review URL: https://codereview.chromium.org/1407693003 .
2015-10-14 15:26:28 -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
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
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
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
16f12b58cc
Replace random with fastrand
...
random / rand is slow and impacts performance testing.
Although its only called to clear a frame once, a typical profile shows
it high in the overall profile, when doing 1000 frames for a benchmark.
95.10% libyuv_unittest libyuv_unittest [.] YUY2ToARGBRow_SSSE3
2.01% libyuv_unittest libc-2.19.so [.] __random_r
1.13% libyuv_unittest libc-2.19.so [.] __random
Replace random is a faster version for unittests.
set LIBYUV_WIDTH=1280
set LIBYUV_HEIGHT=720
set LIBYUV_REPEAT=999
set LIBYUV_FLAGS=-1
out\release\libyuv_unittest --gtest_filter=*YUY2ToARGB* | findms
Was
libyuvTest.YUY2ToARGB_Opt (497 ms)
Now
libyuvTest.YUY2ToARGB_Opt (454 ms)
R=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1361813002 .
2015-09-22 15:47:36 -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
ef09d53f61
Remove redundent rounding test from scale.
...
There is still a rounding test in color test.
TBR=harryjin@google.com
BUG=libyuv:492
Review URL: https://codereview.chromium.org/1347893003 .
2015-09-16 17:54:41 -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
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
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
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
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
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
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
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
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
5edb101088
disable version which fails under git
...
R=harryjin@google.com , harryjin
BUG=none
Review URL: https://webrtc-codereview.appspot.com/52739004 .
2015-06-16 10:02:41 -07:00
fbarchard@google.com
d880a90eca
make randomize take 64 bit count to allow larger images to be tested
...
BUG=none
TESTED=untested
Review URL: https://webrtc-codereview.appspot.com/53679004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1429 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-09 01:55:01 +00: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
a09fd1aa0f
scale tests use int64 for size
...
BUG=none
TESTED=untested
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/51199004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1421 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-04 21:34:16 +00:00
fbarchard@google.com
01ca0712c7
Test rotation with negative height
...
BUG=446
TESTED=libyuvTest.NV12Rotate180_Inverted
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/51169004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1420 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-02 22:42:45 +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
00c0141f30
Add scale color test place holder source
...
BUG=401
TESTED=untested
Review URL: https://webrtc-codereview.appspot.com/55539004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1418 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-01 23:27:07 +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
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
80be2468b0
add test for box filter before improving odd width.
...
BUG=431
TESTED=ARGBScaleDownBy4_Box
Review URL: https://webrtc-codereview.appspot.com/57409004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1411 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-22 23:32:20 +00:00
fbarchard@google.com
e52b9c3405
make box filter upsampler consider a pixel width of less than 1 to be 1. This makes it behave as a point sampler.
...
BUG=428
TESTED=set LIBYUV_WIDTH=1900 && out\release\libyuv_unittest.exe
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/49709004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1372 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-16 21:02:16 +00:00
fbarchard@google.com
bb43f064df
Add a scale down by 3 test for testing general purpose box/bilinear with scale factor of 3, but allowing width/height specified to do odd with testing.
...
BUG=libyuv:427
TESTED=libyuvTest.ScaleDownBy3*
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/45169004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1370 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-15 22:46:45 +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
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
4f46a3e03d
remove 1 tab from each row of histograms in libyuvTest.TestFullYUV and libyuvTest.TestScaleFullYUV.
...
BUG=none
TESTED=libyuvTest.TestScaleFullYUV
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/47799004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1345 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-25 22:38:01 +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
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
bfba8e41c4
Add test for color accuracy of J422ToARGB
...
BUG=414
TESTED=libyuvTest.TestFullYUVJ
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/41309004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1329 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-16 18:47:42 +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
8f152605c7
test for cast and clamp performance.
...
BUG=none
TESTED=libyuv unittest added to benchmark and confirm behavior of cast
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/44649004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1323 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-12 18:49:32 +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
1d87532f00
Make color_test using if statements for clamping values from 0 to 255.
...
BUG=none
TESTED=libyuvTest.TestFullYUV
Review URL: https://webrtc-codereview.appspot.com/47479004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1316 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-10 01:51:01 +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
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
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
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
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
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
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
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
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
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
48da8c2991
print min max error per channel
...
BUG=324
TESTED=TestFullYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/40499004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1244 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-22 18:27:29 +00:00
fbarchard@google.com
3e18ca4cdb
make 'full' test do multiples of 3 which includes 0 and 255.
...
BUG=324
TESTED=libyuvTest.TestFullYUV
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/35829004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1242 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-21 22:41:58 +00:00
fbarchard@google.com
7772ab1fb1
Remove integer prototype YUV conversion code from tests.
...
BUG=324
TESTED=local tests still build/pass.
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37709004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1241 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-21 20:08:25 +00:00
fbarchard@google.com
ada1b914ea
when using high accuracy YUV have tighter tolerances.
...
BUG=324
TESTED=TestI420
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/39609004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1240 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-21 19:48:21 +00:00
fbarchard@google.com
c6b52cb590
Allow C and ASM to be different for I420 for now.
...
BUG=324
TESTED=TestI420
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/39599004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1239 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-21 19:24:01 +00:00
fbarchard@google.com
ddf114624a
More accurate tests when running improved luma/chroma accuracy code.
...
BUG=324
TESTED=TestYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/39589004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1237 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-21 18:42:16 +00:00
fbarchard@google.com
3c834b6ce2
add an exhaustic yuv color space test, and relax yuv conversion results to allow for future change.
...
BUG=324
TESTED=TestFullYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1234 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-20 23:48:21 +00:00
fbarchard@google.com
292c2286a6
prototype of a YUV to RGB function to achieve higher quality and performance at the same time. The chroma is made more accurate by using negative values that allow more range and then subtract the contributions from the luma contributes. The luma is made more accurate using a multiply that duplicates the Y bits out to 16 bits and then does a 2.14 bit fixed point coefficient. The replication is done for free as part of the multiply.
...
BUG=391
TESTED=TestYUV
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/36819004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1232 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-20 18:21:16 +00:00
fbarchard@google.com
d586d55a53
Tests the full range of Y
...
BUG=391
TESTED=TestYUV
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/36809004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1231 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-16 02:23:19 +00:00
fbarchard@google.com
131aef142a
math header needed on osx version.
...
BUG=391
TESTED=try bots
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/39529004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1230 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-15 21:53:52 +00:00
fbarchard@google.com
db81017f7b
Test color space against a reference function.
...
BUG=none
TESTED=TestYUV
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/35789004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1229 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-15 18:17:53 +00:00
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
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
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
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
fbarchard@google.com
d3bc010367
Use expect near to see exact values for differences.
...
BUG=269
TESTED=local unittest
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32349004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1204 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-12-15 22:48:32 +00:00
fbarchard@google.com
7866d8e082
Make unittest check every pixel and report the first failure.
...
BUG=269
TESTED=unittest passes on windows
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/36509004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1203 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-12-15 19:51:50 +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
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
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
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
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
9c4c82181b
Remove alignment constraint for SSE2. Allows the optimized function to be used with unaligned memory, improving performance in that use case. Hurts performance on core2 and prior where memory was faster with movdqa instruction.
...
BUG=365
TESTED=psnr, ssim and djb2 unittests pass.
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/22859004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1100 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-30 18:53:34 +00:00
fbarchard@google.com
c52d66d7da
Detect asimd as same as Neon for Arm features. Used on Juno aarch64 linux.
...
BUG=361
TESTED=.\libyuv_unittest --gtest_filter=libyuvTest.TestLinuxNeon
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/31439004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1088 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-22 18:30:17 +00:00
fbarchard@google.com
d4fbd60169
expect avx2 compiler support means one of the avx2 functions exists.
...
BUG=none
TESTED=try bots
R=bcornell@google.com
Review URL: https://webrtc-codereview.appspot.com/22299004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1076 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-08 18:29:46 +00:00
fbarchard@google.com
accefc4191
add gyp define to enable svn version check. defaults to off so tests built outside of svn will build/run with a warning but not error.
...
BUG=356
TESTED=set GYP_DEFINES=target_arch=ia32 libyuv_disable_jpeg=1 libyuv_enable_svn=1
R=thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/17329004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1075 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-05 00:33:53 +00:00
fbarchard@google.com
3224e43e25
Add a test that indicates the compiler is able to generate avx2 code.
...
BUG=none
TESTED=out\release_x64\libyuv_unittest --gtest_filter=libyuvTest.TestCompilerHasAVX2
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/24439004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1074 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-04 00:25:19 +00:00
fbarchard@google.com
77564a9323
valgrind fix to CropNV12 unittest. round crop amount to multiple of 2 so UV will be an even number.
...
BUG=350
TESTED=drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*CropNV12
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/14159004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1050 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-19 18:32:03 +00:00
fbarchard@google.com
455c66b437
Add a gyp define LIBYUV_DISABLE_JPEG to not build jpeg library
...
BUG=346
TESTED=set GYP_DEFINES=target_arch=ia32 libyuv_disable_jpeg=1 & python gyp_libyuv -fninja -G msvs_version=2010 libyuv_test.gyp
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/16989004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1038 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-28 21:48:43 +00:00
fbarchard@google.com
9f12361e39
redo nv12 crop unittest with expect eq
...
BUG=334
TESTED=crop
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/16129004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1037 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-18 22:34:04 +00:00
fbarchard@google.com
74ce999a9a
Add NV12 cropping unittest to confirm behavior.
...
BUG=344
TESTED=libyuv_unittest --gtest_filter=*CropNV12
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/16939004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1036 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-18 18:18:35 +00:00
fbarchard@google.com
193c1ff11d
test conversions that are reversible.
...
BUG=334
TESTED=unittests added to test functionality that is reversible.
R=sandersd@chromium.org
Review URL: https://webrtc-codereview.appspot.com/15679004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1009 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-04 23:19:37 +00:00
fbarchard@google.com
b18413e568
YUV scaling with 16 bit planes
...
BUG=331
TESTED=libyuv_unittest --gunit_also_run_disabled_tests --gtest_filter=**.ScaleFrom1280x720*
R=debargha@google.com , tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/17569004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1005 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-05-20 19:22:30 +00:00
fbarchard@google.com
398de7d0be
ARGBScale down bilinear clip to edge of image to avoid overread.
...
BUG=317
TESTED=drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*ARGBScale*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/10159004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@984 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-18 21:39:42 +00:00
fbarchard@google.com
996dacac87
unittest first checks if files exists for neon detection.
...
BUG=315
TESTED=untested
R=nfullagar@chromium.org , wuwang@google.com
Review URL: https://webrtc-codereview.appspot.com/9589005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@981 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-07 23:22:24 +00:00
fbarchard@google.com
16ea9c816b
libyuv::MJPGToI420() and libyuv::MJPGToARGB() return failure if callback to JPeg fails.
...
BUG=309
TESTED=try bots still pass
R=braveyao@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7709004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@976 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-28 03:08:59 +00:00
fbarchard@google.com
dd49958058
Only do 1x1 work around for large source
...
BUG=302
TESTED=hammer effects
Review URL: https://webrtc-codereview.appspot.com/6549005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@949 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-03 08:42:55 +00:00
fbarchard@google.com
5dba58cb1e
FixedDiv1 using a single 64/32 divide. Removes size restriction from slope.
...
BUG=302
TESTED=libyuv scale tests
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6489004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@940 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-02 22:32:09 +00:00
fbarchard@google.com
277378723a
Add little endian 555/565 kCMPixelFormat's to alias list
...
BUG=none
TESTED=unittests added
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6479004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@939 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-02 20:31:40 +00:00
fbarchard@google.com
d1206caefa
Apple uses 'BGRA' to mean 'ARGB', so map this on Apple machines.
...
BUG=229
TESTED=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6459005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@934 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-31 19:01:14 +00:00
fbarchard@google.com
48ab3cf3f4
Over unittest crash on divide overflow.
...
BUG=299
TESTED=try
R=wuwang@google.com
Review URL: https://webrtc-codereview.appspot.com/6469004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@933 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-31 00:54:22 +00:00
fbarchard@google.com
4752dc5949
Clear destinations to different values to detect returning with error code rather than doing the conversion.
...
BUG=296
TESTED=convert_unittest
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/6349004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@923 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-26 23:09:57 +00:00
fbarchard@google.com
ae9a1388a7
Use malloc for row buffers in rotate
...
BUG=296
TESTED=rotate_test
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6329004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@922 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-26 21:41:11 +00:00
fbarchard@google.com
b14f46fa30
NaCL pepper_33 port of scale and compare using lock/unlock. Remove less useful scaling tests and change default size to a multiple of 16 for better assembly coverage.
...
BUG=none
TESTED=ncval
R=nfullagar@google.com
Review URL: https://webrtc-codereview.appspot.com/5939005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@917 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-17 18:27:06 +00:00
fbarchard@google.com
5ed2b2e465
Test scaling to/from 1 pixel
...
BUG=none
TEST=scale unittests updated to test to/from 1 pixel
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/5479005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@908 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-10 01:25:35 +00:00
fbarchard@google.com
dd2fca5f9c
scale down 4
...
BUG=none
TEST=none
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/5389004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@907 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-09 21:07:37 +00:00
fbarchard@google.com
a6b8e0da51
Reduce filter to None if 1 pixel wide.
...
BUG=none
TESTED=talk media_unittest YuvScalerTest.TestScaleUp1x6OptInt
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/5449005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@906 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-09 19:56:16 +00:00
fbarchard@google.com
0db78ad127
Switch from xor/mov bx, to movzx ebx, which still passes drmemory and valgrind.
...
BUG=none
TESTED=drmemory
Review URL: https://webrtc-codereview.appspot.com/5339004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@904 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-08 19:23:41 +00:00
fbarchard@google.com
09d5f2bfd6
Change scale factors to test QVGA to/from CIF
...
BUG=261
TESTED=valgrind
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/5129004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@895 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-05 22:32:46 +00:00
fbarchard@google.com
48e5364313
Use xor/mov bx instead of movzx to avoid drmemory bug
...
BUG=none
TEST=none
R=johannkoenig@google.com , tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/4879004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@891 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-04 03:04:58 +00:00
fbarchard@google.com
339ce58196
Aligned buffer sizes for subsampled Bayer formats.
...
BUG=289
TEST=drmemory
Review URL: https://webrtc-codereview.appspot.com/4819004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@888 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-03 11:30:57 +00:00
fbarchard@google.com
04f40278df
yasm ALIGN uppercase
...
BUG=none
TEST=untested
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/4769005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@885 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-03 00:51:14 +00:00
fbarchard@google.com
545a51c1d3
use scale for subsampling to handle odd source width to even destination width.
...
BUG=289
TEST=drmemory
R=nfullagar@google.com , ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/4779004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@884 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-03 00:27:29 +00:00
fbarchard@google.com
0014ce0056
test odd width and fix for unaligned used on odd width conversion.
...
BUG=283
TESTED=try bots
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/4729004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@883 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-02 20:07:29 +00:00
fbarchard@google.com
0e82bd7e9f
respect subsample in planar unittest
...
BUG=289
TESTED=drmemory on YUY2ToI420_Opt with odd width
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/4709004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@881 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-02 18:03:42 +00:00
fbarchard@google.com
4163003f66
Add CIF scale test to confirm DrMemory bug is fixed.
...
BUG=none
TESTED=untested
R=wuwang@google.com
Review URL: https://webrtc-codereview.appspot.com/4479004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@875 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-27 00:36:14 +00:00
fbarchard@google.com
431f5f0388
Fix scaling bug
...
BUG=none
TEST=none
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3979007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@864 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-20 01:23:04 +00:00
fbarchard@google.com
ff74e023e1
A simple Makefile for libyuv on linux
...
BUG=286
TEST=make
R=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3979005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@856 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-18 16:56:45 +00:00
fbarchard@google.com
a0630d77f0
Report of affine to nacl using %k0
...
BUG=none
TEST=none
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/3929004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@855 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-15 17:42:44 +00:00
fbarchard@google.com
43b4dd2955
Allow error of 3 (was 2) for scale by 8.
...
BUG=none
TEST=libyuvTest.ScaleDownBy8_Bilinear
Review URL: https://webrtc-codereview.appspot.com/3799004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@852 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-13 07:01:46 +00:00
fbarchard@google.com
f7eb04bc41
Port ScaleCols to SSSE3 for Win.
...
BUG=none
TEST=Scale*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3759004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@849 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-11 23:13:57 +00:00
fbarchard@google.com
788f757016
Linear interpolation.
...
BUG=none
TEST=*Linear*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@848 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-11 18:53:19 +00:00
fbarchard@google.com
5daa25f9ba
Add small test for blur
...
BUG=none
TEST=Blur*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3309004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@842 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-05 03:35:29 +00:00
fbarchard@google.com
f6bd6c0ac5
Use allocation instead of stack for a unittest that uses a bit too much.
...
BUG=284
TEST=Unattenuate test
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3369004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@840 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-04 20:52:28 +00:00
fbarchard@google.com
092099507e
Sobel using max to get abs for SSE2
...
BUG=none
TEST=none
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2769004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@824 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-23 00:51:52 +00:00
fbarchard@google.com
a721402a20
Disable xgetbv for NaCL
...
BUG=none
TEST=ncval
R=nfullagar@google.com
Review URL: https://webrtc-codereview.appspot.com/2719004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@822 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 22:59:51 +00:00
fbarchard@google.com
095f33d870
Coalesce rows by changing width/height and dropping into code instead of recursing. Improve coalesce by setting stride to 0 so it can be used even on odd width images. Reduce unittests to improve time to run emulators.
...
BUG=277
TEST=unittests all build and pass
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2589004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@819 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 19:29:10 +00:00
fbarchard@google.com
8be4b289c7
ARGBSobelToPlane which produces a planar output.
...
BUG=none
TEST=none
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2415005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@818 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 18:39:07 +00:00
fbarchard@google.com
e35422d94b
Fix AVX2 detect and a performance stall for gcc/clang.
...
BUG=276
TEST=Cpu unittest
R=nfullagar@google.com , ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2401004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@817 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 18:10:59 +00:00
fbarchard@google.com
a03b8adde8
Do fewer scale tests to speed up overall unittest
...
BUG=273
TEST=timex emuyuv Scale*
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2469005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@815 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-18 22:22:09 +00:00
fbarchard@google.com
adef267edf
CopyYToAlpha to copy from a plane to alpha channel of ARGB
...
BUG=275
TESTED=untested
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2415004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@814 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-17 07:32:16 +00:00
fbarchard@google.com
88ce3c0caa
Change unittests to pass when size is 1 tall.
...
BUG=202
TEST=set LIBYUV_HEIGHT=1 & out\release\libyuv_unittest
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2391004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@811 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-14 19:36:26 +00:00
fbarchard@google.com
7f67961ec5
ARGBCopyAlpha for effects
...
BUG=none
TEST=none
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/2385004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@810 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-12 22:27:37 +00:00
fbarchard@google.com
c99db063e2
Change ARGBColorMatrix to a 4x4.
...
BUG=none
TEST=planar_unitest updates
R=johannkoenig@google.com , ryanpetrie@google.com , thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/2320008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@805 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-01 01:27:30 +00:00
fbarchard@google.com
a927c6fb87
DrMemory fix for Sobel overread.
...
BUG=262
TESTED=Sobel* unittests re-enabled.
Review URL: https://webrtc-codereview.appspot.com/2273008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@800 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 11:10:22 +00:00
fbarchard@google.com
47e856c632
Make I411ToARGB read 2 bytes to avoid overread.
...
BUG=262
TESTED=I411ToARGB
R=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2278004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@799 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 10:07:16 +00:00
fbarchard@google.com
07c3fe2f61
Fix DrMemory errors in unittests that were not initializing memory.
...
BUG=263
TEST=set GYP_DEFINES=build_for_tool=drmemory target_arch=ia32 & drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*
R=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2270007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@798 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 07:39:10 +00:00
fbarchard@google.com
afd1d6b4ec
Fix 2 bugs with Luma scale
...
BUG=267
TEST=luma unittest improved
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2260005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@794 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-20 01:00:54 +00:00
fbarchard@google.com
a1ab194545
Color Table x86 reoptimized and ported to gcc.
...
BUG=266
TESTED=color table unittests
R=changjun.yang@intel.com
Review URL: https://webrtc-codereview.appspot.com/2216004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@791 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-16 17:01:02 +00:00
fbarchard@google.com
2bbb64df2c
FMA3 version of Polynomial
...
BUG=265
TEST=cpuid and Polynomial unittest
R=changjun.yang@intel.com
Review URL: https://webrtc-codereview.appspot.com/2217004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@790 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-16 16:42:19 +00:00
fbarchard@google.com
1390aaf69a
fix for luma table valgrind uninitialized variable.
...
BUG=267
TEST=try bots
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2184008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@784 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-10 23:38:49 +00:00
fbarchard@google.com
b38b73d88c
ARGBLumaColorTable function.
...
BUG=267
TEST=Luma*
R=thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/2202004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@783 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-10 20:34:09 +00:00
fbarchard@google.com
c3c06ec328
polynomial sse2 do 2 pixels at a time.
...
BUG=265
TEST=*Poly*
R=changjun.yang@intel.com
Review URL: https://webrtc-codereview.appspot.com/2195004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@782 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-10 08:16:06 +00:00
fbarchard@google.com
6da76f3b34
AVX version of Polynomial
...
BUG=265
TEST=untested
R=thorcarpenter@google.com , yunqingwang@google.com
Review URL: https://webrtc-codereview.appspot.com/2166004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@780 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-07 07:05:06 +00:00
fbarchard@google.com
dcd87ffb8c
Vertical-only scale for YUV.
...
BUG=260
TEST=ScaleDownByVertical2by3_Bilinear
R=jingning@google.com , thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/2165004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@779 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-03 20:00:10 +00:00
fbarchard@google.com
ae0091e3a7
ARGBPolynomial for applying a 3 term polynomial matrix to pixels.
...
BUG=265
TEST=ARGBPolynomial
R=thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/2159005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@778 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-03 19:20:47 +00:00
fbarchard@google.com
c4a70492c0
blur unittest and fix for negative height
...
BUG=256
TEST=*Blur*
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2027005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@757 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 16:16:39 +00:00
fbarchard@google.com
4b4b50fb44
Make unittests to 1280 pixels for simple planar tests, to get more realistic performance metrics than 256 pixels.
...
BUG=253
TEST=planar tests
R=nfullagar@google.com
Review URL: https://webrtc-codereview.appspot.com/1994004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@753 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-09 02:02:52 +00:00
fbarchard@google.com
5520710ef7
Add RGBColorTable which is like ARGBColorTable but only does first 3 channels.
...
BUG=none
TEST=none
R=dingkai@google.com , thorcarpenter@google.com , wuwang@google.com
Review URL: https://webrtc-codereview.appspot.com/1858004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@739 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-07-24 21:35:57 +00:00
fbarchard@google.com
595c2427e8
Simple FixedDiv that does integer divide instruction with 64 bit dividend and 32 bit divisor to produce 32 bit result.
...
BUG=250
TEST=math_test
R=dingkai@google.com
Review URL: https://webrtc-codereview.appspot.com/1681006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@736 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 22:08:16 +00:00
fbarchard@google.com
e5d3e10ee8
Add rounding to FixedDiv
...
BUG=250
TEST=unittest more exact
R=dingkai@google.com , ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/1681005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@735 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 20:37:14 +00:00
fbarchard@google.com
c9f0d966ed
FixedDiv port to gcc
...
BUG=250
TEST=*Div*
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/1682005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@733 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 18:58:33 +00:00
fbarchard@google.com
747ceb9fa5
FixedDiv using integers
...
BUG=250
TEST=fixed div unittest
R=dingkai@google.com , ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/1681004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@732 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 17:12:15 +00:00
fbarchard@google.com
a18ba50d23
Remove blank lint from OWNERS. Move FixedDiv into row functions to avoid changing build files.
...
BUG=none
TEST=none
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/1680004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@730 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 23:04:13 +00:00
fbarchard@google.com
6f269a1a1b
Expect off by one on 1/1080 and disable scaleup code for now.
...
BUG=none
TEST=libyuvTest.TestFixedDiv_Opt
R=shaowei@google.com
Review URL: https://webrtc-codereview.appspot.com/1677005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@729 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 17:21:26 +00:00
fbarchard@google.com
b3a08b3e05
include lint warning fixes
...
BUG=none
TEST=lint
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/1676004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@728 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 16:37:39 +00:00
fbarchard@google.com
f2f9dbb644
FixedDiv function in C and benchmark
...
BUG=none
TEST=FixedDiv*
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/1668004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@727 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-15 21:10:19 +00:00
fbarchard@google.com
ff0db0ea86
change tile size for convert util and unittest to 32x32 which would lend itself to AVX2 or VP9
...
BUG=none
TEST=none
R=dingkai@google.com
Review URL: https://webrtc-codereview.appspot.com/1667004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@726 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-13 23:18:08 +00:00
fbarchard@google.com
47c4989b79
MemRandomize fix for short result
...
BUG=none
TEST=none
R=dingkai@google.com
Review URL: https://webrtc-codereview.appspot.com/1668005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@725 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-13 21:36:58 +00:00
fbarchard@google.com
ae67c900f4
Randomize function for filling a buffer with random values.
...
BUG=244
TEST=*ScaleFrom1366x768_Box
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1644004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@720 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-10 16:12:20 +00:00
fbarchard@google.com
76f86067a2
Additional scale resolutions tested
...
BUG=none
TEST=*Scale*
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1608005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@718 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-05 15:10:43 +00:00
fbarchard@google.com
dee86a1484
Add comment about return value from scaling unittest internal function - TestFilter.
...
BUG=none
TEST=*Scale* unittests
R=fischman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1599005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@716 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-04 16:47:30 +00:00
fbarchard@google.com
97c9626107
Test yuv scaler with scale factor of 1
...
BUG=none
TEST=ScaleDownBy1
R=gangji@google.com
Review URL: https://webrtc-codereview.appspot.com/1592004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@715 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-03 15:09:58 +00:00
fbarchard@google.com
b911428afd
Adapt row interpolator to do YUV as well as ARGB without extrude so it can be used in I420Scale.
...
BUG=237
TEST=Scale*
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/1587004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@710 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-30 23:42:27 +00:00