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

📄 umc_h264_dec_ippwrap.cpp

📁 audio-video-codecs.rar语音编解码器
💻 CPP
📖 第 1 页 / 共 2 页
字号:
            srcdstStep,
            pAlpha,
            pBeta,
            pThresholds,
            pBS);*/
    }


    ///****************************************************************************************/
    // 16 bits functions
    ///****************************************************************************************/
#define CONVERT_TO_16U(size_alpha, size_clipping)   \
        Ipp32s i;\
        Ipp32s bitDepthScale = 1 << (bit_depth - 8);\
        \
        Ipp16u pAlpha_16u[size_alpha];\
        Ipp16u pBeta_16u[size_alpha];\
        Ipp16u pThresholds_16u[size_clipping];\
        IppiFilterDeblock_16u info;\
        info.pSrcDstPlane = pSrcDst;\
        info.srcDstStep = srcdstStep;\
        info.pAlpha = pAlpha_16u;\
        info.pBeta = pBeta_16u;\
        info.pThresholds = pThresholds_16u;\
        info.pBs = pBS;\
        info.bitDepth = bit_depth;\
\
        for (i = 0; i < sizeof(pAlpha_16u)/sizeof(pAlpha_16u[0]); i++)\
        {\
            pAlpha_16u[i]   = (Ipp16u)(pAlpha[i]*bitDepthScale);\
            pBeta_16u[i]    = (Ipp16u)(pBeta[i]*bitDepthScale);\
        }\
\
        for (i = 0; i < sizeof(pThresholds_16u)/sizeof(pThresholds_16u[0]); i++)\
        {\
            pThresholds_16u[i] = (Ipp16u)(pThresholds[i]*bitDepthScale);\
        }

    IppStatus FilterDeblockingLuma_HorEdge(Ipp16u* pSrcDst,
                                           Ipp32s  srcdstStep,
                                           Ipp8u*  pAlpha,
                                           Ipp8u*  pBeta,
                                           Ipp8u*  pThresholds,
                                           Ipp8u*  pBS,
                                           Ipp32s  bit_depth)
    {
        CONVERT_TO_16U(2, 16);
        return ippiFilterDeblockingLumaHorEdge_H264_16u_C1IR(&info);
    }

    IppStatus FilterDeblockingLuma_VerEdge_MBAFF(Ipp16u* pSrcDst,
                                                 Ipp32s  srcdstStep,
                                                 Ipp8u*  pAlpha,
                                                 Ipp8u*  pBeta,
                                                 Ipp8u*  pThresholds,
                                                 Ipp8u*  pBS,
                                                 Ipp32s  bit_depth)
    {
        CONVERT_TO_16U(1, 4);
        return ippiFilterDeblockingLumaVerEdgeMBAFF_H264_16u_C1IR(&info);
    }

    IppStatus FilterDeblockingLuma_VerEdge(Ipp16u* pSrcDst,
                                           Ipp32s  srcdstStep,
                                           Ipp8u*  pAlpha,
                                           Ipp8u*  pBeta,
                                           Ipp8u*  pThresholds,
                                           Ipp8u*  pBS,
                                           Ipp32s  bit_depth)
    {
        CONVERT_TO_16U(2, 16);
        return ippiFilterDeblockingLumaVerEdge_H264_16u_C1IR(&info);
    }

    IppStatus FilterDeblockingChroma_VerEdge_MBAFF(Ipp16u* pSrcDst,
                                                   Ipp32s  srcdstStep,
                                                   Ipp8u*  pAlpha,
                                                   Ipp8u*  pBeta,
                                                   Ipp8u*  pThresholds,
                                                   Ipp8u*  pBS,
                                                   Ipp32s  bit_depth)
    {
        CONVERT_TO_16U(1, 4);
        return ippiFilterDeblockingChromaVerEdgeMBAFF_H264_16u_C1IR(&info);
    }

    IppStatus FilterDeblockingChroma_VerEdge(Ipp16u* pSrcDst,
                                             Ipp32s  srcdstStep,
                                             Ipp8u*  pAlpha,
                                             Ipp8u*  pBeta,
                                             Ipp8u*  pThresholds,
                                             Ipp8u*  pBS,
                                             Ipp32s  bit_depth)
    {
        CONVERT_TO_16U(2, 8);
        return ippiFilterDeblockingChromaVerEdge_H264_16u_C1IR(&info);
    }

    IppStatus FilterDeblockingChroma_HorEdge(Ipp16u* pSrcDst,
                                             Ipp32s  srcdstStep,
                                             Ipp8u*  pAlpha,
                                             Ipp8u*  pBeta,
                                             Ipp8u*  pThresholds,
                                             Ipp8u*  pBS,
                                             Ipp32s  bit_depth)
    {
        CONVERT_TO_16U(2, 8);
        return ippiFilterDeblockingChromaHorEdge_H264_16u_C1IR(&info);
    }

    IppStatus FilterDeblockingChroma422_VerEdge(Ipp16u* pSrcDst,
                                                Ipp32s  srcdstStep,
                                                Ipp8u*  pAlpha,
                                                Ipp8u*  pBeta,
                                                Ipp8u*  pThresholds,
                                                Ipp8u*  pBS,
                                                Ipp32s  bit_depth)
    {
        CONVERT_TO_16U(2, 8);
        return ippiFilterDeblockingChroma422VerEdge_H264_16u_C1IR(&info);
    }

    IppStatus FilterDeblockingChroma422_HorEdge(Ipp16u* pSrcDst,
                                                Ipp32s  srcdstStep,
                                                Ipp8u*  pAlpha,
                                                Ipp8u*  pBeta,
                                                Ipp8u*  pThresholds,
                                                Ipp8u*  pBS,
                                                Ipp32s  bit_depth)
    {
        CONVERT_TO_16U(2, 16);
        return ippiFilterDeblockingChroma422HorEdge_H264_16u_C1IR(&info);
    }


    IppStatus FilterDeblockingChroma444_VerEdge(Ipp16u* pSrcDst,
                                                Ipp32s  srcdstStep,
                                                Ipp8u*  pAlpha,
                                                Ipp8u*  pBeta,
                                                Ipp8u*  pThresholds,
                                                Ipp8u*  pBS,
                                                Ipp32s  bit_depth)
    {
        //CONVERT_TO_16U(2, 16);
        VM_ASSERT(false);
        return ippStsNoErr;/*ippiFilterDeblockingChroma444_VerEdge_H264_16u_C1IR(
            pSrcDst,
            srcdstStep,
            pAlpha_16u,
            pBeta_16u,
            pThresholds_16u,
            pBS,
            bit_depth);*/
    }

    IppStatus FilterDeblockingChroma444_HorEdge(Ipp16u* pSrcDst,
                                                Ipp32s  srcdstStep,
                                                Ipp8u*  pAlpha,
                                                Ipp8u*  pBeta,
                                                Ipp8u*  pThresholds,
                                                Ipp8u*  pBS,
                                                Ipp32s  bit_depth)
    {
        //CONVERT_TO_16U(2, 16);
        VM_ASSERT(false);
        return ippStsNoErr;/*ippiFilterDeblockingChroma444_HorEdge_H264_16u_C1IR(
            pSrcDst,
            srcdstStep,
            pAlpha_16u,
            pBeta_16u,
            pThresholds_16u,
            pBS,
            bit_depth);*/
    }

#pragma warning(default: 4100)

} // namespace UMC
#endif // UMC_ENABLE_H264_VIDEO_DECODER

⌨️ 快捷键说明

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