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 + -
显示快捷键?