cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_VideoIDCT8x8_S16_S16_Q1_Mismatch( mlib_s16 block[64], const mlib_s16 coeffs[64]);
The mlib_VideoIDCT8x8_S16_S16_Q1_Mismatch() function computes the inverse IDCT in the inter mode.
This function is similar to mlib_VideoIDCT8x8_S16_S16_Q1() which should only be used when coeffs[u][v] (u,v = 0...7) are non-zero only for u and v less then 4. However, this function also allows element coeffs[7][7] to be non-zero. The primary benefit of this modification is that it can handle situations where coeffs[7][7] has been made non-zero by MPEG mismatch-control, allowing a simplified version of the IDCT to be undertaken for a much larger number of situations.
The function takes the following arguments:
Pointer to an 8x8 motion-compensated block which is the difference between the reference block and current block. block must be 8-byte aligned.
Pointer to the input DCT coefficients. coeffs must be 8-byte aligned. coeffs should be in S12 range or it should be obtained from the corresponding forward DCT.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|