Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Honkanen__Markus
Beginner
112 Views

ippiRGBToLab_32f_C3R does not function in IPP9.0.

Hello,

when we run ippiRGBToLab_32f_C3R fuction for rgb float image, it returns an error code 0xc000000005: read access violation at 0x0, flags=0x0 (first chance). The 8-bit version of the function works properly.

Best regards,

Markus Honkanen

Pixact Ltd

 

0 Kudos
5 Replies
Sergey_P_Intel1
Employee
112 Views

Hello,

Can you send me your code and I'll  study this problem.

Regards,

Sergey 

Honkanen__Markus
Beginner
112 Views

Hello Sergey,

Thank you for the quick response! I made a test code below for you, but it didn't return an error. We will study this issue on Monday. Probably the stride of the test image was somehow wrongly calculated... I'll let you know what we find out!

Best regards,

Markus

--

int main(intr argc, char *argv[])
{
    int step = 14784;
    int height = 1029;
    int width = 1228;
    Ipp32f *src = (Ipp32f*)ippiMalloc_32f_C3(width,height,&step);
    Ipp32f *dst = (Ipp32f*)ippiMalloc_32f_C3(width,height,&step);
    IppiSize roiSize = { width,height };
    IppStatus st = ippiRGBToLab_32f_C3R( src , step , dst , step , roiSize );
    if ( st == ippStsNoErr){
        printf("\n *************  passed ****************\n");
    }else{
        printf("\n *************  failed ****************\t");
    }
}

Sergey_P_Intel1
Employee
112 Views

Sorry for dilay. Each image should has you own step.

int main()

{

int step0 = 14784;

int step1 = 14784;

int height = 1029;

int width = 1228;

Ipp32f *src = (Ipp32f*)ippiMalloc_32f_C3(width, height, &step0);

Ipp32f *dst = (Ipp32f*)ippiMalloc_32f_C3(width, height, &step1);

IppiSize roiSize = { width, height };

IppStatus st = ippiRGBToLab_32f_C3R(src, step0, dst, step1, roiSize);

if (st == ippStsNoErr){

printf("\n ************* passed ****************\n");

}

else{

printf("\n ************* failed ****************\t");

}

}

Honkanen__Markus
Beginner
112 Views

Hello Sergey,

Finally today we returned to this issue. We found out that the ippiRGBToLab_32f_C3R crashes when the input image includes values larger than 1. The function works properly when the pixel values of the Ipp32f input image remain in the range [0 1]. We suggest that instead of crashing, the function could return an error, if the input image included values out of the appropriate range [0 1]. Thank you.
Best regards,
Markus
Pixact Ltd.

Sergey_P_Intel1
Employee
112 Views

Thanks,

I fixed it in trunk.

Reply