Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

IDCT on IPP

egg126
Beginner
320 Views
What's the Difference of the "ippiDCT8x8Inv_16s_C1" and "ippiDCT8x8Inv_AANTransposed_16s_C1R" ?

And when I use ippiDCT8x8Inv_16s_C1, the output is out of the range of [-256,255].

So what's the range of input and output of ippiDCT8x8Inv_16s_C1, because the IPP result is different with general MPEG2 IDCT. (General MPEG2 IDCT, intput is 12 bits, and output is 9 bits.) And the ippiDCT8x8Inv_AANTransposed_16s_C1R
is different too.

Thanks for your reply.
0 Kudos
1 Reply
Chao_Y_Intel
Moderator
320 Views


Hello,


See thecomments from expert on this question:

ippiDCT8x8Inv_16s_C1 is a good IEEE compliant function. It should be used in most places. The function doesnt saturate output values. The user is responsible to provide correct input data. Actually, randomly generated array of 64 shorts is not valid input for this function.

We used the function for our MPEG2 decoder and it passes all conformances.

The second function is implemented so called fast iDCT algorithm proposed by Arai, Agui, Nakajima in 1988. It provides higher speed of calculation, but lower precision. In some cases it can be used for performance purposes. For example, it can be used when non-reference frame is decoded.

The first function must be suitable for him.

thanks,
Chao

0 Kudos
Reply