Merge pull request #3060 from akarsakov:ocl_dft_fix
This commit is contained in:
@@ -424,7 +424,7 @@ void fft_radix3_B3(__local float2* smem, __global const float2* twiddles, const
|
|||||||
const int x3 = x2 + t/3;
|
const int x3 = x2 + t/3;
|
||||||
float2 a0, a1, a2, a3, a4, a5, a6, a7, a8;
|
float2 a0, a1, a2, a3, a4, a5, a6, a7, a8;
|
||||||
|
|
||||||
if (x1 < t/2)
|
if (x1 < t/3)
|
||||||
{
|
{
|
||||||
a0 = smem[x1]; a1 = smem[x1+t]; a2 = smem[x1+2*t];
|
a0 = smem[x1]; a1 = smem[x1+t]; a2 = smem[x1+2*t];
|
||||||
a3 = smem[x2]; a4 = smem[x2+t]; a5 = smem[x2+2*t];
|
a3 = smem[x2]; a4 = smem[x2+t]; a5 = smem[x2+2*t];
|
||||||
@@ -433,7 +433,7 @@ void fft_radix3_B3(__local float2* smem, __global const float2* twiddles, const
|
|||||||
|
|
||||||
barrier(CLK_LOCAL_MEM_FENCE);
|
barrier(CLK_LOCAL_MEM_FENCE);
|
||||||
|
|
||||||
if (x1 < t/2)
|
if (x1 < t/3)
|
||||||
{
|
{
|
||||||
butterfly3(a0, a1, a2, smem, twiddles, x1, block_size);
|
butterfly3(a0, a1, a2, smem, twiddles, x1, block_size);
|
||||||
butterfly3(a3, a4, a5, smem, twiddles, x2, block_size);
|
butterfly3(a3, a4, a5, smem, twiddles, x2, block_size);
|
||||||
|
@@ -108,7 +108,7 @@ OCL_TEST_P(Dft, Mat)
|
|||||||
{
|
{
|
||||||
generateTestData();
|
generateTestData();
|
||||||
|
|
||||||
int nonzero_rows = hint ? src.cols - randomInt(1, src.rows-1) : 0;
|
int nonzero_rows = hint ? src.rows - randomInt(1, src.rows-1) : 0;
|
||||||
OCL_OFF(cv::dft(src, dst, dft_flags, nonzero_rows));
|
OCL_OFF(cv::dft(src, dst, dft_flags, nonzero_rows));
|
||||||
OCL_ON(cv::dft(usrc, udst, dft_flags, nonzero_rows));
|
OCL_ON(cv::dft(usrc, udst, dft_flags, nonzero_rows));
|
||||||
|
|
||||||
@@ -175,7 +175,7 @@ OCL_TEST_P(MulSpectrums, Mat)
|
|||||||
|
|
||||||
OCL_INSTANTIATE_TEST_CASE_P(OCL_ImgProc, MulSpectrums, testing::Combine(Bool(), Bool()));
|
OCL_INSTANTIATE_TEST_CASE_P(OCL_ImgProc, MulSpectrums, testing::Combine(Bool(), Bool()));
|
||||||
|
|
||||||
OCL_INSTANTIATE_TEST_CASE_P(Core, Dft, Combine(Values(cv::Size(10, 10), cv::Size(36, 36), cv::Size(512, 1), cv::Size(1280, 768)),
|
OCL_INSTANTIATE_TEST_CASE_P(Core, Dft, Combine(Values(cv::Size(45, 72), cv::Size(36, 36), cv::Size(512, 1), cv::Size(1280, 768)),
|
||||||
Values((OCL_FFT_TYPE) R2C, (OCL_FFT_TYPE) C2C, (OCL_FFT_TYPE) R2R, (OCL_FFT_TYPE) C2R),
|
Values((OCL_FFT_TYPE) R2C, (OCL_FFT_TYPE) C2C, (OCL_FFT_TYPE) R2R, (OCL_FFT_TYPE) C2R),
|
||||||
Bool(), // DFT_INVERSE
|
Bool(), // DFT_INVERSE
|
||||||
Bool(), // DFT_ROWS
|
Bool(), // DFT_ROWS
|
||||||
|
Reference in New Issue
Block a user