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

📄 etilecomp.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 __ETILECOMP_H__#define __ETILECOMP_H__#include "ereslevel.h"#include "sbtree.h"#include "quant.h"class ETileComp {public:    ETileComp() {}    void Init(        const Rect &cmpRect,        int cmpDynRange, const QuantComponent &quant,        const int *prXStepOrder, const int *prYStepOrder, /* [nOfWTLevels+1] */        const int *cbXStepOrder, const int *cbYStepOrder,        int nOfWTLevels);    void Encode(CBEncoder &cbEncoder, const SBTree<Ipp32s> &sbTree);    void WeightDistAsWT53();    void WeightDistAsWT97();    void ScaleDist(double factor);    void SetCurPassToFirst();    void CalcRDSlopes();    void RDSlopesMinMax(double &min, double &max) const;    void AssignLayerTillCurPass(int layer, double threshold);    void AssignLayerTillCurPass(int layer);    void StoreEncodingState();    void RestoreEncodingState();    int NOfResLevels() const { return NOfWTLevels() + 1; }    int NOfPrecincts(int resLevel) const;    template<class ByteOutput, class BitOutput>        void WriteToPacket(int resLevel, int precinct, int layer, BitOutput &phBitOut, ByteOutput &packetBody)    {        if(!resLevel) m_LxLy.WriteToPacket(precinct, layer, phBitOut, packetBody);        else        {            int sbDepth = SBDepth(resLevel, NOfWTLevels());            if(sbDepth >= 0)                m_triplets[sbDepth].WriteToPacket(precinct, layer, phBitOut, packetBody);        }    }protected:    EResLevelLxLy                m_LxLy;    FixedArray<EResLevelTriplet> m_triplets;    static const double m_wt53DistWeightsLxLy    [33];    static const double m_wt53DistWeightsLxHyHxLy[33];    static const double m_wt53DistWeightsHxHy    [33];    static const double m_wt97DistWeightsLxLy    [33];    static const double m_wt97DistWeightsLxHyHxLy[33];    static const double m_wt97DistWeightsHxHy    [33];    int NOfWTLevels() const { return m_triplets.Size(); }};#endif // __ETILECOMP_H__

⌨️ 快捷键说明

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