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

📄 dreslevel.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 __DRESLEVEL_H__#define __DRESLEVEL_H__#include "dsubband.h"#include "quant.h"#include "sbtree.h"class DResLevelLxLy : public DSubband {public:    DResLevelLxLy() {}    void Init(        const ImageCore32sC1 &LxLy,        const Rect           &cmpRect,        const RectSize       &precStepOrder,        const RectSize       &cbStepOrder,        const CBCodingStyle  &codingStyle,        unsigned int          nOfLayers,        unsigned int          nOfWTLevels,        unsigned int          cmpGuardBits,        unsigned int          bitDepth,        int                   quantExpLxLy)    {        Init(            LxLy,            ippWTSubbandLxLy,            ScaleR(cmpRect, 0, NOfResLevels(nOfWTLevels)),            precStepOrder,            cbStepOrder,            codingStyle,            nOfLayers,            nOfWTLevels,            cmpGuardBits,            bitDepth,            quantExpLxLy);    }protected:    // only to protect base class public initialization function    void Init(        const ImageCore32sC1 &subband,        IppiWTSubband         type,        const Rect           &rect,        const RectSize       &precStepOrder,        const RectSize       &cbStepOrder,        const CBCodingStyle  &codingStyle,        unsigned int          nOfLayers,        unsigned int          nOfWTLevels,        unsigned int          cmpGuardBits,        unsigned int          bitDepth,        int                   quantExp)    {        DSubband::Init(subband, type, rect, precStepOrder, cbStepOrder,            codingStyle, nOfLayers, nOfWTLevels, cmpGuardBits, bitDepth, quantExp);    }};class DResLevelTriplet {public:    DResLevelTriplet() {}    void Init(        const SBTriplet<Ipp32s> &sbTriplet,        const Rect              &cmpRect,        const RectSize          &precStepOrder,        const RectSize          &cbStepOrder,        const CBCodingStyle     &codingStyle,        unsigned int             nOfLayers,        unsigned int             resLevel,        unsigned int             nOfWTLevels,        unsigned int             cmpGuardBits,        unsigned int             bitDepth,        int                      quantExpHxLy,        int                      quantExpLxHy,        int                      quantExpHxHy)    {        Rect         rectR       = ScaleR(cmpRect, resLevel, NOfResLevels(nOfWTLevels));        RectSize actualStepOrder = precStepOrder;        m_HxLy.Init(sbTriplet.HxLy(), ippWTSubbandHxLy, rectR, actualStepOrder, cbStepOrder, codingStyle, nOfLayers, nOfWTLevels, cmpGuardBits, bitDepth, quantExpHxLy);        m_LxHy.Init(sbTriplet.LxHy(), ippWTSubbandLxHy, rectR, actualStepOrder, cbStepOrder, codingStyle, nOfLayers, nOfWTLevels, cmpGuardBits, bitDepth, quantExpLxHy);        m_HxHy.Init(sbTriplet.HxHy(), ippWTSubbandHxHy, rectR, actualStepOrder, cbStepOrder, codingStyle, nOfLayers, nOfWTLevels, cmpGuardBits, bitDepth, quantExpHxHy);    }    template<class ByteInput>        void ReadPacketHeader(const Point &precinct, unsigned int layer, PHBitIn<ByteInput> &phBitIn)    {        m_HxLy.ReadPacketHeader(precinct, layer, phBitIn);        m_LxHy.ReadPacketHeader(precinct, layer, phBitIn);        m_HxHy.ReadPacketHeader(precinct, layer, phBitIn);    }    template<class ByteInput>        void ReadPacketBody(const Point &precinct, unsigned int layer, ByteInput &packetBody)    {        m_HxLy.ReadPacketBody(precinct, layer, packetBody);        m_LxHy.ReadPacketBody(precinct, layer, packetBody);        m_HxHy.ReadPacketBody(precinct, layer, packetBody);    }    bool IsEmpty() { return m_HxLy.IsEmpty() && m_LxHy.IsEmpty() && m_HxHy.IsEmpty(); }protected:    DSubband m_HxLy;    DSubband m_LxHy;    DSubband m_HxHy;};#endif // __DRESLEVEL_H__

⌨️ 快捷键说明

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