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

📄 pp.h

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 H
📖 第 1 页 / 共 2 页
字号:
inline void ICTFwd(Ipp32s *srcDst0, Ipp32s *srcDst1, Ipp32s *srcDst2, unsigned int size){    IppiSize roiSize = {size, 1};    Ipp32s *srcDstArr[3] = {srcDst0, srcDst1, srcDst2};    ippiICTFwd_JPEG2K_32s_P3IR(srcDstArr, size * sizeof(Ipp32s), roiSize);}inline void ICTFwd(Ipp16s *srcDst0, Ipp16s *srcDst1, Ipp16s *srcDst2, unsigned int size){    IppiSize roiSize = {size, 1};    Ipp16s *srcDstArr[3] = {srcDst0, srcDst1, srcDst2};    ippiICTFwd_JPEG2K_16s_P3IR(srcDstArr, size * sizeof(Ipp16s), roiSize);}#ifndef XSCALEinline void ICTInv(const ImageCorePn<Ipp32f> &srcDst, const IppiSize &size){    ippiICTInv_JPEG2K_32f_P3IR((Ipp32f**)srcDst.Data(), srcDst.LineStep(), size);}inline void ICTInv(Ipp32f *srcDst0, Ipp32f *srcDst1, Ipp32f *srcDst2, unsigned int size){    IppiSize roiSize = {size, 1};    Ipp32f *srcDstArr[3] = {srcDst0, srcDst1, srcDst2};    ippiICTInv_JPEG2K_32f_P3IR(srcDstArr, size * sizeof(Ipp32f), roiSize);}#endif //#ifndef XSCALEinline void ICTInv(const ImageCorePn<Ipp32s> &srcDst, const IppiSize &size){    ippiICTInv_JPEG2K_32s_P3IR((Ipp32s**)srcDst.Data(), srcDst.LineStep(), size);}inline void ICTInv(Ipp32s *srcDst0, Ipp32s *srcDst1, Ipp32s *srcDst2, unsigned int size){    IppiSize roiSize = {size, 1};    Ipp32s *srcDstArr[3] = {srcDst0, srcDst1, srcDst2};    ippiICTInv_JPEG2K_32s_P3IR(srcDstArr, size * sizeof(Ipp32s), roiSize);}inline void ICTInv(Ipp16s *srcDst0, Ipp16s *srcDst1, Ipp16s *srcDst2, unsigned int size){    IppiSize roiSize = {size, 1};    Ipp16s *srcDstArr[3] = {srcDst0, srcDst1, srcDst2};    ippiICTInv_JPEG2K_16s_P3IR(srcDstArr, size * sizeof(Ipp16s), roiSize);}#ifndef XSCALEinline void Resize(    const ImageCoreC<Ipp32f, 1> &src, const RectSize &srcSize,    const ImageCoreC<Ipp32f, 1> &dst, const RectSize &dstSize){    double xFactor = (double)dstSize.Width () / (double)dstSize.Width ();    double yFactor = (double)dstSize.Height() / (double)dstSize.Height();    IppiRect srcROI;    srcROI.x = 0;    srcROI.y = 0;    srcROI.width  = srcSize.Width();    srcROI.height = srcSize.Height();    ippiResize_32f_C3R(        src.Data(),        srcSize,        src.LineStep(),        srcROI,        dst.Data(),        dst.LineStep(),        dstSize,        xFactor,        yFactor,        IPPI_INTER_CUBIC);}inline void ResizeCenter(             const ImageCoreC<Ipp32f, 1> &src, const RectSize &srcSize,             const ImageCoreC<Ipp32f, 1> &dst, const RectSize &dstSize,             double xFactor, double yFactor,             double xCenter, double yCenter){    IppiRect srcROI;    srcROI.x = 0;    srcROI.y = 0;    srcROI.width  = srcSize.Width();    srcROI.height = srcSize.Height();    IppiRect dstROI;    dstROI.x = 0;    dstROI.y = 0;    dstROI.width  = dstSize.Width();    dstROI.height = dstSize.Height();    ippiResizeCenter_32f_C1R(        src.Data(), srcSize, src.LineStep(), srcROI,        dst.Data(), dst.LineStep(), dstSize,        xFactor, yFactor,        xCenter, yCenter,        IPPI_INTER_CUBIC);}#endif //#ifndef XSCALEinline void CopyReplicateBorder(             const ImageCoreC<Ipp32s, 1> &src, const IppiSize &srcSize,             const ImageCoreC<Ipp32s, 1> &dst, const IppiSize &dstSize,             const Point &dstOrigin){    ippiCopyReplicateBorder_32s_C1R(        src.Data(), src.LineStep(), srcSize,        dst.Data(), dst.LineStep(), dstSize,        dstOrigin.X(), dstOrigin.Y());}///////////////////////////////////////////////////////////////////////////////  Wavelet transforms performance primitives wrappers////typedef IppiWTFilterFirst WTPhase;inline bool IsPhaseL(WTPhase phase) { return phase == ippWTFilterFirstLow; }inline bool IsPhaseH(WTPhase phase) { return phase == ippWTFilterFirstHigh; }inline WTPhase Phase(unsigned int coor) { return coor & 1 ? ippWTFilterFirstHigh : ippWTFilterFirstLow; }inline void WT53FwdRow(  const Ipp16s*      src,        Ipp16s*      low,        Ipp16s*      high,        unsigned int dstSize,        WTPhase      phase){    IppiSize roiSize = {dstSize, 1};    ippiWTFwdRow_B53_JPEG2K_16s_C1R(        src,  sizeof(Ipp16s) * 2 * dstSize,        low,  sizeof(Ipp16s) * dstSize,        high, sizeof(Ipp16s) * dstSize,        roiSize, phase);}inline void WT53FwdRow(  const Ipp32s*      src,        Ipp32s*      low,        Ipp32s*      high,        unsigned int dstSize,        WTPhase      phase){    IppiSize roiSize = {dstSize, 1};    ippiWTFwdRow_B53_JPEG2K_32s_C1R(        src,  sizeof(Ipp32s) * 2 * dstSize,        low,  sizeof(Ipp32s) * dstSize,        high, sizeof(Ipp32s) * dstSize,        roiSize, phase);}inline void WT53InvRow(  const Ipp16s*      low,  const Ipp16s*      high,        unsigned int srcSize,        Ipp16s*      dst,        WTPhase      phase){    IppiSize roiSize = {srcSize, 1};    ippiWTInvRow_B53_JPEG2K_16s_C1R(        low , sizeof(Ipp16s) * srcSize,        high, sizeof(Ipp16s) * srcSize,        roiSize,        dst , sizeof(Ipp16s) * 2 * srcSize,        phase);}inline void WT53InvRow(  const Ipp32s*      low,  const Ipp32s*      high,        unsigned int srcSize,        Ipp32s*      dst,        WTPhase      phase){    IppiSize roiSize = {srcSize, 1};    ippiWTInvRow_B53_JPEG2K_32s_C1R(        low , sizeof(Ipp32s) * srcSize,        high, sizeof(Ipp32s) * srcSize,        roiSize,        dst , sizeof(Ipp32s) * 2 * srcSize,        phase);}inline void WT53FwdColLift(  const Ipp32s* src0,  const Ipp32s* src1,  const Ipp32s* src2,        Ipp32s* dstLow0,  const Ipp32s* srcHigh0,        Ipp32s* dstHigh1,        int     width){    ippiWTFwdColLift_B53_JPEG2K_32s_C1(        src0,        src1,        src2,        dstLow0,        srcHigh0,        dstHigh1,        width);}inline void WT53FwdColLift(  const Ipp16s* src0,  const Ipp16s* src1,  const Ipp16s* src2,        Ipp16s* dstLow0,  const Ipp16s* srcHigh0,        Ipp16s* dstHigh1,        int     width){    ippiWTFwdColLift_B53_JPEG2K_16s_C1(        src0,        src1,        src2,        dstLow0,        srcHigh0,        dstHigh1,        width);}inline void WT53InvColLift(  const Ipp16s* srcLow0,  const Ipp16s* srcHigh0,  const Ipp16s* srcHigh1,  const Ipp16s* src0,        Ipp16s* dst1,        Ipp16s* dst2,        int     width){    ippiWTInvColLift_B53_JPEG2K_16s_C1(        srcLow0,        srcHigh0,        srcHigh1,        src0,        dst1,        dst2,        width);}inline void WT53InvColLift(  const Ipp32s* srcLow0,  const Ipp32s* srcHigh0,  const Ipp32s* srcHigh1,  const Ipp32s* src0,        Ipp32s* dst1,        Ipp32s* dst2,        int     width){    ippiWTInvColLift_B53_JPEG2K_32s_C1(        srcLow0,        srcHigh0,        srcHigh1,        src0,        dst1,        dst2,        width);}inline void WT97FwdRow(  const Ipp16s*      src,        Ipp16s*      low,        Ipp16s*      high,        unsigned int dstSize,        WTPhase      phase){    IppiSize roiSize = {dstSize, 1};    ippiWTFwdRow_D97_JPEG2K_16s_C1R(        src , sizeof(Ipp16s) * 2 * dstSize,        low , sizeof(Ipp16s) * dstSize,        high, sizeof(Ipp16s) * dstSize,        roiSize, phase);}inline void WT97FwdRow(  const Ipp32s*      src,        Ipp32s*      low,        Ipp32s*      high,        unsigned int dstSize,        WTPhase      phase){    IppiSize roiSize = {dstSize, 1};    ippiWTFwdRow_D97_JPEG2K_32s_C1R(        src , sizeof(Ipp32s) * 2 * dstSize,        low , sizeof(Ipp32s) * dstSize,        high, sizeof(Ipp32s) * dstSize,        roiSize, phase);}inline void WT97FwdRow(  const Ipp32f*      src,        Ipp32f*      low,        Ipp32f*      high,        unsigned int dstSize,        WTPhase      phase){    IppiSize roiSize = {dstSize, 1};    ippiWTFwdRow_D97_JPEG2K_32f_C1R(        src , sizeof(Ipp32f) * 2 * dstSize,        low , sizeof(Ipp32f) * dstSize,        high, sizeof(Ipp32f) * dstSize,        roiSize, phase);}inline void WT97InvRow(  const Ipp16s*      low,  const Ipp16s*      high,        unsigned int srcSize,        Ipp16s*      dst,        WTPhase      phase){    IppiSize roiSize = {srcSize, 1};    ippiWTInvRow_D97_JPEG2K_16s_C1R(        low , sizeof(Ipp16s) * srcSize,        high, sizeof(Ipp16s) * srcSize,        roiSize,        dst , sizeof(Ipp16s) * 2 * srcSize,        phase);}inline void WT97InvRow(  const Ipp32s*      low,  const Ipp32s*      high,        unsigned int srcSize,        Ipp32s*      dst,        WTPhase      phase){    IppiSize roiSize = {srcSize, 1};    ippiWTInvRow_D97_JPEG2K_32s_C1R(        low , sizeof(Ipp32s) * srcSize,        high, sizeof(Ipp32s) * srcSize,        roiSize,        dst , sizeof(Ipp32s) * 2 * srcSize,        phase);}inline void WT97InvRow(  const Ipp32f*      low,  const Ipp32f*      high,        unsigned int srcSize,        Ipp32f*      dst,        WTPhase      phase){    IppiSize roiSize = {srcSize, 1};    ippiWTInvRow_D97_JPEG2K_32f_C1R(        low , sizeof(Ipp32f) * srcSize,        high, sizeof(Ipp32f) * srcSize,        roiSize,        dst , sizeof(Ipp32f) * 2 * srcSize,        phase);}inline void WT97FwdColLift(  const Ipp16s* src0,  const Ipp16s* src1,  const Ipp16s* src2,        Ipp16s* srcDstLow0,        Ipp16s* dstLow1,        Ipp16s* srcDstHigh0,        Ipp16s* srcDstHigh1,        Ipp16s* dstHigh2,        int     width){    ippiWTFwdColLift_D97_JPEG2K_16s_C1(        src0,        src1,        src2,        srcDstLow0,        dstLow1,        srcDstHigh0,        srcDstHigh1,        dstHigh2,        width);}inline void WT97FwdColLift(  const Ipp32s* src0,  const Ipp32s* src1,  const Ipp32s* src2,        Ipp32s* srcDstLow0,        Ipp32s* dstLow1,        Ipp32s* srcDstHigh0,        Ipp32s* srcDstHigh1,        Ipp32s* dstHigh2,        int     width){    ippiWTFwdColLift_D97_JPEG2K_32s_C1(        src0,        src1,        src2,        srcDstLow0,        dstLow1,        srcDstHigh0,        srcDstHigh1,        dstHigh2,        width);}#ifndef XSCALEinline void WT97FwdColLift(  const Ipp32f* src0,  const Ipp32f* src1,  const Ipp32f* src2,        Ipp32f* srcDstLow0,        Ipp32f* dstLow1,        Ipp32f* srcDstHigh0,        Ipp32f* srcDstHigh1,        Ipp32f* dstHigh2,        int     width){    ippiWTFwdColLift_D97_JPEG2K_32f_C1(        src0,        src1,        src2,        srcDstLow0,        dstLow1,        srcDstHigh0,        srcDstHigh1,        dstHigh2,        width);}#endif //#ifndef XSCALEinline void WT97InvColLift(  const Ipp16s* srcLow0,  const Ipp16s* srcHigh0,  const Ipp16s* srcHigh1,  const Ipp16s* src0,        Ipp16s* srcDst1,        Ipp16s* srcDst2,        Ipp16s* dst3,        Ipp16s* dst4,        int     width){    ippiWTInvColLift_D97_JPEG2K_16s_C1(        srcLow0,        srcHigh0,        srcHigh1,        src0,        srcDst1,        srcDst2,        dst3,        dst4,        width);}inline void WT97InvColLift(  const Ipp32s* srcLow0,  const Ipp32s* srcHigh0,  const Ipp32s* srcHigh1,  const Ipp32s* src0,        Ipp32s* srcDst1,        Ipp32s* srcDst2,        Ipp32s* dst3,        Ipp32s* dst4,        int     width){    ippiWTInvColLift_D97_JPEG2K_32s_C1(        srcLow0,        srcHigh0,        srcHigh1,        src0,        srcDst1,        srcDst2,        dst3,        dst4,        width);}#ifndef XSCALEinline void WT97InvColLift(  const Ipp32f* srcLow0,  const Ipp32f* srcHigh0,  const Ipp32f* srcHigh1,  const Ipp32f* src0,        Ipp32f* srcDst1,        Ipp32f* srcDst2,        Ipp32f* dst3,        Ipp32f* dst4,        int     width){    ippiWTInvColLift_D97_JPEG2K_32f_C1(        srcLow0,        srcHigh0,        srcHigh1,        src0,        srcDst1,        srcDst2,        dst3,        dst4,        width);}#endif //#ifndef XSCALE#endif // __PP_H__

⌨️ 快捷键说明

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