Fixed discrepancy between SSE and regular baranches in FREAK
This commit is contained in:
@@ -83,7 +83,7 @@
|
||||
# if defined WIN32
|
||||
# include <intrin.h>
|
||||
# endif
|
||||
# if __SSE2__ || !defined __GNUC__
|
||||
# if defined __SSE2__ || !defined __GNUC__
|
||||
# include <emmintrin.h>
|
||||
# endif
|
||||
#endif
|
||||
@@ -304,7 +304,7 @@ enum {
|
||||
|
||||
CV_INLINE int cvRound( double value )
|
||||
{
|
||||
#if (defined _MSC_VER && defined _M_X64) || (defined __GNUC__ && defined __x86_64__ && __SSE2__ && !defined __APPLE__)
|
||||
#if (defined _MSC_VER && defined _M_X64) || (defined __GNUC__ && defined __x86_64__ && defined __SSE2__ && !defined __APPLE__)
|
||||
__m128d t = _mm_set_sd( value );
|
||||
return _mm_cvtsd_si32(t);
|
||||
#elif defined _MSC_VER && defined _M_IX86
|
||||
|
||||
@@ -150,7 +150,7 @@ static void updateContinuityFlag(Mat& m)
|
||||
break;
|
||||
}
|
||||
|
||||
int64 t = (int64)m.step[0]*m.size[0];
|
||||
uint64 t = (uint64)m.step[0]*m.size[0];
|
||||
if( j <= i && t == (size_t)t )
|
||||
m.flags |= Mat::CONTINUOUS_FLAG;
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user