- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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}};
{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!~
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page