# about ippiDCT8x8Fwd_16s_C1

## about ippiDCT8x8Fwd_16s_C1

I try to use the Ipp function "ippiDCT8x8Fwd_16s_C1"
to do DCT Transformation
How to pass the argument to the function??
Are there any sample code ??

for ex.
Ipp16s Test[8][8]={{52,55,61,66,70,61,64,73},
{63,59,66,90,109,95,69,72},
{62,59,68,113,144,104,66,73},
{63,58,71,122,154,106,70,69},
{67,61,68,104,126,88,68,70},
{79,65,60,70,77,68,58,75},
{85,71,64,59,55,61,65,83},
{87,79,69,68,65,76,78,94}};
Ipp16s dTest[8][8];

IppStatus st=ippiDCT8x8Fwd_16s_C1((Ipp16s*)Test,(Ipp16s*)dTest);

The above code can be compiled,but in run-time may cause some error!!
Help!~

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

Hi,

seems, you are using this function correctly (if you are talking about IPP for IA). There is simple example which you can found in IPP Manual, ippiman.pdf file (it is for in-place variant of functions but is does not matter):

Example 10-4 Forward DCT of 8x8 Size

IppStatus dct16s( void ) {
Ipp16s x[64] = {0};
IppiSize roi = {8,8};
int i;

for( i=0; i<8; ++i ) {
ippiSet_16s_C1R( (Ipp16s)i, x+8*i+i, 8*sizeof(Ipp16s), roi );
--roi.width;
--roi.height;
}

return ippiDCT8x8Fwd_16s_C1I( x );
}

Note, there can be alignment requirement in IPP for Xscale, please check with IPP for Xscale manual.

Regards,
Vladimir

Message Edited by vdudnik on 01-12-2006 01:27 PM