cc [ flag... ] file... lmlib [ library... ] #include <mlib.h> mlib_status mlib_VideoIDCT8x8_S16_S16_B12( mlib_s16 block[64], const mlib_s16 coeffs[64]);
mlib_status mlib_VideoIDCT8x8_S16_S16( mlib_s16 block[64], const mlib_s16 coeffs[64]);
The mlib_VideoIDCT8x8_S16_S16_B12() function computes the inverse DCT (called IDCT) for the output IDCT block of data type mlib_s16 and input DCT coefficients of data type mlib_s16. This function is not guaranteed to be IEEE1180compliant. The output of the IDCT routine should be within the range of [2048, 2047] if coeffs is obtained from the corresponding forward DCT function mlib_VideoDCT8x8_S16_S16_B12().
The source and destination buffer addresses must be 8byte aligned.
This function can be used in JPEG with 12bit precision.
For MPEG, the output, which is really the difference between the current block and the reference block, can occupy nine bits and is represented as a 16bit datum. The output must be added to the motioncompensated reference block in order to reconstruct the current block.
Since mediaLib 2.5, mlib_VideoIDCT8x8_S16_S16() has been renamed to mlib_VideoIDCT8x8_S16_S16_B12(). Now mlib_VideoIDCT8x8_S16_S16() is an alias of mlib_VideoIDCT8x8_S16_S16_B12().
The function takes the following arguments:
block
coeffs
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:

mlib_VideoIDCT_IEEE_S16_S16(3MLIB), mlib_VideoIDCT8x8_S16_S16_B12_NA(3MLIB), mlib_VideoIDCT8x8_S16_S16_DC(3MLIB), mlib_VideoIDCT8x8_S16_S16_Q1(3MLIB), mlib_VideoIDCT8x8_S16_S16_Q1_Mismatch(3MLIB), mlib_VideoIDCT8x8_U8_S16(3MLIB), mlib_VideoIDCT8x8_U8_S16_DC(3MLIB), mlib_VideoIDCT8x8_U8_S16_NA(3MLIB), mlib_VideoIDCT8x8_U8_S16_Q1(3MLIB), attributes(5)