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

📄 cbcodingstyle.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 __CBCODINGSTYLE_H__#define __CBCODINGSTYLE_H__#include "pp.h"#include "jp2const.h"class CBCodingStyle {public:    CBCodingStyle() : m_ippFlags(0) {}    CBCodingStyle(const CBCodingStyle &codingStyle)    : m_ippFlags(codingStyle.m_ippFlags)    {}    CBCodingStyle& operator=(const CBCodingStyle& codingStyle)    {        m_ippFlags = codingStyle.m_ippFlags;        return *this;    }    bool IsSelectiveMQBypass()       const { return 0 != (m_ippFlags & IPP_JPEG2K_SELECTIVE_MQ_BYPASS); }    bool IsResetCtxOnEveryPass()     const { return 0 != (m_ippFlags & IPP_JPEG2K_RESETCTX_ON_EVERY_PASS); }    bool IsTerminateOnEveryPass()    const { return 0 != (m_ippFlags & IPP_JPEG2K_TERMINATE_ON_EVERY_PASS); }    bool IsVerticallyCausalContext() const { return 0 != (m_ippFlags & IPP_JPEG2K_VERTICALLY_CAUSAL_CONTEXT); }    bool IsPredictableTermination()  const { return 0 != (m_ippFlags & IPP_JPEG2K_DEC_CHECK_PRED_TERM); }    bool IsUseSegmentationSymbols()  const { return 0 != (m_ippFlags & IPP_JPEG2K_USE_SEGMENTATION_SYMBOLS); }    void SetSelectiveMQBypass      (bool value) { if(value) m_ippFlags |= IPP_JPEG2K_SELECTIVE_MQ_BYPASS;       else m_ippFlags &= ~IPP_JPEG2K_SELECTIVE_MQ_BYPASS;        }    void SetResetCtxOnEveryPass    (bool value) { if(value) m_ippFlags |= IPP_JPEG2K_RESETCTX_ON_EVERY_PASS;    else m_ippFlags &= ~IPP_JPEG2K_RESETCTX_ON_EVERY_PASS;     }    void SetTerminateOnEveryPass   (bool value) { if(value) m_ippFlags |= IPP_JPEG2K_TERMINATE_ON_EVERY_PASS;   else m_ippFlags &= ~IPP_JPEG2K_TERMINATE_ON_EVERY_PASS;    }    void SetVerticallyCausalContext(bool value) { if(value) m_ippFlags |= IPP_JPEG2K_VERTICALLY_CAUSAL_CONTEXT; else m_ippFlags &= ~IPP_JPEG2K_VERTICALLY_CAUSAL_CONTEXT;  }    void SetPredictableTermination (bool value) { if(value) m_ippFlags |= IPP_JPEG2K_DEC_CHECK_PRED_TERM;       else m_ippFlags &= ~IPP_JPEG2K_DEC_CHECK_PRED_TERM;        }    void SetUseSegmentationSymbols (bool value) { if(value) m_ippFlags |= IPP_JPEG2K_USE_SEGMENTATION_SYMBOLS;  else m_ippFlags &= ~IPP_JPEG2K_USE_SEGMENTATION_SYMBOLS;   }    void SetFromCODOrCOCField(Ipp8u SPCodField)    {        SetSelectiveMQBypass      ((SPCodField & JP2F_SELECTIVE_MQ_BYPASS      ) != 0);        SetResetCtxOnEveryPass    ((SPCodField & JP2F_RESETCTX_ON_EVERY_PASS   ) != 0);        SetTerminateOnEveryPass   ((SPCodField & JP2F_TERMINATE_ON_EVERY_PASS  ) != 0);        SetVerticallyCausalContext((SPCodField & JP2F_VERTICALLY_CAUSAL_CONTEXT) != 0);        SetPredictableTermination ((SPCodField & JP2F_PREDICTABLE_TERMINATION  ) != 0);        SetUseSegmentationSymbols ((SPCodField & JP2F_USE_SEGMENTATION_SYMBOLS ) != 0);    }    Ipp8u CODOrCOCField() const    {        Ipp8u SPCodField = 0;        if(IsSelectiveMQBypass())       SPCodField |= JP2F_SELECTIVE_MQ_BYPASS;        if(IsResetCtxOnEveryPass())     SPCodField |= JP2F_RESETCTX_ON_EVERY_PASS;        if(IsTerminateOnEveryPass())    SPCodField |= JP2F_TERMINATE_ON_EVERY_PASS;        if(IsVerticallyCausalContext()) SPCodField |= JP2F_VERTICALLY_CAUSAL_CONTEXT;        if(IsPredictableTermination())  SPCodField |= JP2F_PREDICTABLE_TERMINATION;        if(IsUseSegmentationSymbols())  SPCodField |= JP2F_USE_SEGMENTATION_SYMBOLS;        return SPCodField;    }    Ipp32u IPPFlags() const { return m_ippFlags; }protected:    Ipp32u m_ippFlags;};#endif // __CBCODINGSTYLE_H__

⌨️ 快捷键说明

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