Community
cancel
Showing results for 
Search instead for 
Did you mean: 
jigong
Beginner
119 Views

Max image size for ippiCopy_8u_AC4C3R

I used ippiCopy_8u_AC4C3R to convert RGBA to RGB. When image resolution is set to 2048x2160, my app stops at ippiCopy_8u_AC4C3R to pop up a memory exception. But my app works with 3840x1080 resolution (which is less than 2048x2160). What is maximum image resolution whichippiCopy_8u_AC4C3R can work?
Thanks
Jiuxiang
0 Kudos
7 Replies
SergeyKostrov
Valued Contributor II
119 Views

Quoting jiuxiang
...What is maximum image resolution whichippiCopy_8u_AC4C3R can work?

If IPP function 'ippiMalloc_*' is used to allocate the memory a maximum size of an 8-bit imagecould be34207 x 34207.

If aCRT function 'malloc' is used to allocate the memory a maximum size of an 8-bit imagecould be34208 x 34208.

In both cases it was tested in a Release configuration of some project on a 32-bit Windows XP.

I have two questions:

What is your IPP version?
What is your operating system, that is a 32-bit or 64-bit?

Best regards,
Sergey
jigong
Beginner
119 Views

Hi Sergey,
My IPP version is 7.0 and OS is 64-bit. Whichever malloc method I used, the resolution I tested is much smaller than its max size.
Thanks for your reply.
Jiuxiang
SergeyKostrov
Valued Contributor II
119 Views

Quoting jiuxiang
Hi Sergey,
My IPP version is 7.0 and OS is 64-bit. Whichever malloc method I used, the resolution I tested is much smaller than its max size.
Thanks for your reply.
Jiuxiang


Hi Jiuxiang,

Thanks for the information. I'll preparetwo test-cases for you:

1. With ippiMalloc & malloc functions
2. Allocation of Maximum amount of memory for an Operating system.

Also, it would be nice to see a small example how you use IPP functions. Would you be able to provide it?

Best regards,
Sergey

SergeyKostrov
Valued Contributor II
119 Views

...I'll preparetwo test-cases for you:

1. With ippiMalloc & malloc functions...


Please use a test-case as a prototype for your tests:

[cpp] // Sub-Test 06 - Tests for 'ippiMalloc_8u_C1' and 'CrtMalloc' functions { ///* CrtPrintf( RTU("Sub-Test 06n") ); // ippiMalloc_8u_C1: Max Image size = 34207 x 34207 // CrtMalloc : Max Image size = 34208 x 34208 Ipp8u *pSrcImage = RTnull; Ipp8u *pDstImage = RTnull; while( RTtrue ) { RTint iSrcWidth; RTint iSrcHeight; iSrcWidth = 34207; // For ippiMalloc_8u_C1 function ( ~1.08975GB ) iSrcHeight = 34207; // iSrcWidth = 34208; // For CrtMalloc function ( ~1.08982GB ) // iSrcHeight = 34208; CrtPrintf( RTU("Source Image size: %5ld x %5ldn"), iSrcWidth, iSrcHeight ); RTint iSrcStepBytes = -1; iSrcStepBytes = iSrcWidth; pSrcImage = ( Ipp8u * )::ippiMalloc_8u_C1( iSrcWidth, iSrcHeight, &iSrcStepBytes ); // pSrcImage = ( Ipp8u * )::CrtMalloc( iSrcWidth * iSrcHeight * sizeof( RTuchar ) ); if( pSrcImage == RTnull ) { CrtPrintf( RTU("Memory for Source Image is NOT allocatedn") ); break; } CrtPrintf( RTU("Memory for Source Image is allocatedn") ); IppiSize srcSize = { 0 }; srcSize.width = ( RTint )( iSrcWidth * iSrcHeight ); srcSize.height = 1; // st = ::ippiSet_8u_C1R( 1, pSrcImage, 1, srcSize ); // if( st != ippStsNoErr ) // { // CrtPrintf( RTU("[ ippiSet_8u_C1R ] Failedn") ); // break; // } // CrtPrintf( RTU("[ ippiSet_8u_C1R ] Completedn") ); break; } SysSleep( 2000 ); if( pSrcImage != RTnull ) { ::ippiFree( pSrcImage ); // For ippiMalloc_8u_C1 function // CrtFree( pSrcImage ); // For CrtMalloc function pSrcImage = RTnull; CrtPrintf( RTU("Memory for Source Image deallocatedn") ); } //*/ } [/cpp]
SergeyKostrov
Valued Contributor II
119 Views

Here is a screenshot:

SergeyKostrov
Valued Contributor II
119 Views

...I'll preparetwo test-cases for you:

...
2. Allocation of Maximum amount of memory for an Operating system

AVS2005 project from enclosed zip-archive'MemTestAppV3.zip' allows to test how much memory could be allocated
on a 32-bit or 64-bit Windows OSs. A 'Readme.txt' file has lots of Release Notes.

Please take a look at a post fortest results ona 64-bit Windows OS:

http://software.intel.com/en-us/forums/showpost.php?p=189221[EDITED] Sorry, a wrong one...
http://software.intel.com/en-us/forums/showpost.php?p=189214
SergeyKostrov
Valued Contributor II
119 Views

Quoting jiuxiang
Hi Sergey,
My IPP version is 7.0 and OS is 64-bit. Whichever malloc method I used, the resolution I tested is much smaller than its max size.
Thanks for your reply.
Jiuxiang


This is a follow up: Are there any news? Could you provide a test-case to reproduce the problem?

Reply