1 /** 2 * 3 * File Name: omxVCM4P10_InterpolateChroma.c 4 * OpenMAX DL: v1.0.2 5 * Revision: 9641 6 * Date: Thursday, February 7, 2008 7 * 8 * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. 9 * 10 * 11 * Description: 12 * This function will calculate 1/8 Pixel interpolation for Chroma Block 13 * 14 */ 15 16 #include "omxtypes.h" 17 #include "armOMX.h" 18 #include "omxVC.h" 19 20 #include "armVC.h" 21 #include "armCOMM.h" 22 23 24 /** 25 * Function: omxVCM4P10_InterpolateChroma, 26 * 27 * Description: 28 * Performs 1/8-pixel interpolation for inter chroma MB. 29 * 30 * Remarks: 31 * 32 * Parameters: 33 * [in] pSrc Pointer to the source reference frame buffer 34 * [in] srcStep Reference frame step in byte 35 * [in] dstStep Destination frame step in byte. Must be multiple of roi.width. 36 * [in] dx Fractional part of horizontal motion vector component 37 * in 1/8 pixel unit;valid in the range [0,7] 38 * [in] dy Fractional part of vertical motion vector component 39 * in 1/8 pixel unit;valid in the range [0,7] 40 * [in] roi Dimension of the interpolation region;the parameters roi.width and roi.height must 41 * be equal to either 2, 4, or 8. 42 * [out] pDst Pointer to the destination frame buffer. 43 * if roi.width==2, 2-byte alignment required 44 * if roi.width==4, 4-byte alignment required 45 * if roi.width==8, 8-byte alignment required 46 * 47 * Return Value: 48 * If the function runs without error, it returns OMX_Sts_NoErr. 49 * If one of the following cases occurs, the function returns OMX_Sts_BadArgErr: 50 * pSrc or pDst is NULL. 51 * srcStep or dstStep < 8. 52 * dx or dy is out of range [0-7]. 53 * roi.width or roi.height is out of range {2,4,8}. 54 * roi.width is equal to 2, but pDst is not 2-byte aligned. 55 * roi.width is equal to 4, but pDst is not 4-byte aligned. 56 * roi.width is equal to 8, but pDst is not 8 byte aligned. 57 * srcStep or dstStep is not a multiple of 8. 58 * 59 */ 60 61 OMXResult omxVCM4P10_InterpolateChroma ( 62 const OMX_U8* pSrc, 63 OMX_S32 srcStep, 64 OMX_U8* pDst, 65 OMX_S32 dstStep, 66 OMX_S32 dx, 67 OMX_S32 dy, 68 OMXSize roi 69 ) 70 { 71 return armVCM4P10_Interpolate_Chroma 72 ((OMX_U8*)pSrc, srcStep, pDst, dstStep, roi.width, roi.height, dx, dy); 73 } 74 75 76 /***************************************************************************** 77 * END OF FILE 78 *****************************************************************************/ 79 80