mirror of
https://github.com/opencv/opencv.git
synced 2024-11-28 21:20:18 +08:00
follow other interface
* remove useHW option * update test
This commit is contained in:
parent
b2ad7cd9c0
commit
eccf2fa4c3
@ -533,7 +533,7 @@ CV_16S to represent the bit depth. If the input array is neither of them, it'll
|
||||
@param dst output array.
|
||||
@param useHW if possible use HW SIMD instruction to convert
|
||||
*/
|
||||
CV_EXPORTS_W void convertFp16(InputArray src, OutputArray dst, bool useHW = true);
|
||||
CV_EXPORTS_W void convertFp16(InputArray src, OutputArray dst);
|
||||
|
||||
/** @brief Performs a look-up table transform of an array.
|
||||
|
||||
|
@ -5117,9 +5117,10 @@ void cv::convertScaleAbs( InputArray _src, OutputArray _dst, double alpha, doubl
|
||||
}
|
||||
}
|
||||
|
||||
void cv::convertFp16( InputArray _src, OutputArray _dst, bool useHW )
|
||||
void cv::convertFp16( InputArray _src, OutputArray _dst)
|
||||
{
|
||||
if ( checkHardwareSupport(CV_CPU_FP16) == false)
|
||||
bool useHW = true;
|
||||
if ( checkHardwareSupport(CV_CPU_FP16) == false )
|
||||
{
|
||||
useHW = false;
|
||||
}
|
||||
|
@ -742,27 +742,29 @@ struct ConvertScaleFp16Op : public BaseElemWiseOp
|
||||
ConvertScaleFp16Op() : BaseElemWiseOp(1, FIX_BETA+REAL_GAMMA, 1, 1, Scalar::all(0)), nextRange(0) { }
|
||||
void op(const vector<Mat>& src, Mat& dst, const Mat&)
|
||||
{
|
||||
convertFp16(src[0], dst, true);
|
||||
Mat m;
|
||||
convertFp16(src[0], m);
|
||||
convertFp16(m, dst);
|
||||
}
|
||||
void refop(const vector<Mat>& src, Mat& dst, const Mat&)
|
||||
{
|
||||
convertFp16(src[0], dst, false);
|
||||
cvtest::copy(src[0], dst);
|
||||
}
|
||||
int getRandomType(RNG&)
|
||||
{
|
||||
// 0: FP32 -> FP16
|
||||
// 1: FP16 -> FP32
|
||||
// 0: FP32 -> FP16 -> FP32
|
||||
// 1: FP16 -> FP32 -> FP16
|
||||
int srctype = (nextRange & 1) == 0 ? CV_32F : CV_16S;
|
||||
return srctype;
|
||||
}
|
||||
void getValueRange(int, double& minval, double& maxval)
|
||||
{
|
||||
// 0: FP32 -> FP16
|
||||
// 1: FP16 -> FP32
|
||||
// 0: FP32 -> FP16 -> FP32
|
||||
// 1: FP16 -> FP32 -> FP16
|
||||
if( (nextRange & 1) == 0 )
|
||||
{
|
||||
// largest integer number that fp16 can express
|
||||
maxval = 65504.f;
|
||||
// largest integer number that fp16 can express exactly
|
||||
maxval = 2048.f;
|
||||
minval = -maxval;
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user