⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 omxvcm4p10_interpolatehalfhor_luma.c

📁 The OpenMAX DL (Development Layer) APIs contain a comprehensive set of audio, video, signal processi
💻 C
字号:
/** *  * File Name:  omxVCM4P10_InterpolateHalfHor_Luma.c * OpenMAX DL: v1.0.2 * Revision:   10586 * Date:       Wednesday, March 5, 2008 *  * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. *  *  * Description: * This function will calculate Half horizontal luma interpolation *  */#include "omxtypes.h"#include "armOMX.h"#include "omxVC.h"#include "armCOMM.h"#include "armVC.h"/** * Function:  omxVCM4P10_InterpolateHalfHor_Luma   (6.3.5.5.1) * * Description: * This function performs interpolation for two horizontal 1/2-pel positions  * (-1/2,0) and (1/2, 0) - around a full-pel position.  * * Input Arguments: *    *   pSrc - Pointer to the top-left corner of the block used to interpolate in  *            the reconstruction frame plane.  *   iSrcStep - Step of the source buffer.  *   iDstStep - Step of the destination(interpolation) buffer; must be a  *            multiple of iWidth.  *   iWidth - Width of the current block; must be equal to either 4, 8, or 16  *   iHeight - Height of the current block; must be equal to 4, 8, or 16  * * Output Arguments: *    *   pDstLeft -Pointer to the interpolation buffer of the left -pel position  *            (-1/2, 0)  *                 If iWidth==4,  4-byte alignment required.  *                 If iWidth==8,  8-byte alignment required.  *                 If iWidth==16, 16-byte alignment required.  *   pDstRight -Pointer to the interpolation buffer of the right -pel  *            position (1/2, 0)  *                 If iWidth==4,  4-byte alignment required.  *                 If iWidth==8,  8-byte alignment required.  *                 If iWidth==16, 16-byte alignment required.  * * Return Value: *     *    OMX_Sts_NoErr - no error  *    OMX_Sts_BadArgErr - bad arguments; returned if any of the following  *              conditions are true:  *    -    at least one of the following pointers is NULL:  *             pSrc, pDstLeft, or pDstRight  *    -    iWidth or iHeight have values other than 4, 8, or 16  *    -    iWidth==4 but pDstLeft and/or pDstRight is/are not aligned on a 4-byte boundary  *    -    iWidth==8 but pDstLeft and/or pDstRight is/are not aligned on a 8-byte boundary  *    -    iWidth==16 but pDstLeft and/or pDstRight is/are not aligned on a 16-byte boundary  *    -    any alignment restrictions are violated  * */OMXResult omxVCM4P10_InterpolateHalfHor_Luma(        const OMX_U8*     pSrc,         OMX_U32     iSrcStep,         OMX_U8*     pDstLeft,         OMX_U8*     pDstRight,         OMX_U32     iDstStep,         OMX_U32     iWidth,         OMX_U32     iHeight){    OMXResult   RetValue;        /* check for argument error */    armRetArgErrIf(pSrc == NULL, OMX_Sts_BadArgErr)    armRetArgErrIf(pDstLeft == NULL, OMX_Sts_BadArgErr)    armRetArgErrIf(pDstRight == NULL, OMX_Sts_BadArgErr)    armRetArgErrIf((iWidth == 4) &&                    armNot4ByteAligned(pDstLeft) &&                   armNot4ByteAligned(pDstRight), OMX_Sts_BadArgErr)    armRetArgErrIf((iWidth == 8) &&                    armNot8ByteAligned(pDstLeft) &&                   armNot8ByteAligned(pDstRight), OMX_Sts_BadArgErr)    armRetArgErrIf((iWidth == 16) &&                    armNot16ByteAligned(pDstLeft) &&                   armNot16ByteAligned(pDstRight), OMX_Sts_BadArgErr)    armRetArgErrIf((iHeight != 16) && (iHeight != 8)&& (iHeight != 4), OMX_Sts_BadArgErr)	armRetArgErrIf((iWidth != 16) && (iWidth != 8)&& (iWidth != 4), OMX_Sts_BadArgErr)    RetValue = armVCM4P10_InterpolateHalfHor_Luma (        pSrc - 1,             iSrcStep,         pDstLeft,             iDstStep,         iWidth,           iHeight);    if (RetValue != OMX_Sts_NoErr)    {        return RetValue;    }    RetValue = armVCM4P10_InterpolateHalfHor_Luma (        pSrc,             iSrcStep,         pDstRight,             iDstStep,         iWidth,           iHeight);    return RetValue;}/***************************************************************************** *                              END OF FILE *****************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -