summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: dbb08fb)
raw | patch | inline | side by side (parent: dbb08fb)
author | Piotr Dollar <pdollar@pdollar-mbp.local> | |
Wed, 15 Oct 2014 22:37:41 +0000 (15:37 -0700) | ||
committer | Piotr Dollar <pdollar@pdollar-mbp.local> | |
Thu, 16 Oct 2014 03:41:10 +0000 (20:41 -0700) |
channels/private/gradientMex.cpp | patch | blob | history | |
channels/private/rgbConvertMex.cpp | patch | blob | history | |
images/private/imtransform2_c.c | patch | blob | history |
index d4d93f1fd4487024d42c9591eff214fcef118b2c..e298621ea5f259cd50214fbe650305abb8f1fb6f 100644 (file)
/*******************************************************************************\r
-* Piotr's Image&Video Toolbox Version 3.26\r
+* Piotr's Image&Video Toolbox Version NEW\r
* Copyright 2014 Piotr Dollar & Ron Appel. [pdollar-at-caltech.edu]\r
* Please email me if you find bugs, or have suggestions or questions!\r
* Licensed under the Simplified BSD License [see external/bsd.txt]\r
__m128 *_M, *_S, _norm; int i=0, n=h*w, n4=n/4;\r
_S = (__m128*) S; _M = (__m128*) M; _norm = SET(norm);\r
bool sse = !(size_t(M)&15) && !(size_t(S)&15);\r
- if(sse) { for(; i<n4; i++) *_M++=MUL(*_M,RCP(ADD(*_S++,_norm))); i*=4; }\r
- for(; i<n; i++) M[i] /= (S[i] + norm);\r
+ if(sse) for(; i<n4; i++) { *_M=MUL(*_M,RCP(ADD(*_S++,_norm))); _M++; }\r
+ if(sse) i*=4; for(; i<n; i++) M[i] /= (S[i] + norm);\r
}\r
\r
// helper for gradHist, quantize O and M into O0, O1 and M0, M1 (uses sse)\r
@@ -132,12 +132,12 @@ void gradQuantize( float *O, float *M, int *O0, int *O1, float *M0, float *M1,
*_M0++=MUL(LDu(M[i]),_norm); *_M1++=SET(0.f); *_O1++=SET(0);\r
}\r
// compute trailing locations without sse\r
- if( interpolate ) for( i; i<n; i++ ) {\r
+ if( interpolate ) for(; i<n; i++ ) {\r
o=O[i]*oMult; o0=(int) o; od=o-o0;\r
o0*=nb; if(o0>=oMax) o0=0; O0[i]=o0;\r
o1=o0+nb; if(o1==oMax) o1=0; O1[i]=o1;\r
m=M[i]*norm; M1[i]=od*m; M0[i]=m-M1[i];\r
- } else for( i; i<n; i++ ) {\r
+ } else for(; i<n; i++ ) {\r
o=O[i]*oMult; o0=(int) (o+.5f);\r
o0*=nb; if(o0>=oMax) o0=0; O0[i]=o0;\r
M0[i]=M[i]*norm; M1[i]=0; O1[i]=0;\r
index ca87f205b11e9f12ee5ab7ab4d5f8252db3c4a90..23fc8d4d2445c008c13752ee269728151fc3fc69 100644 (file)
_cminu=SET(minu); _cminv=SET(minv);\r
for( i1=i; i1<n1; i1+=4 ) {\r
_l = *(_L++);\r
- *(_U++) = SUB(MUL(_l,*_U),_cminu);\r
- *(_V++) = SUB(MUL(_l,*_V),_cminv);\r
+ *_U = SUB(MUL(_l,*_U),_cminu); _U++;\r
+ *_V = SUB(MUL(_l,*_V),_cminv); _V++;\r
}\r
}\r
i = n1;\r
index 4c412d1b348b5709f749d1760794cdda9f756d82..d1f21067275c2d8915d3b1f444d9548c8808b1d4 100644 (file)
/*******************************************************************************\r
-* Piotr's Image&Video Toolbox Version 2.62\r
+* Piotr's Image&Video Toolbox Version NEW\r
* Copyright 2012 Piotr Dollar. [pdollar-at-caltech.edu]\r
* Please email me if you find bugs, or have suggestions or questions!\r
* Licensed under the Simplified BSD License [see external/bsd.txt]\r
*******************************************************************************/\r
#include "mex.h"\r
+#include <string.h>\r
\r
/*******************************************************************************\r
%% initialize test data\r