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

📄 umc_h264_dec_deblocking.h

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 H
字号:
/*////              INTEL CORPORATION PROPRIETARY INFORMATION//  This software is supplied under the terms of a license  agreement or//  nondisclosure agreement with Intel Corporation and may not be copied//  or disclosed except in  accordance  with the terms of that agreement.//        Copyright (c) 2003-2005 Intel Corporation. All Rights Reserved.////*/#ifndef __UMC_H264_DEC_DEBLOCKING_H#define __UMC_H264_DEC_DEBLOCKING_H// declare proposals to IPP librarynamespace UMC{#if defined(_MSC_VER) && !defined(_WIN32_WCE)#define __align(value) __declspec(align(value))#else // !defined(_MSC_VER)#define __align(value)#endif // defined(_MSC_VER)#define IClip(Min, Max, Val) (((Val) < (Min)) ? (Min) : (((Val) > (Max)) ? (Max) : (Val)))#define SetEdgeStrength(edge, strength) \    *((Ipp32u *) (edge)) = (((((strength) * 256) + strength) * 256 + strength) * 256 + strength)#define CopyEdgeStrength(dst_edge, src_edge) \    *((Ipp32u *) (dst_edge)) = (*((Ipp32u *) (src_edge)))#define CompareEdgeStrength(strength, edge) \    ((((((strength) * 256) + strength) * 256 + strength) * 256 + strength) == *((Ipp32u *) (edge)))// declare used types and constantsenum{    VERTICAL_DEBLOCKING     = 0,    HORIZONTAL_DEBLOCKING   = 1,    NUMBER_OF_DIRECTION     = 2};enum{    CURRENT_BLOCK           = 0,    NEIGHBOUR_BLOCK         = 1};// alpha tableexternIpp8u ALPHA_TABLE[52];// beta tableexternIpp8u BETA_TABLE[52];// clipping tableexternIpp8u CLIP_TAB[52][5];// chroma scaling QP tableexternIpp8u QP_SCALE_CR[52];// masks for external blocks pair "coded bits"externIpp32u EXTERNAL_BLOCK_MASK[NUMBER_OF_DIRECTION][2][4];// masks for internal blocks pair "coded bits"externIpp32u INTERNAL_BLOCKS_MASK[NUMBER_OF_DIRECTION][12];#pragma pack(16)typedef struct H264VideoDecoder::DeblockingParameters{    Ipp8u Strength[NUMBER_OF_DIRECTION][16];                    // (Ipp8u [][]) arrays of deblocking sthrengths    Ipp32u DeblockingFlag[NUMBER_OF_DIRECTION];                 // (Ipp32u []) flags to do deblocking    Ipp32u ExternalEdgeFlag[NUMBER_OF_DIRECTION];               // (Ipp32u []) flags to do deblocking on external edges    Ipp32u nMBAddr;                                             // (Ipp32u) macroblock number    Ipp32u nMaxMVector;                                         // (Ipp32u) maximum vertical motion vector    Ipp32u nNeighbour[NUMBER_OF_DIRECTION];                     // (Ipp32u) neighbour macroblock addres    Ipp32u MBFieldCoded;                                        // (Ipp32u) flag means macroblock is field coded (picture may not)    Ipp32s nAlphaC0Offset;                                      // (Ipp32s) alpha c0 offset    Ipp32s nBetaOffset;                                         // (Ipp32s) beta offset    Ipp8u *pY;                                                  // (Ipp8u *) pointer to Y data    Ipp8u *pU;                                                  // (Ipp8u *) pointer to U data    Ipp8u *pV;                                                  // (Ipp8u *) pointer to V data    Ipp32s pitch;                                               // (Ipp32s) working pitch} DeblockingParameters;typedef struct H264VideoDecoder::DeblockingParametersMBAFF : public DeblockingParameters{    Ipp8u StrengthComplex[16];                                  // (Ipp8u) arrays of deblocking sthrengths    Ipp8u StrengthExtra[16];                                    // (Ipp8u) arrays of deblocking sthrengths    Ipp32u UseComplexVerticalDeblocking;                        // (Ipp32u) flag to do complex deblocking on external vertical edge    Ipp32u ExtraHorizontalEdge;                                 // (Ipp32u) flag to do deblocking on extra horizontal edge    Ipp32u nLeft[2];                                            // (Ipp32u []) left couple macroblock numbers} DeblockingParametersMBAFF;#pragma pack()} // namespace UMC#endif // __UMC_H264_DEC_DEBLOCKING_H

⌨️ 快捷键说明

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