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

📄 omxippp_deblock_veredge_u8_i.c

📁 The OpenMAX DL (Development Layer) APIs contain a comprehensive set of audio, video, signal processi
💻 C
字号:
/** *  * File Name:  omxIPPP_Deblock_VerEdge_U8_I.c * OpenMAX DL: v1.0.2 * Revision:   10586 * Date:       Wednesday, March 5, 2008 *  * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. *  *  * * Description: * This file contains module for vertical edge deblock filtering * */#include "omxtypes.h"#include "armOMX.h"#include "omxIP.h"#include "armIP.h"#include "armCOMM.h"/** * Function:  omxIPPP_Deblock_VerEdge_U8_I   (4.3.1.3.2) * * Description: * Performs deblock filtering for a single 8x8 macroblock along a block edge  * (horizontal-top or vertical-left), as shown in the figure (see OpenMAX DL * specification, v1.0.2).  * Block edges are represented in the figure by heavy lines.  The horizontal  * edge deblocking function processes the top edge of the block referenced by  * pSrcDst. The vertical edge deblocking function processes the left edge of  * the block referenced by pSrcDst. For each processed column , the horizontal  * edge deblocking operation modifies two pixels from the source block (pixels  * C,D) and two pixels in the neighboring block (pixels A,B).  For each  * processed row, the vertical edge deblocking operation modifies two pixels  * from the source block (pixels C,D) and two pixels from the neighboring  * block (A,B).  * * Input Arguments: *    *   pSrcDst - pointer to the first pixel of the second block (labeled  block  *            2  in the figure); must be aligned on an 8-byte boundary.  *   step - distance, in bytes; between start of each line; must be a  *            multiple of 8  *   QP - quantization parameter, as described in Section J.3 of Annex J in  *            H.263+; valid in the range 1 to 31.  * * Output Arguments: *    *   pSrcDst - pointer to the first pixel of the second output block (labeled  *             block 2  in the figure below); must be aligned on an 8-byte  *            boundary.  * * Return Value: *     *    OMX_Sts_NoErr - no error  *    OMX_Sts_BadArgErr - bad arguments  *    -    pSrcDst is NULL or not aligned on an 8-byte boundary  *    -    QP exceeds [1,31]  *    -    step is not a multiple of 8 or step is less than 8  * */OMXResult omxIPPP_Deblock_VerEdge_U8_I(	OMX_U8		  *pSrcDst, 	const OMX_INT step, 	const OMX_INT QP){    /* Argument Checking */    armRetArgErrIf( pSrcDst == NULL         , OMX_Sts_BadArgErr);    armRetArgErrIf( (step < 8) || (step & 7), OMX_Sts_BadArgErr);    armRetArgErrIf( (QP < 1)   || (QP > 31) , OMX_Sts_BadArgErr);        armRetArgErrIf( armNotByteAligned(pSrcDst, 8), OMX_Sts_BadArgErr);    /* Processing */    armIPPP_DeblockEdge(pSrcDst, step, QP, 0);    return OMX_Sts_NoErr;}/*End of File*/

⌨️ 快捷键说明

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