Query: mlib_videoh263overlappedmc_u8_u8
OS: sunos
Section: 3mlib
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
mlib_VideoH263OverlappedMC_U8_U8(3MLIB) mediaLib Library Functions mlib_VideoH263OverlappedMC_U8_U8(3MLIB)NAMEmlib_VideoH263OverlappedMC_U8_U8 - generates the 8x8 luminance prediction block in the Advanced Prediction Mode for H.263 codecSYNOPSIScc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_VideoH263OverlappedMC_U8_U8(mlib_u8 *curr_block, 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 curr_stride, mlib_s32 ref_stride);DESCRIPTIONThe mlib_VideoH263OverlappedMC_U8_U8() function generates an 8x8 luminance prediction block (motion-compensated block) in the Advanced Pre- diction Mode for H.263 codec. The reference frame in this function is an interpolated frame. The following equation is used: for x = 0, 1, 2, 3; y = 0, 1, 2, 3 curr(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 curr(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 curr(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 curr(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 ]PARAMETERSThe function takes the following arguments: curr_block Pointer to the current 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. curr_stride Stride, in bytes, between adjacent rows in the current frame. ref_stride Stride, in bytes, between adjacent rows in the interpolated reference frame.RETURN VALUESThe function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.ATTRIBUTESSee attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+SEE ALSOmlib_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_S16_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.10 10 Nov 2004 mlib_VideoH263OverlappedMC_U8_U8(3MLIB)