- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I've met the problem using ippiDCTInv_8x8_16s_I()/ippiDCTInv_8x8_16s() : it returns incorrect result. My environment is IPP 3.0, Linux on PXA255 processor. The source code and results are below. I checked ippiDCTFwd_8x8_16s_I() works correctly (I compared results with my "C" FwdDCT()). What could be the problem?
short __attribute__ ((__aligned__ (32))) shBlock[64];
short __attribute__ ((__aligned__ (32))) shBlock_orig[64];
short __attribute__ ((__aligned__ (32))) shBlock_orig[64];
/* Prepare (fill) shBlock */
...
/* Save original shBlock */
for(i=0; i<64; i++)
shBlock_orig= shBlock;
for(i=0; i<64; i++)
shBlock_orig= shBlock;
/* Forward DCT (in place) */
ret= ippiDCTFwd_8x8_16s_I( (Ipp16s *) shBlock);
if(ret != ippStsNoErr)
fatal_error(-1 , "IPP error: %d ", ret);
ret= ippiDCTFwd_8x8_16s_I( (Ipp16s *) shBlock);
if(ret != ippStsNoErr)
fatal_error(-1 , "IPP error: %d ", ret);
/* Inverse DCT (in place) */
ret= ippiDCTInv_8x8_16s_I( (Ipp16s *) shBlock);
if(ret != ippStsNoErr)
fatal_error(-1 , "IPP error: %d ", ret);
ret= ippiDCTInv_8x8_16s_I( (Ipp16s *) shBlock);
if(ret != ippStsNoErr)
fatal_error(-1 , "IPP error: %d ", ret);
Link Copied
0 Replies
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