omxvcm4p2_meinit.c
来自「The OpenMAX DL (Development Layer) APIs 」· C语言 代码 · 共 85 行
C
85 行
/** * * File Name: omxVCM4P2_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: omxVCM4P2_MEInit (6.2.4.1.2) * * Description: * Initializes the vendor-specific specification structure required for the * following motion estimation functions: BlockMatch_Integer_8x8, * BlockMatch_Integer_16x16, 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. 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 * rndVal, searchRange, etc. The number of bytes required for the * specification structure can be determined using the function * omxVCM4P2_MEGetBufSize. * * Input Arguments: * * MEmode - motion estimation mode; available modes are defined by the * enumerated type OMXVCM4P2MEMode * 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 - no error * OMX_Sts_BadArgErr - one or more of the following is true: * - an invalid value was specified for the parameter MEmode * - a negative or zero value was specified for the * parameter pMEParams->searchRange * */OMXResult omxVCM4P2_MEInit( OMXVCM4P2MEMode MEMode, const OMXVCM4P2MEParams *pMEParams, void *pMESpec ){ ARMVCM4P2_MESpec *armMESpec = (ARMVCM4P2_MESpec *) pMESpec; armRetArgErrIf(!pMEParams, OMX_Sts_BadArgErr); armRetArgErrIf(!pMESpec, OMX_Sts_BadArgErr); armRetArgErrIf((MEMode != OMX_VC_M4P2_FAST_SEARCH) && (MEMode != OMX_VC_M4P2_FULL_SEARCH), OMX_Sts_BadArgErr); armRetArgErrIf(pMEParams->searchRange <= 0, OMX_Sts_BadArgErr); armMESpec->MEParams.searchEnable8x8 = pMEParams->searchEnable8x8; armMESpec->MEParams.halfPelSearchEnable = pMEParams->halfPelSearchEnable; armMESpec->MEParams.searchRange = pMEParams->searchRange; armMESpec->MEParams.rndVal = pMEParams->rndVal; armMESpec->MEMode = MEMode; return OMX_Sts_NoErr;}/* End of file */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?