Frank Barchard
5336217f11
H010Copy function to copy 16 bit planar formats
...
Bug: libyuv:751
Test: LibYUVConvertTest.H010ToH010_Opt
Change-Id: I996d309040a14193a97d05b62ac0b3e1ad1ee74b
Reviewed-on: https://chromium-review.googlesource.com/823445
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Cheng Wang <wangcheng@google.com>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2017-12-15 03:34:34 +00:00
Frank Barchard
3b81288ece
Remove Mips DSPR2 code
...
Bug: libyuv:765
Test: build for mips still passes
Change-Id: I99105ad3951d2210c0793e3b9241c178442fdc37
Reviewed-on: https://chromium-review.googlesource.com/826404
Reviewed-by: Weiyong Yao <braveyao@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2017-12-14 18:22:16 +00:00
Frank Barchard
e6fec061cf
lint cleanup for convert RGB24ToI420
...
RGB24, RAW, RGB565, ARGB1555 and ARGB4444 have conditional
2 pass versus direct path. 2 pass method requires a buffer that
is conditionally allocated. ifdef's were confusing lint.
simplifed ifdefs to clean up lint warning
BUG=libyuv:692
TEST=lint source/convert.cc
Change-Id: If868718af30b48824a5e3d28f0d7d01d4609ad55
Reviewed-on: https://chromium-review.googlesource.com/451552
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-03-09 10:32:23 +00:00
Frank Barchard
73a603e120
clang-format 5.0 applied to libyuv
...
BUG=None
TEST=try bots and lint test
Change-Id: I1ab462adf2d309117862c5eb4b244a61ae202951
Reviewed-on: https://chromium-review.googlesource.com/450658
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
2017-03-08 18:50:12 +00:00
Manojkumar Bhosale
54ce8f23d6
Add MSA optimized ARGB/ABGR/BGRA/RGBA To Y/UV row functions
...
R=fbarchard@google.com
BUG=libyuv:634
Performance Gain (vs C auto-vectorized)
ARGBToYJRow_MSA - ~3.2x
ARGBToYJRow_Any_MSA - ~2.7x
BGRAToYRow_MSA - ~3.2x
BGRAToYRow_Any_MSA - ~2.7x
ABGRToYRow_MSA - ~3.2x
ABGRToYRow_Any_MSA - ~2.6x
RGBAToYRow_MSA - ~3.1x
RGBAToYRow_Any_MSA - ~2.7x
ARGBToUVJRow_MSA - ~5.5x
ARGBToUVJRow_Any_MSA - ~4.5x
BGRAToUVRow_MSA - ~2.1x
BGRAToUVRow_Any_MSA - ~2.0x
ABGRToUVRow_MSA - ~2.1x
ABGRToUVRow_Any_MSA - ~1.9x
RGBAToUVRow_MSA - ~2.2x
RGBAToUVRow_Any_MSA - ~1.9x
Performance Gain (vs C non-vectorized)
ARGBToYJRow_MSA - ~10.9x
ARGBToYJRow_Any_MSA - ~9.2x
BGRAToYRow_MSA - ~10.9x
BGRAToYRow_Any_MSA - ~9.3x
ABGRToYRow_MSA - ~11.0x
ABGRToYRow_Any_MSA - ~9.3x
RGBAToYRow_MSA - ~10.9x
RGBAToYRow_Any_MSA - ~9.1x
ARGBToUVJRow_MSA - ~12.4x
ARGBToUVJRow_Any_MSA - ~10.5x
BGRAToUVRow_MSA - ~4.7x
BGRAToUVRow_Any_MSA - ~4.4x
ABGRToUVRow_MSA - ~4.7x
ABGRToUVRow_Any_MSA - ~4.5x
RGBAToUVRow_MSA - ~4.8x
RGBAToUVRow_Any_MSA - ~4.4x
Review-Url: https://codereview.chromium.org/2641153003 .
2017-02-01 10:31:28 +05:30
Manojkumar Bhosale
7c64163ff4
Add MSA optimized RAW/RGB/ARGB to ARGB/Y/UV row functions
...
R=fbarchard@google.com
BUG=libyuv:634
Performance Gain (vs C vectorized)
ARGB1555ToARGBRow_MSA - 1.85
ARGB1555ToARGBRow_Any_MSA - 1.82
RGB565ToARGBRow_MSA - 2.14
RGB565ToARGBRow_Any_MSA - 2.08
RGB24ToARGBRow_MSA - 8.57
RGB24ToARGBRow_Any_MSA - 7.42
RAWToARGBRow_MSA - 8.57
RAWToARGBRow_Any_MSA - 7.42
ARGB1555ToYRow_MSA - 2.60
ARGB1555ToYRow_Any_MSA - 2.47
RGB565ToYRow_MSA - 2.45
RGB565ToYRow_Any_MSA - 2.33
RGB24ToYRow_MSA - 2.23
RGB24ToYRow_Any_MSA - 2.01
RAWToYRow_MSA - 2.25
RAWToYRow_Any_MSA - 2.02
ARGB1555ToUVRow_MSA - 1.40
ARGB1555ToUVRow_Any_MSA - 1.37
RGB565ToUVRow_MSA - 1.68
RGB565ToUVRow_Any_MSA - 1.63
RGB24ToUVRow_MSA - 3.02
RGB24ToUVRow_Any_MSA - 2.87
RAWToUVRow_MSA - 3.04
RAWToUVRow_Any_MSA - 2.85
Performance Gain (vs C non-vectorized)
ARGB1555ToARGBRow_MSA - 4.66
ARGB1555ToARGBRow_Any_MSA - 4.45
RGB565ToARGBRow_MSA - 5.58
RGB565ToARGBRow_Any_MSA - 5.34
RGB24ToARGBRow_MSA - 8.57
RGB24ToARGBRow_Any_MSA - 7.42
RAWToARGBRow_MSA - 8.57
RAWToARGBRow_Any_MSA - 7.42
ARGB1555ToYRow_MSA - 6.38
ARGB1555ToYRow_Any_MSA - 5.98
RGB565ToYRow_MSA - 6.42
RGB565ToYRow_Any_MSA - 6.05
RGB24ToYRow_MSA - 7.87
RGB24ToYRow_Any_MSA - 7.01
RAWToYRow_MSA - 7.98
RAWToYRow_Any_MSA - 7.01
ARGB1555ToUVRow_MSA - 5.39
ARGB1555ToUVRow_Any_MSA - 5.06
RGB565ToUVRow_MSA - 6.39
RGB565ToUVRow_Any_MSA - 5.90
RGB24ToUVRow_MSA - 3.04
RGB24ToUVRow_Any_MSA - 2.87
RAWToUVRow_MSA - 3.04
RAWToUVRow_Any_MSA - 2.88
Review-Url: https://codereview.chromium.org/2600713002 .
2017-01-13 15:43:37 +05:30
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
b18fd21d3c
Android420ToI420 - use ptrdiff_t for difference of u and v pointers
...
The difference was assigned to an int, causing a warning on Visual C.
BUG=662
TEST=tested with try bots.
R=devangelakos@google.com
Review-Url: https://codereview.chromium.org/2574373002 .
2016-12-14 11:53:55 -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
78c58ab8aa
Add MSA optimized ARGB4444ToI420 and ARGB4444ToARGB functions
...
R=fbarchard@google.com
BUG=libyuv:634
Performance gains : (Auto-vectorized C vs MSA SIMD)
ARGB4444ToYRow_MSA : ~3.0x
ARGB4444ToUVRow_MSA : ~1.8x
ARGB4444ToARGBRow_MSA : ~3.4x
ARGB4444ToYRow_Any_MSA : ~2.8x
ARGB4444ToUVRow_Any_MSA : ~1.7x
ARGB4444ToARGBRow_Any_MSA : ~3.2x
Review URL: https://codereview.chromium.org/2421843002 .
2016-10-19 11:10:51 -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
a2891ec77c
Add MSA optimized YUY2ToI422, YUY2ToI420, UYVYToI422, UYVYToI420 functions
...
R=fbarchard@google.com
BUG=libyuv:634
Performance gains as below,
YUY2ToI422, YUY2ToI420 :-
YUY2ToYRow_MSA : ~10x
YUY2ToUVRow_MSA : ~11x
YUY2ToUV422Row_MSA : ~9x
YUY2ToYRow_Any_MSA : ~6x
YUY2ToUVRow_Any_MSA : ~5x
YUY2ToUV422Row_Any_MSA : ~4x
UYVYToI422, UYVYToI420 :-
UYVYToYRow_MSA : ~10x
UYVYToUVRow_MSA : ~11x
UYVYToUV422Row_MSA : ~9x
UYVYToYRow_Any_MSA : ~6x
UYVYToUVRow_Any_MSA : ~5x
UYVYToUV422Row_Any_MSA : ~4x
Review URL: https://codereview.chromium.org/2397693002 .
2016-10-07 10:37:22 -07:00
Frank Barchard
c244a3e9a0
Add SplitUVPlanes and MergeUVPlanes
...
Add public methods SplitUVPlanes and MergeUVPlanes based on the
optimized assembly functions that already exists. Also, de-duplicate the
CPU dispatching code for these functions by moving them to helper
functions.
BUG=libyuv:629
R=braveyao@chromium.org
Review URL: https://codereview.chromium.org/2277603004 .
2016-08-24 16:47:24 -07:00
Frank Barchard
161e5c4569
Allow NULL for dst_y in planar formats. BUG=libyuv:631 TEST=unittests build/pass
...
BUG=libyuv:631
TEST=unittests build/pass
R=harryjin@google.com
Review URL: https://codereview.chromium.org/2271053003 .
2016-08-24 10:19:14 -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
d58297a2df
NV12ToI420 use SplitPlane function
...
TBR=magjed@chromium.org
BUG=libyuv:629
TEST=LibYUVConvertTest.NV12ToI420_Opt
Review URL: https://codereview.chromium.org/2267303002 .
2016-08-22 18:35:55 -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
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
2e4466e282
change all pix parameters to width for consistency
...
TBR=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1398633002 .
2015-10-07 22:30:36 -07:00
Frank Barchard
97b35daf75
disable faulty avx2 in argb conversions and box filter. and extend temporary buffer to 128 for an avx2 any function.
...
R=harryjin@google.com
BUG=libyuv:462
TESTED=libyuv_unittest run on haswell laptop
Review URL: https://webrtc-codereview.appspot.com/53759004 .
2015-07-07 15:40:24 -07:00
Frank Barchard
82180e8296
rgb24toyuv use 1 or 2 steps consistently.
...
R=bcornell@google.com , impjdi@google.com
BUG=libyuv:459
Review URL: https://webrtc-codereview.appspot.com/52149004 .
2015-06-29 16:51:05 -07:00
fbarchard@google.com
bb5a009d11
ARGB4444ToARGB and ARGB1555ToARGB ported to AVX2.
...
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGB4444ToARGB*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/48009004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1363 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-07 23:52:57 +00:00
fbarchard@google.com
8f0b32773c
ARGBToUV AVX2 functions hooked up.
...
BUG=none
TESTED=RGB565ToI420
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/46829004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1359 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-07 00:10:52 +00:00
fbarchard@google.com
9afabe29b8
Add ARGBToY AVX calls.
...
BUG=none
TESTED=libyuv unittests all pass with AVX2
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/44999004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1358 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-06 23:11:05 +00:00
fbarchard@google.com
2827277496
port RGB565ToARGB to AVX2.
...
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*RGB565ToARGB*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/49609004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1357 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-06 19:24:23 +00:00
fbarchard@google.com
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
91f240c5db
Move sub before branch for loops.
...
Remove CopyRow_x86
Add CopyRow_Any versions for AVX, SSE2 and Neon.
BUG=269
TESTED=local build
R=harryjin@google.com , tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/26209004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1175 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-20 21:14:27 +00:00
fbarchard@google.com
9ed836b154
The 'Any' versions of functions can handle any width now, so remove the check from the calling code. This has 2 advantages - less code, and less overhead in calling function when any function is NOT used. Downside is more code for case where any is used.
...
BUG=373
TESTED=libyuv_unittest still passes
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/24129004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1143 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-24 23:29:31 +00:00
fbarchard@google.com
f713691a6f
Change elif to endif and if to allow AVX2 as well as SSE2 in future changes instead of one or the other.
...
BUG=none
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30719004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1122 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-16 20:47:22 +00:00
fbarchard@google.com
008ce53ac4
pavgb with memory op requires alignment. This CL disables conversions that use pavgb, and resolves scale by 3/8 unittest for checking alignment works. The 3/8 code used a pavgb with a memory operand. tests are added for scaling and allow unaligning on purpose.
...
BUG=365
TESTED=local change to force unaligned memory fails on some conversions and scaling code.
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/29699004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1114 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-07 01:57:34 +00:00
fbarchard@google.com
ca308327d2
Remove unaligned functions, since most function support unaligned memory now. This reduces complexity and improves performance for unaligned cases because C code can be avoided, and overhead is less. Downside is old cpus (core2 and earlier) will be slower for aligned memory case. Except mips, which has alignment requirement, but remove unaligned variant.
...
BUG=365
TESTED=unittest builds and passes locally
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/24839004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1113 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-07 00:59:31 +00:00
fbarchard@google.com
d33bf86b25
CopyRow_AVX which supports unaligned pointers for Sandy Bridge CPU.
...
BUG=363
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToARGB_*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/31489004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1097 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-29 23:53:18 +00:00
ashok.bhat@gmail.com
2df5743bd4
Row AArch64 Neon implementation - Part 6
...
BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com
Change-Id: I5d93eb184ba873d5e7637a3b5a830be39a967c6f
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/15239004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1069 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-29 08:12:51 +00:00
fbarchard@google.com
ee43c95c51
fix memory leaks in *ToI420 functions.
...
BUG=352
TESTED=drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=**ToI420_Opt
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/21289004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1060 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-22 00:37:16 +00:00
ashok.bhat@gmail.com
8f04ca5b9c
Row AArch64 Neon implementation - Part 5
...
BUG=319
TESTED=libyuv_unittest
R=fbarchard@chromium.org , fbarchard@google.com
Change-Id: Ia76096088ddd771388f01dd86110089db2faedfc
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/21189004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1055 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-21 10:07:11 +00:00
fbarchard@google.com
720e3a247f
In Q420ToI420 the variable halfheight is initialized but not used. Change it to instantiate the variable but do not initialize it. It will be assigned conditionally later. This warning raised in xcode.
...
BUG=353
TESTED=local build still works
R=harryjin@google.com , noahric@chromium.org
Review URL: https://webrtc-codereview.appspot.com/13299004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1053 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-21 00:20:58 +00:00
fbarchard@google.com
8798e04075
Port conversion functions to c.
...
BUG=303
TESTED=cl /c /TC /Iinclude source\convert_from.cc source\convert_argb.cc source\convert_from_argb.cc
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/17909004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1030 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-08 18:44:57 +00:00
fbarchard@google.com
a2fbf9dee6
convert source ported to c89.
...
BUG=303
TESTED=cl /c /TC /Iinclude source/convert.cc
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/21849004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1029 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-07 19:05:45 +00:00
kjellander@google.com
614c9fa853
Revert accidental checkin in r992
...
I dunno how this happened, since that file belonged
to a another gcl change that I use to test the trybots.
TBR=fbarchard@google.com
Review URL: https://webrtc-codereview.appspot.com/10899005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@993 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-28 19:40:39 +00:00
kjellander@google.com
d5a521cd23
Minor fixes to gyp_libyuv.py
...
Fixed invalid references left from
the copied gyp_webrtc.
This CL will also add svn:ignore on a
bunch of directories to speed up builds
(less unnecessary delete + redownload).
It also adds the executable bit to
gyp_libyuv.
R=fbarchard@google.com
Review URL: https://webrtc-codereview.appspot.com/10889004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@992 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-28 19:38:05 +00:00
fbarchard@google.com
d9c9f37ac4
Conversions use malloc for row buffers.
...
BUG=296
TESTED=libyuv convert_test
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6399004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@928 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-27 02:00:30 +00:00
fbarchard@google.com
99a1298c54
I444ToI420 etc use ScalePlane on Y to allow mirroring.
...
BUG=291
TESTED=unittests still pass.
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/4979004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@893 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-04 23:36:06 +00:00
fbarchard@google.com
a8e4dcb5d5
Use scaling for YUV to YUV.
...
BUG=none
TEST=I4*ToI4*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/4969004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@892 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-04 20:31:53 +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
d0a4b4ac01
Switch I4xxToI420 to point sample to pass drmemory.
...
BUG=289
TESTED=drmemory
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/4809004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@886 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-03 07:00:11 +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
87215c0871
Fix row coalescing for NV12 and NV21 to I420.
...
BUG=none
TEST=none
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3379004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@841 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-05 02:15:55 +00:00
fbarchard@google.com
6368c10c9c
Add __declspec(safebuffers) to functions with arrays on stack that have explicit checks to avoid a redundent compiler stack check.
...
BUG=none
TEST=unitests pass
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/3289004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@837 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-01 21:27:31 +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
7fa21d677c
More ifdefs to build all libyuv and not get link errors on missing assembly
...
BUG=253
TEST=nacl validator
R=nfullagar@google.com , ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2024004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@756 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-13 21:54:23 +00:00
fbarchard@google.com
8ffe78abd2
Scale down by 4 used 3rd pixel
...
BUG=232
TEST=convert.exe -f 0 faces_640x480_P420.yuv face2_160x120_P420.yuv
R=changjun.yang@intel.com
Review URL: https://webrtc-codereview.appspot.com/1579005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@709 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-30 07:14:14 +00:00
fbarchard@google.com
aa7988ff73
Enhanced Rep Mov String version of CopyRow for posix and use cpu detect for ERMS
...
BUG=213
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1306008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@658 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-12 00:44:33 +00:00
fbarchard@google.com
492768cbca
isolate jpeg to convert_jpeg and call from convert_to_i420
...
BUG=212
TESTED=manually tested
Review URL: https://webrtc-codereview.appspot.com/1309004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@653 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-09 23:00:56 +00:00
fbarchard@google.com
9b4c00b908
Move vzeroupper to row functions to simplify caller and allow mix of avx2 and sse2. Impact reduced by row coalescing.
...
BUG=none
TEST=all tests pass with sde
Review URL: https://webrtc-codereview.appspot.com/1269009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@641 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-04 05:54:59 +00:00
fbarchard@google.com
5ca144d214
NV12 to/from I420 coalesce rows for Y and UV independently.
...
BUG=197
TESTED=*NV12*_Opt
Review URL: https://webrtc-codereview.appspot.com/1201004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@607 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-14 17:57:47 +00:00
fbarchard@google.com
e1bb5d9430
AVX2 version of half rows.
...
BUG=none
TEST=out\release\libyuv_unittest.exe --gtest_filter=*I422ToI420*
Review URL: https://webrtc-codereview.appspot.com/1157004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@590 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-05 06:32:03 +00:00
fbarchard@google.com
83a63e65a6
Change YUV_DISABLE_ASM to LIBYUV_DISABLE_NEON, LIBYUV_DISABLE_MIPS, LIBYUV_DISABLE_X86
...
BUG=189
TESTED=try
Review URL: https://webrtc-codereview.appspot.com/1113006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@582 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-27 00:20:29 +00:00
fbarchard@google.com
928483f397
Add I420ToNV12 and NV21 to convert from
...
BUG=178
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1127007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@581 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-26 03:00:31 +00:00
fbarchard@google.com
b444bae883
ARGBToI400 and ARGBToI411 using AVX2. YUY2ToI420 and UVYVToI420 use AVX2. CopyPlane use rep movsb for AVX2. CopyPlane2 use rep movsb for AVX2 and CopyPlane if strides match AVX2, which will do a single rep movsb for entire image if stride == width. MergeUV for I420ToNV12.
...
BUG=181
TESTED=unittests pass
Review URL: https://webrtc-codereview.appspot.com/1103007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@569 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-11 20:30:41 +00:00
fbarchard@google.com
551d2b297e
AVX2 version of ARGBToI420
...
BUG=181
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/1090005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@566 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-08 20:57:52 +00:00
fbarchard@google.com
92352b7081
mips optimized copy for all functions using CopyRows.
...
BUG=176
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1074010
git-svn-id: http://libyuv.googlecode.com/svn/trunk@556 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-28 19:43:29 +00:00
fbarchard@google.com
cde587092f
Replace two spaces with one after .
...
BUG=none
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/1063010
git-svn-id: http://libyuv.googlecode.com/svn/trunk@553 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-28 00:02:35 +00:00
fbarchard@google.com
9780dd4e81
Remove V210. Quality of this code is insufficient for libyuv. Unable to make V210 pass valgrind. Would require effort to add missing support and optimization.
...
BUG=91
TEST=valgrind
Review URL: https://webrtc-codereview.appspot.com/1021009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@536 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-11 23:42:00 +00:00
kjellander@google.com
7c9186f568
Removing accidental change in r529
...
git-svn-id: http://libyuv.googlecode.com/svn/trunk@530 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-10 10:25:34 +00:00
kjellander@google.com
da4080de69
Adding tools directory to source control
...
git-svn-id: http://libyuv.googlecode.com/svn/trunk@529 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-10 10:23:39 +00:00
fbarchard@google.com
ceee491c24
move READWORD and WRITEWORD into row_common along with row functions that use them
...
BUG=171
TEST=still builds
Review URL: https://webrtc-codereview.appspot.com/1021008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@528 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-09 05:30:08 +00:00
fbarchard@google.com
3ae19cb834
Make 565 use big endian consistent read/write word for s390.
...
BUG=171
TESTED=unittests on x86 not impacted.
Review URL: https://webrtc-codereview.appspot.com/1022006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@524 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-07 06:50:53 +00:00
fbarchard@google.com
442b0ad0ac
Call CanonicalCode in convert functions and add unittest for function.
...
BUG=none
TEST=video_common_test added
Review URL: https://webrtc-codereview.appspot.com/1001007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@521 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-18 17:23:15 +00:00
fbarchard@google.com
1d160cb99f
Attenuate AGRB pixels NEON optimized
...
BUG=164
TEST=./libyuv_unittest --gtest_filter=*Atten*
Review URL: https://webrtc-codereview.appspot.com/937031
git-svn-id: http://libyuv.googlecode.com/svn/trunk@506 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-28 20:02:55 +00:00
fbarchard@google.com
4a86a836fc
On Neon remove aligned SplitUVRow
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/930020
git-svn-id: http://libyuv.googlecode.com/svn/trunk@493 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-16 02:51:31 +00:00
fbarchard@google.com
f08ac6bb09
Rename row functions so they are all SomethingRow_CPU
...
BUG=133
TEST=still builds
Review URL: https://webrtc-codereview.appspot.com/939020
git-svn-id: http://libyuv.googlecode.com/svn/trunk@491 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-15 00:21:14 +00:00
fbarchard@google.com
752cb9e057
Some minor fixes for yuy2, r12 register, mask on any function.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/936023
git-svn-id: http://libyuv.googlecode.com/svn/trunk@489 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-14 05:46:56 +00:00
fbarchard@google.com
9573071950
Neon RGB24 to I420
...
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/965018
git-svn-id: http://libyuv.googlecode.com/svn/trunk@481 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-12 20:42:48 +00:00
fbarchard@google.com
522d757c92
Neon optimized ARGBToI444/422/411/420 Any variations, ARGB1555ToI420 Neon, ARGB4444ToI420
...
BUG=148
TEST=sudo LIBYUV_REPEAT=1000 nice --5 ./libyuv_unittest --gtest_filter=*R*ToI4* | sed 's/\(.*(\)\([0-9]*\)\( ms)\)/\2 - \1\2\3/g' | sort -rn | grep ms
Review URL: https://webrtc-codereview.appspot.com/936020
git-svn-id: http://libyuv.googlecode.com/svn/trunk@480 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-09 23:14:57 +00:00
fbarchard@google.com
f1daa3db65
Neon RGB To I420
...
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/936015
git-svn-id: http://libyuv.googlecode.com/svn/trunk@479 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-07 08:27:24 +00:00
fbarchard@google.com
dd2d512e5a
420 subsampler
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/935012
git-svn-id: http://libyuv.googlecode.com/svn/trunk@478 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-07 00:53:52 +00:00
fbarchard@google.com
1dee625093
ARGB1555 and ARGB4444 to I420 Neon
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/965008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@473 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-06 02:14:23 +00:00
fbarchard@google.com
bdf7cb5914
RGB formats converted to YUV with Neon
...
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/936013
git-svn-id: http://libyuv.googlecode.com/svn/trunk@471 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-05 23:40:11 +00:00
fbarchard@google.com
e0d8648b6a
MergeUV aligned and SplitUV cpu detect combined with width check.
...
BUG=none
TEST=libyuvTest.I420ToNV12_Any
Review URL: https://webrtc-codereview.appspot.com/937005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@451 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-27 19:07:55 +00:00
fbarchard@google.com
62a961bee7
Neon version of I420ToNV12 and I420ToNV21. NV21ToI420 added as function. CopyRow changed to vld4.8 to allow unaligned copy.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/922005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@435 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-22 17:24:50 +00:00
fbarchard@google.com
0a6b7a6eb7
test rgb565 by converting to ARGB and then doing MSE
...
BUG=114
TEST=libyuvTest.I420ToRGB565_Any
Review URL: https://webrtc-codereview.appspot.com/919004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@428 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-19 20:10:47 +00:00
fbarchard@google.com
db694edfc2
SplitUV_Any variations for all CPUS.
...
BUG=126
TEST=convert tests NV12 with alignments
Review URL: https://webrtc-codereview.appspot.com/896007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@426 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-17 21:54:04 +00:00
fbarchard@google.com
1c396a3d7d
MJPGSize function to query size.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/898004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@425 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-17 04:37:39 +00:00
fbarchard@google.com
0908a701e9
ARGBToY_NEON for faster screencasts
...
BUG=107
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/892004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@423 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-16 22:34:07 +00:00
fbarchard@google.com
bb6bddc9fb
Style fixes for mips version of SplitUV for nv12/21
...
BUG=126
TEST=lint passes and rotate_test and cpu_test on try bot pass.
Review URL: https://webrtc-codereview.appspot.com/884004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@418 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-14 06:41:17 +00:00
fbarchard@google.com
ca41005256
mips version of SplitUV for nv12/21
...
BUG=126
TEST=rotate_test and cpu_test updated
Review URL: https://webrtc-codereview.appspot.com/879005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@416 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-14 06:01:19 +00:00
fbarchard@google.com
0cbbdde3d5
memset v210 destination buffer to 0 to attempt valgrind fix.
...
BUG=91
TEST=I420ToV210
Review URL: https://webrtc-codereview.appspot.com/872008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@407 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 20:53:05 +00:00
fbarchard@google.com
e91bdaca36
Move HalfRow to row_win and port to row_neon
...
BUG=118
TEST=libyuvTest.I420ToI422_OptVsC (247 ms)
Review URL: https://webrtc-codereview.appspot.com/855012
git-svn-id: http://libyuv.googlecode.com/svn/trunk@400 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 21:09:33 +00:00
fbarchard@google.com
64ce0ab544
Move Neon source to its own files.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/860009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@396 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 00:05:29 +00:00
fbarchard@google.com
c74fe98725
YUY2 16 pixels at a time is 2x faster
...
BUG=116
TEST=libyuv_unittest
Review URL: https://webrtc-codereview.appspot.com/870005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@393 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-05 12:00:07 +00:00
fbarchard@google.com
a844b95688
YU12 has a normal fourcc instead of an alias, allowing code to treat it as different, if needed.
...
BUG=112
TEST=unittests still pass
Review URL: https://webrtc-codereview.appspot.com/864008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@391 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-04 21:04:27 +00:00
fbarchard@google.com
db11d893c2
Check destination alignment for Q420 format when using SSE2.
...
BUG=96
TEST=none
Review URL: https://webrtc-codereview.appspot.com/861004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@387 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-01 06:45:34 +00:00
fbarchard@google.com
d8a1435fe0
Q420 format redone using YUY2 assembly which supports NEON
...
BUG=96
TEST=local tests in talk do q420 testing on windows.
Review URL: https://webrtc-codereview.appspot.com/856006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@386 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-01 05:34:59 +00:00
fbarchard@google.com
fc7314e86b
Add exports to allow libyuv to be built as a shared lib.
...
BUG=99
TEST=shared lib builds without impact and unittests link against import lib.
Review URL: https://webrtc-codereview.appspot.com/844005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@379 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-27 02:17:51 +00:00
fbarchard@google.com
4c32b3a017
Port xgetbv to posix
...
BUG=98
TEST=none
Review URL: https://webrtc-codereview.appspot.com/848004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@374 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-25 23:46:44 +00:00
fbarchard@google.com
dddf94c343
YUY2 and UYVY conversions to I420 ported to NEON
...
BUG=64
TEST=untested
Review URL: https://webrtc-codereview.appspot.com/823007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@371 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-21 17:54:23 +00:00
fbarchard@google.com
5808cb22ce
Neon optimized RAW (RGB big endian)
...
BUG=68
TEST=unittest on try bot
Review URL: https://webrtc-codereview.appspot.com/819005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@368 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-20 05:05:33 +00:00
fbarchard@google.com
64961c01b2
ARGBToRGBA_NEON and ARGBToRGB24_NEON
...
BUG=68
TEST=none
Review URL: https://webrtc-codereview.appspot.com/816004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@367 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-19 20:03:20 +00:00
fbarchard@google.com
5625adfa12
Respect HAVE_JPEG and build cleanly
...
BUG=93
TEST=none
Review URL: https://webrtc-codereview.appspot.com/812004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@361 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 21:31:21 +00:00
fbarchard@google.com
142f6c4ed5
Move row.h to include and remove rotate_priv.h
...
BUG=93
TESTED=try server
Review URL: https://webrtc-codereview.appspot.com/811004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@360 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 20:56:51 +00:00
fbarchard@google.com
d5a27f0533
RGBA to and from I420 with C implementation.
...
BUG=78
TEST=planar_test
Review URL: https://webrtc-codereview.appspot.com/798007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@355 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-16 23:27:29 +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
mikhal@webrtc.org
25ba021148
LibYuv:Adding input checks
...
(open TODO: Add unit tests)
Review URL: https://webrtc-codereview.appspot.com/698004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@309 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-19 16:38:27 +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
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
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
5bf29b59db
p2align all loops, copy stride to local for scale, and copy last byte in bilinear more efficiently
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/547007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@255 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-02 00:10:16 +00:00
fbarchard@google.com
d2f4413d29
Remove old alpha blend, expose GetARGB2Blend, fix ComputeSumSquareErrorPlane on SSE2
...
BUG=29
TEST=none
Review URL: https://webrtc-codereview.appspot.com/469005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@234 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-04 21:53:27 +00:00
fbarchard@google.com
f3fb7b6920
Lint cleanup for Neon and Visual C inline.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/464002
git-svn-id: http://libyuv.googlecode.com/svn/trunk@231 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-29 23:19:34 +00:00
fbarchard@google.com
5b22506b14
With an asm() away lint, this cleans up most remaining issues.
...
BUG=none
TEST=lint filename
Review URL: https://webrtc-codereview.appspot.com/464001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@230 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-29 02:19:26 +00:00
fbarchard@google.com
427f966645
fix const correctness on mjpeg
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/463003
git-svn-id: http://libyuv.googlecode.com/svn/trunk@229 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 20:03:01 +00:00
fbarchard@google.com
8647dd755e
Pointer has * attached to type for consistency and lint
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/463002
git-svn-id: http://libyuv.googlecode.com/svn/trunk@228 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 19:38:06 +00:00
fbarchard@google.com
0945c57874
Rotate by 180 in place.
...
BUG=18
TEST=none
Review URL: https://webrtc-codereview.appspot.com/456010
git-svn-id: http://libyuv.googlecode.com/svn/trunk@227 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 02:58:26 +00:00
fbarchard@google.com
0ab5440693
lint cleanup of headers
...
BUG=none
TEST=gcl lint
Review URL: https://webrtc-codereview.appspot.com/459003
git-svn-id: http://libyuv.googlecode.com/svn/trunk@221 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-23 21:17:22 +00:00
fbarchard@google.com
2b9c210803
lint fix test
...
BUG=none
TEST=gcl lint lintfix2
Review URL: https://webrtc-codereview.appspot.com/458003
git-svn-id: http://libyuv.googlecode.com/svn/trunk@220 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-22 22:36:44 +00:00
fbarchard@google.com
d4840d4fe9
Rotate any format by converting into an I420 buffer and then rotating that
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/446009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@217 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-19 15:52:55 +00:00
fbarchard@google.com
18184fd19d
switch looping to jg from ja to allow non-multiple of 16 to underflow to a negative
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/453001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@214 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-12 18:53:19 +00:00
fbarchard@google.com
bd4a849bcb
fix for nv21 u, v order, align all loops, and make addrows support 1 row
...
BUG=17
TEST=none
Review URL: https://webrtc-codereview.appspot.com/435004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@208 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-07 19:19:03 +00:00
fbarchard@google.com
57397ebafd
avoid new/delete for mjpeg_decoder
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/404001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@185 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-23 01:20:58 +00:00
fbarchard@google.com
2842f2536d
safe for x86 and memset for arm
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/401005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@183 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-22 18:52:29 +00:00
fbarchard@google.com
8058db48d0
ifdef around jpeg
...
Review URL: https://webrtc-codereview.appspot.com/392021
git-svn-id: http://libyuv.googlecode.com/svn/trunk@182 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-21 22:51:56 +00:00
fbarchard@google.com
392cc2c425
MJPGToI420
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/396014
git-svn-id: http://libyuv.googlecode.com/svn/trunk@181 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-21 22:36:52 +00:00
fbarchard@google.com
8536b2f389
Add 411 for MJPG and fix neon warnings
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/399013
git-svn-id: http://libyuv.googlecode.com/svn/trunk@180 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-21 21:02:54 +00:00
fbarchard@google.com
19932f8dbc
CopyRow instead of memcpy for copying planes
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/396008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@175 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-16 22:19:14 +00:00
fbarchard@google.com
2d11d43a6e
shuffle functions so convert.h is all formats to I420 and convert_from.h is from I420 to all formats
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/395006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@174 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-16 02:50:39 +00:00
fbarchard@google.com
032b5f990f
port I420ToYUY2 code to support I420ToYUY2 I422ToYUY2 and I420ToV210
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/388011
git-svn-id: http://libyuv.googlecode.com/svn/trunk@173 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-14 20:31:25 +00:00
fbarchard@google.com
798197fc14
remove deprecated RGB24ToARGB, rename BG24ToARGB to RGB24ToARGB
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/392009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@172 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-14 18:17:12 +00:00
fbarchard@google.com
c8c8047d43
V210 fourcc support for AJA cards. Make UYVYToI420 use 'Last16' method for 'Any'. also YUY2, ARGB, BGRA and ABGR
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/388008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@171 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-14 00:11:15 +00:00
fbarchard@google.com
b95dbf2495
check pointer of last pixel and last pixel + 64 are in the same page.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/387006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@170 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-11 01:18:30 +00:00
fbarchard@google.com
e5f3fd4cc8
YUY2 and UYVY Unaligned and any versions
...
TEST=none
BUG=none
Review URL: https://webrtc-codereview.appspot.com/379009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@168 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-06 22:40:32 +00:00
fbarchard@google.com
b1dd02d66c
Unaligned test/moves for some of the slower functions
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/368011
git-svn-id: http://libyuv.googlecode.com/svn/trunk@162 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-30 20:54:49 +00:00
fbarchard@google.com
b5b27d131a
ARGBToYUV with sse3 on any size/alignment
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/366011
git-svn-id: http://libyuv.googlecode.com/svn/trunk@161 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-28 08:44:35 +00:00
fbarchard@google.com
5343a7301b
Make Bayer functions with same parameters as RGB conversions allowing consistant usage and testing. Functions are implemented with wrappers to single function for 4 fourccs. New I420ToBayer functions implemented similar to 2 step I420ToRGB565 etc.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/367002
git-svn-id: http://libyuv.googlecode.com/svn/trunk@150 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-24 19:43:29 +00:00
fbarchard@google.com
ba03e4d99e
Relax alignment checks especially when doing 2 step conversions
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/368004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@147 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-21 00:16:29 +00:00
fbarchard@google.com
44477b260a
RGB565 etc to I420 had UV function pointer set wrong for _C version.
...
BUG=none
TEST=media_unittest
Review URL: https://webrtc-codereview.appspot.com/353006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@135 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-18 00:27:58 +00:00
fbarchard@google.com
1de81bca84
NV12ToRGB565 rewritten. Row functions with SSSE3 and NEON. Stride by bytes (bug fix). Handle odd sizes. Support inversion.
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/344012
git-svn-id: http://libyuv.googlecode.com/svn/trunk@134 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-13 19:27:42 +00:00
fbarchard@google.com
ba1f526926
rewrite of I420ToRGB565 etc using row functions
...
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/345004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@131 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-12 19:22:41 +00:00
fbarchard@google.com
20005e64e3
fix convertToI420 rowbytes and add assembly calls
...
BUG=none
TEST=camtool
Review URL: http://webrtc-codereview.appspot.com/343008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@130 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-11 21:16:10 +00:00
fbarchard@google.com
a7d977ceae
RGBP, RGBO, R444 fourcc support
...
BUG=none
TEST=camtool with xo175
Review URL: http://webrtc-codereview.appspot.com/347001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@128 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-09 20:01:08 +00:00
fbarchard@google.com
17f198cd46
cleanup of include order, std include comments on what function they are for, and guard naming to match folder
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/333028
git-svn-id: http://libyuv.googlecode.com/svn/trunk@125 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-04 02:21:05 +00:00
mikhal@webrtc.org
0090434e53
libyuv: Moving video_common to the include directory and updating rgb convert orientation.
...
Review URL: http://webrtc-codereview.appspot.com/333022
git-svn-id: http://libyuv.googlecode.com/svn/trunk@120 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-27 23:22:44 +00:00
fbarchard@google.com
c9911bcba1
more functions added for convertFromI420
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/333015
git-svn-id: http://libyuv.googlecode.com/svn/trunk@118 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-21 03:37:37 +00:00
fbarchard@google.com
62e63b25ff
Remove .global from asm blocks to reduce external visibility
...
BUG=none
TEST=functions still build/link on 32 bit linux/osx
Review URL: http://webrtc-codereview.appspot.com/330011
git-svn-id: http://libyuv.googlecode.com/svn/trunk@116 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-21 00:04:04 +00:00
fbarchard@google.com
9d206a29cd
cygwin compatibility fix for ifdef underscores, and __inline for C vs inline which is C++
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/335003
git-svn-id: http://libyuv.googlecode.com/svn/trunk@115 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-19 19:04:46 +00:00
fbarchard@google.com
aebc430478
ConvertToI420 accept I400
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/328009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@114 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-16 21:02:53 +00:00
fbarchard@google.com
fe5ff7ed54
clang on linux prefers no args for rep movsl/stosl. ifdef for C that removes namespace. extern c allows c++ to be used to compile, including with namespace, but C program can link libyuv
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/320004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@101 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-10 07:45:58 +00:00
fbarchard@google.com
3e8a577bb3
add ARGBRect, fix for 444 support in ConvertToI420
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/289003
git-svn-id: http://libyuv.googlecode.com/svn/trunk@93 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-23 18:58:38 +00:00
fbarchard@google.com
10f5556a9f
I444 fourcc and ConvertToI420 support
...
BUG=none
TEST=untested
Review URL: http://webrtc-codereview.appspot.com/290001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@92 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-23 00:01:24 +00:00