Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mlib_videoh263overlappedmc_s16_u8(3mlib) [opensolaris man page]

mlib_VideoH263OverlappedMC_S16_U8(3MLIB)		    mediaLib Library Functions			  mlib_VideoH263OverlappedMC_S16_U8(3MLIB)

NAME
mlib_VideoH263OverlappedMC_S16_U8 - generates the 8x8 luminance prediction block in the Advanced Prediction Mode for H.263 codec SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_VideoH263OverlappedMC_S16_U8(mlib_s16 mc_block[64], const mlib_u8 *ref_frame, mlib_s32 mch, mlib_s32 mcv, mlib_s32 mah, mlib_s32 mav, mlib_s32 mbh, mlib_s32 mbv, mlib_s32 mlh, mlib_s32 mlv, mlib_s32 mrh, mlib_s32 mrv, mlib_s32 ref_stride); DESCRIPTION
The mlib_VideoH263OverlappedMC_S16_U8() function generates an 8x8 luminance prediction block (motion-compensated block) in the Advanced Prediction Mode for H.263 codec. The reference frame in this function is an interpolated frame. The output of this function must be added to the IDCT output in order to reconstruct the block in the current frame. The following equation is used: for x = 0, 1, 2, 3; y = 0, 1, 2, 3 mc(x, y) = (ref(2x + mch, 2y + mcv)*H0(x, y) + ref(2x + mah, 2y + mav)*H1(x, y) + ref(2x + mlh, 2y + mlv)*H2(x, y)) / 8; for x = 4, 5, 6, 7; y = 0, 1, 2, 3 mc(x, y) = (ref(2x + mch, 2y + mcv)*H0(x, y) + ref(2x + mah, 2y + mav)*H1(x, y) + ref(2x + mrh, 2y + mrv)*H2(x, y)) / 8; for x = 0, 1, 2, 3; y = 4, 5, 6, 7 mc(x, y) = (ref(2x + mch, 2y + mcv)*H0(x, y) + ref(2x + mbh, 2y + mbv)*H1(x, y) + ref(2x + mlh, 2y + mlv)*H2(x, y)) / 8; for x = 4, 5, 6, 7; y = 4, 5, 6, 7 mc(x, y) = (ref(2x + mch, 2y + mcv)*H0(x, y) + ref(2x + mbh, 2y + mbv)*H1(x, y) + ref(2x + mrh, 2y + mrv)*H2(x, y)) / 8; where [ 4 5 5 5 5 5 5 4 ] | 5 5 5 5 5 5 5 5 | | 5 5 6 6 6 6 5 5 | H0 = | 5 5 6 6 6 6 5 5 | | 5 5 6 6 6 6 5 5 | | 5 5 6 6 6 6 5 5 | | 5 5 5 5 5 5 5 5 | [ 4 5 5 5 5 5 5 4 ] [ 2 2 2 2 2 2 2 2 ] | 1 1 2 2 2 2 1 1 | | 1 1 1 1 1 1 1 1 | H1 = | 1 1 1 1 1 1 1 1 | | 1 1 1 1 1 1 1 1 | | 1 1 1 1 1 1 1 1 | | 1 1 2 2 2 2 1 1 | [ 2 2 2 2 2 2 2 2 ] [ 2 1 1 1 1 1 1 2 ] | 2 2 1 1 1 1 2 2 | | 2 2 1 1 1 1 2 2 | H2 = | 2 2 1 1 1 1 2 2 | | 2 2 1 1 1 1 2 2 | | 2 2 1 1 1 1 2 2 | | 2 2 1 1 1 1 2 2 | [ 2 1 1 1 1 1 1 2 ] PARAMETERS
The function takes the following arguments: mc_block Pointer to the motion-compensated block. ref_frame Pointer to the interpolated reference frame. mch Horizontal coordinate of the motion vector for the current block. mcv Vertical coordinate of the motion vector for the current block. mah Horizontal coordinate of the motion vector for the block above the current block. mav Vertical coordinate of the motion vector for the block above the current block. mbh Horizontal coordinate of the motion vector for the block below the current block. mbv Vertical coordinate of the motion vector for the block below the current block. mlh Horizontal coordinate of the motion vector for the block to the left of the current block. mlv Vertical coordinate of the motion vector for the block to the left of the current block. mrh Horizontal coordinate of the motion vector for the block to the right of the current block. mrv Vertical coordinate of the motion vector for the block to the right of the current block. ref_stride Stride, in bytes, between adjacent rows in the interpolated reference frame. 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_VideoAddBlock_U8_S16(3MLIB), mlib_VideoCopyRef_S16_U8(3MLIB), mlib_VideoCopyRef_S16_U8_16x16(3MLIB), mlib_VideoCopy- Ref_U8_U8_16x16(3MLIB), mlib_VideoCopyRefAve_U8_U8_16x16(3MLIB), mlib_VideoH263OverlappedMC_U8_U8(3MLIB), mlib_VideoInter- pAveX_U8_U8(3MLIB), mlib_VideoInterpAveX_U8_U8_16x16(3MLIB), mlib_VideoInterpAveXY_U8_U8(3MLIB), mlib_VideoInterpAveXY_U8_U8_16x16(3MLIB), mlib_VideoInterpAveY_U8_U8(3MLIB), mlib_VideoInterpAveY_U8_U8_16x16(3MLIB), mlib_VideoInterpX_S16_U8(3MLIB), mlib_VideoInt- erpX_S16_U8_16x16(3MLIB), mlib_VideoInterpX_U8_U8(3MLIB), mlib_VideoInterpXY_S16_U8(3MLIB), mlib_VideoInterpXY_S16_U8_16x16(3MLIB), mlib_VideoInterpXY_U8_U8(3MLIB), mlib_VideoInterpXY_U8_U8_16x16(3MLIB), mlib_VideoInterpY_S16_U8(3MLIB), mlib_VideoInt- erpY_S16_U8_16x16(3MLIB), mlib_VideoInterpY_U8_U8(3MLIB), mlib_VideoInterpY_U8_U8_16x16(3MLIB), mlib_VideoP64Decimate_U8_U8(3MLIB), mlib_VideoP64Loop_S16_U8(3MLIB), mlib_VideoP64Loop_U8_U8(3MLIB), attributes(5) SunOS 5.11 2 Mar 2007 mlib_VideoH263OverlappedMC_S16_U8(3MLIB)
Man Page