armvcm4p2_setpreddir.c
来自「The OpenMAX DL (Development Layer) APIs 」· C语言 代码 · 共 90 行
C
90 行
/** * * File Name: armVCM4P2_SetPredDir.c * OpenMAX DL: v1.0.2 * Revision: 10586 * Date: Wednesday, March 5, 2008 * * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. * * * * Description: * Contains module for detecting the prediction direction * */ #include "omxtypes.h"#include "armOMX.h"#include "armVC.h"#include "armCOMM.h"/** * Function: armVCM4P2_SetPredDir * * Description: * Performs detecting the prediction direction * * Remarks: * * Parameters: * [in] blockIndex block index indicating the component type and * position as defined in subclause 6.1.3.8, of ISO/IEC * 14496-2. Furthermore, indexes 6 to 9 indicate the * alpha blocks spatially corresponding to luminance * blocks 0 to 3 in the same macroblock. * [in] pCoefBufRow pointer to the coefficient row buffer * [in] pQpBuf pointer to the quantization parameter buffer * [out] predQP quantization parameter of the predictor block * [out] predDir indicates the prediction direction which takes one * of the following values: * OMX_VC_HORIZONTAL predict horizontally * OMX_VC_VERTICAL predict vertically * * Return Value: * Standard OMXResult result. See enumeration for possible result codes. * */OMXResult armVCM4P2_SetPredDir( OMX_INT blockIndex, OMX_S16 *pCoefBufRow, OMX_S16 *pCoefBufCol, OMX_INT *predDir, OMX_INT *predQP, const OMX_U8 *pQpBuf){ OMX_U8 blockDCLeft; OMX_U8 blockDCTop; OMX_U8 blockDCTopLeft; if (blockIndex == 3) { blockDCTop = *(pCoefBufCol - 8); } else { blockDCTop = *pCoefBufRow; } blockDCLeft = *pCoefBufCol; blockDCTopLeft = *(pCoefBufRow - 8); if (armAbs(blockDCLeft - blockDCTopLeft) < armAbs(blockDCTopLeft \ - blockDCTop)) { *predDir = OMX_VC_VERTICAL; *predQP = pQpBuf[1]; } else { *predDir = OMX_VC_HORIZONTAL; *predQP = pQpBuf[0]; } return OMX_Sts_NoErr;}/*End of File*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?