man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2014
 
 

mlib_VideoIDCT8x8_S16_S16(3MLIB)

Name

mlib_VideoIDCT8x8_S16_S16_B12, mlib_VideoIDCT8x8_S16_S16 - inverse Discrete Cosine Transform

Synopsis

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]);

Description

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 IEEE-1180-compliant. 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 8-byte aligned.

This function can be used in JPEG with 12-bit 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 16-bit datum. The output must be added to the motion-compensated 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().

Parameters

The function takes the following arguments:

block

Pointer to an 8x8 block in the current frame or motion-compensated reference block. block must be 8-byte aligned.

coeffs

Pointer to the source DCT coefficients. coeffs must be 8-byte aligned.

Return Values

The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See also

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)