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

📄 omxvcm4p10_meinit.c

📁 The OpenMAX DL (Development Layer) APIs contain a comprehensive set of audio, video, signal processi
💻 C
字号:
/** *  * File Name:  omxVCM4P10_MEInit.c * OpenMAX DL: v1.0.2 * Revision:   10586 * Date:       Wednesday, March 5, 2008 *  * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. *  *  * * Description: * Initialization modules for the vendor specific Motion Estimation structure. *  */ #include "omxtypes.h"#include "armOMX.h"#include "omxVC.h"#include "armVC.h"#include "armCOMM.h"/** * Function:  omxVCM4P10_MEInit   (6.3.5.1.2) * * Description: * Initializes the vendor-specific specification structure required for the  * omxVCM4P10 motion estimation functions:  BlockMatch_Integer and  * MotionEstimationMB. Memory for the specification structure *pMESpec must be  * allocated prior to calling the function, and should be aligned on a 4-byte  * boundary.  The number of bytes required for the specification structure can  * be determined using the function omxVCM4P10_MEGetBufSize. Following  * initialization by this function, the vendor-specific structure *pMESpec  * should contain an implementation-specific representation of all motion  * estimation parameters received via the structure pMEParams, for example   * searchRange16x16, searchRange8x8, etc.  * * Input Arguments: *    *   MEmode - motion estimation mode; available modes are defined by the  *            enumerated type OMXVCM4P10MEMode  *   pMEParams - motion estimation parameters  *   pMESpec - pointer to the uninitialized ME specification structure  * * Output Arguments: *    *   pMESpec - pointer to the initialized ME specification structure  * * Return Value: *    OMX_Sts_NoErr, if the function runs without error. *    OMX_Sts_BadArgErr - bad arguments: if one of the following cases occurs:  *    -    pMEParams or pSize is NULL.  *    -    an invalid value was specified for the parameter MEmode  *    -    a negative or zero value was specified for one of the search ranges  *         (e.g.,  pMBParams >searchRange8x8, pMEParams->searchRange16x16, etc.)  *    -    either in isolation or in combination, one or more of the enables or  *         search ranges in the structure *pMEParams were configured such  *         that the requested behavior fails to comply with [ISO14496-10].  * */OMXResult omxVCM4P10_MEInit(        OMXVCM4P10MEMode MEMode,        const OMXVCM4P10MEParams *pMEParams,        void *pMESpec       ){    ARMVCM4P10_MESpec *armMESpec = (ARMVCM4P10_MESpec *) pMESpec;        armRetArgErrIf(!pMEParams, OMX_Sts_BadArgErr);    armRetArgErrIf(!pMESpec, OMX_Sts_BadArgErr);    armRetArgErrIf((MEMode != OMX_VC_M4P10_FAST_SEARCH) &&                    (MEMode != OMX_VC_M4P10_FULL_SEARCH), OMX_Sts_BadArgErr);    armRetArgErrIf((pMEParams->searchRange16x16 <= 0) ||                    (pMEParams->searchRange8x8 <= 0) ||                    (pMEParams->searchRange4x4 <= 0), OMX_Sts_BadArgErr);        armMESpec->MEParams.blockSplitEnable8x8 = pMEParams->blockSplitEnable8x8;    armMESpec->MEParams.blockSplitEnable4x4 = pMEParams->blockSplitEnable4x4;    armMESpec->MEParams.halfSearchEnable    = pMEParams->halfSearchEnable;    armMESpec->MEParams.quarterSearchEnable = pMEParams->quarterSearchEnable;    armMESpec->MEParams.intraEnable4x4      = pMEParams->intraEnable4x4;         armMESpec->MEParams.searchRange16x16    = pMEParams->searchRange16x16;       armMESpec->MEParams.searchRange8x8      = pMEParams->searchRange8x8;    armMESpec->MEParams.searchRange4x4      = pMEParams->searchRange4x4;    armMESpec->MEMode                       = MEMode;        return OMX_Sts_NoErr;}/* End of file */

⌨️ 快捷键说明

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