Max image size for ippiCopy_8u_AC4C3R

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?ThanksJiuxiang

8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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

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

Quoting jiuxiangHi 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

Quoting Sergey Kostrov...I'll preparetwo test-cases for you:

1. With ippiMalloc & malloc functions...

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

	// 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") );

		}

	//*/

	}

Here is a screenshot:

Quoting Sergey Kostrov...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

Attachments: 

AttachmentSize
Downloadapplication/zip MemTestAppV3.zip6.15 KB

Quoting jiuxiangHi 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?

Leave a Comment

Please sign in to add a comment. Not a member? Join today