Community
cancel
Showing results for 
Search instead for 
Did you mean: 
ANNA_K_
Beginner
23 Views

hppiInitAllocLoGKernel, hppiInitAllocDoGKernel from IPP-A February Preview

I have some problems with hppiInitAllocLoG/DoGKernel functions after updating IPP-A library. Now I use February preview, Win7 64-bit. And the next tests are failed.

TEST(InitKernelTest, LoG)
{
   hppAccel accel;
   hppCreateInstance(HPP_ACCEL_TYPE_ANY, 0, &accel);
   hppiKernel kernel;
   hppStatus status = hppiInitAllocLoGkernel(accel, 3, 1, 1, &kernel);
   EXPECT_EQ(HPP_STATUS_NO_ERROR, status);
   status = hppWait(accel, HPP_TIME_OUT_INFINITE);
   EXPECT_EQ(HPP_STATUS_NO_ERROR, status);
   hppDeleteInstance(accel);
}
 
TEST(InitKernelTest, DoG)
{
   hppAccel accel;
   hppCreateInstance(HPP_ACCEL_TYPE_ANY, 0, &accel);
   hppiKernel kernel;
   hppStatus status = hppiInitAllocDoGkernel(accel, 3, 1, 2, 1, &kernel);
   EXPECT_EQ(HPP_STATUS_NO_ERROR, status);
   status = hppWait(accel, HPP_TIME_OUT_INFINITE);
   EXPECT_EQ(HPP_STATUS_NO_ERROR, status);
   hppDeleteInstance(accel);
}

 

In the first test hppWait returns wrong status, for example  -2147483648. If I use hppiInitAllocLoGKernel before hppiFilterLinear in my code, than hppiFilterLinear returns HPP_STATUS_PARAM_UNSUPPORTED. The second test is crashed with "SEH exception with code 0xc0000005 thrown in the test body"

0 Kudos
2 Replies
ANNA_K_
Beginner
23 Views

Sometimes hppiFilterLinear returns HPP_STATUS_HANDLE_INVALID if I use LoG kernel. I'm sure that the source and destination matrices are correct.

Dmitry_Z_Intel
Employee
23 Views

Unfortunately, we were not able to reproduce the issue so far. In your tests, the problem happens only for the sigma and factor values listed above or for any values? Can you provide a standalone code without using externally defined macros that demonstrates the problem? The project with main() function consisting of the following code executes successfully:

int main(int argc, char* argv[])
{

    hppAccel accel;
    hppCreateInstance(HPP_ACCEL_TYPE_ANY, 0, &accel);
    hppiKernel kernel;
    hppStatus status = hppiInitAllocDoGkernel(accel, 3, 1, 2, 1, &kernel);
    if(status != HPP_STATUS_NO_ERROR)
    {
        printf("Fail hppiInitAllocLoGkernel %d\n", status);
        return -1;
    }
    status = hppWait(accel, HPP_TIME_OUT_INFINITE);
    if(status != HPP_STATUS_NO_ERROR)
    {
        printf("Fail Wait %d\n", status);
        return -1;
    }
    hppDeleteInstance(accel);
    printf("SUCCESS\n");
    return 0;

}