📄 armvc.h
字号:
* * Parameters: * [in] ppSrc Double pointer to residual coefficient-position pair * buffer output by CALVC decoding * [out] ppSrc *ppSrc is updated to the start of next non empty block * [out] pDst Pointer to unpacked 4x4 block */void armVCM4P10_UnpackBlock4x4( const OMX_U8 **ppSrc, OMX_S16* pDst);/* * Description * Unpack a 2x2 block of coefficient-residual pair values * * Parameters: * [in] ppSrc Double pointer to residual coefficient-position pair * buffer output by CALVC decoding * [out] ppSrc *ppSrc is updated to the start of next non empty block * [out] pDst Pointer to unpacked 4x4 block */void armVCM4P10_UnpackBlock2x2( const OMX_U8 **ppSrc, OMX_S16* pDst);/* * Description * Deblock one boundary pixel * * Parameters: * [in] pQ0 Pointer to pixel q0 * [in] Step Step between pixels q0 and q1 * [in] tC0 Edge threshold value * [in] alpha alpha threshold value * [in] beta beta threshold value * [in] bS deblocking strength * [in] ChromaFlag True for chroma blocks * [out] pQ0 Deblocked pixels * */void armVCM4P10_DeBlockPixel( OMX_U8 *pQ0, /* pointer to the pixel q0 */ int Step, /* step between pixels q0 and q1 */ int tC0, /* edge threshold value */ int alpha, /* alpha */ int beta, /* beta */ int bS, /* deblocking strength */ int ChromaFlag);/** * Function: armVCM4P10_InterpolateHalfHor_Luma * * Description: * This function performs interpolation for horizontal 1/2-pel positions * * Remarks: * * [in] pSrc Pointer to top-left corner of block used to interpolate in the reconstructed frame plane * [in] iSrcStep Step of the source buffer. * [in] iDstStep Step of the destination(interpolation) buffer. * [in] iWidth Width of the current block * [in] iHeight Height of the current block * [out] pDst Pointer to the interpolation buffer of the 1/2-pel * * Return Value: * Standard OMXResult value. * */OMXResult armVCM4P10_InterpolateHalfHor_Luma( const OMX_U8* pSrc, OMX_U32 iSrcStep, OMX_U8* pDst, OMX_U32 iDstStep, OMX_U32 iWidth, OMX_U32 iHeight);/** * Function: armVCM4P10_InterpolateHalfVer_Luma * * Description: * This function performs interpolation for vertical 1/2-pel positions * around a full-pel position. * * Remarks: * * [in] pSrc Pointer to top-left corner of block used to interpolate * in the reconstructed frame plane * [in] iSrcStep Step of the source buffer. * [in] iDstStep Step of the destination(interpolation) buffer. * [in] iWidth Width of the current block * [in] iHeight Height of the current block * [out] pDst Pointer to the interpolation buffer of the 1/2-pel * * Return Value: * Standard OMXResult value. * */OMXResult armVCM4P10_InterpolateHalfVer_Luma( const OMX_U8* pSrc, OMX_U32 iSrcStep, OMX_U8* pDst, OMX_U32 iDstStep, OMX_U32 iWidth, OMX_U32 iHeight);/** * Function: armVCM4P10_InterpolateHalfDiag_Luma * * Description: * This function performs interpolation for (1/2, 1/2) positions * around a full-pel position. * * Remarks: * * [in] pSrc Pointer to top-left corner of block used to interpolate * in the reconstructed frame plane * [in] iSrcStep Step of the source buffer. * [in] iDstStep Step of the destination(interpolation) buffer. * [in] iWidth Width of the current block * [in] iHeight Height of the current block * [out] pDst Pointer to the interpolation buffer of the (1/2,1/2)-pel * * Return Value: * Standard OMXResult value. * */OMXResult armVCM4P10_InterpolateHalfDiag_Luma( const OMX_U8* pSrc, OMX_U32 iSrcStep, OMX_U8* pDst, OMX_U32 iDstStep, OMX_U32 iWidth, OMX_U32 iHeight);/* * Description: * Transform Residual 4x4 Coefficients * * Parameters: * [in] pSrc Source 4x4 block * [out] pDst Destination 4x4 block * */void armVCM4P10_TransformResidual4x4(OMX_S16* pDst, OMX_S16 *pSrc);/* * Description: * Forward Transform Residual 4x4 Coefficients * * Parameters: * [in] pSrc Source 4x4 block * [out] pDst Destination 4x4 block * */void armVCM4P10_FwdTransformResidual4x4(OMX_S16* pDst, OMX_S16 *pSrc);OMX_INT armVCM4P10_CompareMotionCostToMV ( OMX_S16 mvX, OMX_S16 mvY, OMXVCMotionVector diffMV, OMX_INT candSAD, OMXVCMotionVector *bestMV, OMX_U32 nLamda, OMX_S32 *pBestCost);/** * Function: armVCCOMM_SAD * * Description: * This function calculate the SAD for NxM blocks. * * Remarks: * * [in] pSrcOrg Pointer to the original block * [in] iStepOrg Step of the original block buffer * [in] pSrcRef Pointer to the reference block * [in] iStepRef Step of the reference block buffer * [in] iHeight Height of the block * [in] iWidth Width of the block * [out] pDstSAD Pointer of result SAD * * Return Value: * Standard OMXResult value. * */OMXResult armVCCOMM_SAD( const OMX_U8* pSrcOrg, OMX_U32 iStepOrg, const OMX_U8* pSrcRef, OMX_U32 iStepRef, OMX_S32* pDstSAD, OMX_U32 iHeight, OMX_U32 iWidth);/** * Function: armVCCOMM_Average * * Description: * This function calculates the average of two blocks and stores the result. * * Remarks: * * [in] pPred0 Pointer to the top-left corner of reference block 0 * [in] pPred1 Pointer to the top-left corner of reference block 1 * [in] iPredStep0 Step of reference block 0 * [in] iPredStep1 Step of reference block 1 * [in] iDstStep Step of the destination buffer * [in] iWidth Width of the blocks * [in] iHeight Height of the blocks * [out] pDstPred Pointer to the destination buffer * * Return Value: * Standard OMXResult value. * */ OMXResult armVCCOMM_Average ( const OMX_U8* pPred0, const OMX_U8* pPred1, OMX_U32 iPredStep0, OMX_U32 iPredStep1, OMX_U8* pDstPred, OMX_U32 iDstStep, OMX_U32 iWidth, OMX_U32 iHeight);/** * Function: armVCM4P10_SADQuar * * Description: * This function calculates the SAD between one block (pSrc) and the * average of the other two (pSrcRef0 and pSrcRef1) * * Remarks: * * [in] pSrc Pointer to the original block * [in] pSrcRef0 Pointer to reference block 0 * [in] pSrcRef1 Pointer to reference block 1 * [in] iSrcStep Step of the original block buffer * [in] iRefStep0 Step of reference block 0 * [in] iRefStep1 Step of reference block 1 * [in] iHeight Height of the block * [in] iWidth Width of the block * [out] pDstSAD Pointer of result SAD * * Return Value: * Standard OMXResult value. * */OMXResult armVCM4P10_SADQuar( const OMX_U8* pSrc, const OMX_U8* pSrcRef0, const OMX_U8* pSrcRef1, OMX_U32 iSrcStep, OMX_U32 iRefStep0, OMX_U32 iRefStep1, OMX_U32* pDstSAD, OMX_U32 iHeight, OMX_U32 iWidth);/** * Function: armVCM4P10_Interpolate_Chroma * * Description: * This function performs interpolation for chroma components. * * Remarks: * * [in] pSrc Pointer to top-left corner of block used to * interpolate in the reconstructed frame plane * [in] iSrcStep Step of the source buffer. * [in] iDstStep Step of the destination(interpolation) buffer. * [in] iWidth Width of the current block * [in] iHeight Height of the current block * [in] dx Fractional part of horizontal motion vector * component in 1/8 pixel unit (0~7) * [in] dy Fractional part of vertical motion vector * component in 1/8 pixel unit (0~7) * [out] pDst Pointer to the interpolation buffer * * Return Value: * Standard OMXResult value. * */ OMXResult armVCM4P10_Interpolate_Chroma( OMX_U8 *pSrc, OMX_U32 iSrcStep, OMX_U8 *pDst, OMX_U32 iDstStep, OMX_U32 iWidth, OMX_U32 iHeight, OMX_U32 dx, OMX_U32 dy);/** * Function: armVCM4P10_Interpolate_Luma * * Description: * This function performs interpolation for luma components. * * Remarks: * * [in] pSrc Pointer to top-left corner of block used to * interpolate in the reconstructed frame plane * [in] iSrcStep Step of the source buffer. * [in] iDstStep Step of the destination(interpolation) buffer. * [in] iWidth Width of the current block * [in] iHeight Height of the current block * [in] dx Fractional part of horizontal motion vector * component in 1/4 pixel unit (0~3) * [in] dy Fractional part of vertical motion vector * component in 1/4 pixel unit (0~3) * [out] pDst Pointer to the interpolation buffer * * Return Value: * Standard OMXResult value. * */ OMXResult armVCM4P10_Interpolate_Luma( const OMX_U8 *pSrc, OMX_U32 iSrcStep, OMX_U8 *pDst, OMX_U32 iDstStep, OMX_U32 iWidth, OMX_U32 iHeight, OMX_U32 dx, OMX_U32 dy);/** * Function: omxVCH264_DequantTransformACFromPair_U8_S16_C1_DLx * * Description: * Reconstruct the 4x4 residual block from coefficient-position pair buffer, * perform dequantisation and integer inverse transformation for 4x4 block of * residuals and update the pair buffer pointer to next non-empty block. * * Remarks: * * Parameters: * [in] ppSrc Double pointer to residual coefficient-position * pair buffer output by CALVC decoding * [in] pDC Pointer to the DC coefficient of this block, NULL * if it doesn't exist * [in] QP Quantization parameter * [in] AC Flag indicating if at least one non-zero coefficient exists * [out] pDst pointer to the reconstructed 4x4 block data * * Return Value: * Standard omxError result. See enumeration for possible result codes. * */OMXResult armVCM4P10_DequantTransformACFromPair_U8_S16_C1_DLx( OMX_U8 **ppSrc, OMX_S16 *pDst, OMX_INT QP, OMX_S16* pDC, int AC);#endif /*_armVideo_H_*//*End of File*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -