Home | History | Annotate | Download | only in src
      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