omxVCM4P10_InterpolateChroma.c revision 0c1bc742181ded4930842b46e9507372f0b1b963
1/**
2 *
3 * File Name:  omxVCM4P10_InterpolateChroma.c
4 * OpenMAX DL: v1.0.2
5 * Revision:   12290
6 * Date:       Wednesday, April 9, 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
61OMXResult 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