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

📄 umc_h264_to_ipp.h

📁 audio-video-codecs.rar语音编解码器
💻 H
📖 第 1 页 / 共 3 页
字号:
//
//               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) 2004 - 2007 Intel Corporation. All Rights Reserved.
//

#ifndef UMC_H264_TO_IPP_H
#define UMC_H264_TO_IPP_H

#include "ippdefs.h"
#include "ipps.h"
#include "ippvc.h"

inline void ippiTransformDequantLumaDC_H264(Ipp16s* pSrcDst, Ipp32s  QP, const Ipp16s* pScaleLevels = NULL)
{
    ippiTransformQuantInvLumaDC4x4_H264_16s_C1I(pSrcDst, QP, pScaleLevels);
}

#if defined BITDEPTH_9_12
inline void ippiTransformDequantLumaDC_H264(Ipp32s* pSrcDst, Ipp32s  QP, const Ipp16s* pScaleLevels = NULL)
{
    ippiTransformQuantInvLumaDC4x4_H264_32s_C1I(pSrcDst, QP, pScaleLevels);
}
#endif // BITDEPTH_9_12

inline void ippiTransformDequantChromaDC_H264(Ipp16s* pSrcDst, Ipp32s  QP, const Ipp16s* pLevelScale = NULL)
{
    ippiTransformQuantInvChromaDC2x2_H264_16s_C1I (pSrcDst, QP, pLevelScale);
}

#if defined BITDEPTH_9_12
inline void ippiTransformDequantChromaDC_H264(Ipp32s* pSrcDst, Ipp32s  QP, const Ipp16s *pLevelScale = NULL)
{
    ippiTransformQuantInvChromaDC2x2_H264_32s_C1I (pSrcDst, QP, pLevelScale);
}
#endif // BITDEPTH_9_12

inline void ippiDequantTransformResidualAndAdd_H264(const Ipp8u*  pPred,
                                                               Ipp16s* pSrcDst,
                                                         const Ipp16s* pDC, // should be const ?
                                                               Ipp8u*  pDst,
                                                               Ipp32s  PredStep,
                                                               Ipp32s  DstStep,
                                                               Ipp32s  QP,
                                                               Ipp32s  AC,
                                                               Ipp32s  bit_depth,
                                                         const Ipp16s* pScaleLevels = NULL)
{
    ippiTransformQuantInvAddPred4x4_H264_16s_C1IR (pPred, PredStep, pSrcDst, pDC, pDst, DstStep, QP, AC, pScaleLevels);
}

#if defined BITDEPTH_9_12
inline void ippiDequantTransformResidualAndAdd_H264(const Ipp16u* pPred,
                                                               Ipp32s* pSrcDst,
                                                         const Ipp32s* pDC,
                                                               Ipp16u* pDst,
                                                               Ipp32s  PredStep,
                                                               Ipp32s  DstStep,
                                                               Ipp32s  QP,
                                                               Ipp32s  AC,
                                                               Ipp32s  bit_depth,
                                                         const Ipp16s* pScaleLevels = NULL)
{
    ippiTransformQuantInvAddPred4x4_H264_32s_C1IR (pPred, PredStep*sizeof(Ipp16s), pSrcDst, pDC, pDst, DstStep*sizeof(Ipp16u), QP, AC, bit_depth, pScaleLevels);
}
#endif // BITDEPTH_9_12

inline void ippiTransformLuma8x8Fwd_H264(const Ipp16s* pDiffBuf, Ipp16s* pTransformResult)
{
    ippiTransformFwdLuma8x8_H264_16s_C1(pDiffBuf, pTransformResult);
}

#if defined BITDEPTH_9_12
inline void ippiTransformLuma8x8Fwd_H264(const Ipp16s* pDiffBuf, Ipp32s* pTransformResult)
{
    ippiTransformFwdLuma8x8_H264_16s32s_C1(pDiffBuf, pTransformResult);
}
//#else
//inline IppStatus ippiTransformLuma8x8Fwd_H264(Ipp16s*  pDiffBuf, Ipp16s* pTransformResult)
//{
//    IppStatus res;
//    res = ippiTransformFwdLuma8x8_H264_16s_C1I(pDiffBuf);
//    ippsCopy_16s(pDiffBuf, pTransformResult, 64);
//    return(res);
//}
#endif // BITDEPTH_9_12

inline void ippiQuantLuma8x8_H264(const Ipp16s* pSrc,
                                             Ipp16s* pDst,
                                             Ipp32s  Qp6,
                                             Ipp32s  intra,
                                       const Ipp16s* pScanMatrix,
                                       const Ipp16s* pScaleLevels,
                                             Ipp32s* pNumLevels,
                                             Ipp32s* pLastCoeff)
{
    ippiQuantLuma8x8_H264_16s_C1(pSrc, pDst,Qp6,intra,pScanMatrix,pScaleLevels,pNumLevels,pLastCoeff);
}

#if defined BITDEPTH_9_12
inline void ippiQuantLuma8x8_H264(const Ipp32s* pSrc,
                                Ipp32s* pDst,
                                Ipp32s  Qp6,
                                Ipp32s  intra,
                        const Ipp16s* pScanMatrix,
                        const Ipp16s* pScaleLevels,
                                Ipp32s* pNumLevels,
                                Ipp32s* pLastCoeff)
{
    ippiQuantLuma8x8_H264_32s_C1(pSrc, pDst,Qp6,intra,pScanMatrix,pScaleLevels,pNumLevels,pLastCoeff);
}
#endif // BITDEPTH_9_12

inline void ippiQuantLuma8x8Inv_H264(Ipp16s* pSrcDst, Ipp32s  Qp6, const Ipp16s* pInvLevelScale)
{
    ippiQuantLuma8x8Inv_H264_16s_C1I(pSrcDst, Qp6, pInvLevelScale);
}

#if defined BITDEPTH_9_12
inline void ippiQuantLuma8x8Inv_H264(Ipp32s* pSrcDst, Ipp32s  Qp6, const Ipp16s* pInvLevelScale)
{
    ippiQuantInvLuma8x8_H264_32s_C1I(pSrcDst, Qp6, pInvLevelScale);
}
#endif // BITDEPTH_9_12

inline void ippiTransformLuma8x8InvAddPred_H264(const Ipp8u*  pPred, Ipp32s  PredStepPixels, Ipp16s* pSrcDst, Ipp8u*  pDst, Ipp32s  DstStepPixels, Ipp32s  bit_depth)
{
    ippiTransformLuma8x8InvAddPred_H264_16s8u_C1R(pPred, PredStepPixels*sizeof(Ipp8u), pSrcDst,pDst, DstStepPixels*sizeof(Ipp8u));
}

#if defined BITDEPTH_9_12
inline void ippiTransformLuma8x8InvAddPred_H264(const Ipp16u* pPred,Ipp32s  PredStepPixels, Ipp32s* pSrcDst, Ipp16u* pDst, Ipp32s  DstStepPixels, Ipp32s  bit_depth)

{
    ippiTransformInvAddPredLuma8x8_H264_32s16u_C1R(pPred, PredStepPixels*sizeof(Ipp16u), pSrcDst, pDst, DstStepPixels*sizeof(Ipp16u), bit_depth);
}
#endif // BITDEPTH_9_12

#if defined BITDEPTH_9_12
inline void ippiEncodeChromaDcCoeffsCAVLC_H264(const Ipp32s* pSrc,
                                                          Ipp8u*  pTrailingOnes,
                                                          Ipp8u*  pTrailingOneSigns,
                                                          Ipp8u*  pNumOutCoeffs,
                                                          Ipp8u*  pTotalZeroes,
                                                          Ipp32s* pLevels,
                                                          Ipp8u*  pRuns)
{
    ippiEncodeCoeffsCAVLCChromaDC2x2_H264_32s(pSrc,pTrailingOnes, pTrailingOneSigns, pNumOutCoeffs, pTotalZeroes, pLevels, pRuns);
}
#endif // BITDEPTH_9_12

inline void ippiEncodeChromaDcCoeffsCAVLC_H264(Ipp16s* pSrc,
                                                    Ipp8u*  pTrailingOnes,
                                                    Ipp8u*  pTrailingOneSigns,
                                                    Ipp8u*  pNumOutCoeffs,
                                                    Ipp8u*  pTotalZeroes,
                                                    Ipp16s* pLevels,
                                                    Ipp8u*  pRuns)
{
    ippiEncodeChromaDcCoeffsCAVLC_H264_16s(pSrc,pTrailingOnes, pTrailingOneSigns, pNumOutCoeffs, pTotalZeroes, pLevels, pRuns);
    //ippiEncodeChromaDC2x2CoeffsCAVLC_H264_16s(pSrc,pTrailingOnes, pTrailingOneSigns, pNumOutCoeffs, pTotalZeroes, pLevels, pRuns);
}

#if defined BITDEPTH_9_12
inline void ippiEncodeChroma422DC_CoeffsCAVLC_H264(const Ipp32s *pSrc,
                                                       Ipp8u *Trailing_Ones,
                                                       Ipp8u *Trailing_One_Signs,
                                                       Ipp8u *NumOutCoeffs,
                                                       Ipp8u *TotalZeros,
                                                       Ipp32s *Levels,
                                                       Ipp8u *Runs)
{
    ippiEncodeCoeffsCAVLCChromaDC2x4_H264_32s (pSrc, Trailing_Ones, Trailing_One_Signs, NumOutCoeffs, TotalZeros, Levels, Runs);
}
#endif // BITDEPTH_9_12

inline void ippiEncodeChroma422DC_CoeffsCAVLC_H264(const Ipp16s *pSrc,
                                                       Ipp8u *Trailing_Ones,
                                                       Ipp8u *Trailing_One_Signs,
                                                       Ipp8u *NumOutCoeffs,
                                                       Ipp8u *TotalZeros,
                                                       Ipp16s *Levels,
                                                       Ipp8u *Runs)
{
    ippiEncodeCoeffsCAVLCChromaDC2x4_H264_16s (pSrc, Trailing_Ones, Trailing_One_Signs, NumOutCoeffs, TotalZeros, Levels, Runs);
}

#if defined BITDEPTH_9_12
inline void ippiTransformDequantChromaDC422_H264(Ipp32s *pSrcDst, Ipp32s QPChroma, Ipp16s* pScaleLevels = NULL)
{
    ippiTransformQuantInvChromaDC2x4_H264_32s_C1I(pSrcDst, QPChroma, pScaleLevels);
}
#endif // BITDEPTH_9_12

inline void ippiTransformDequantChromaDC422_H264(Ipp16s *pSrcDst, Ipp32s QPChroma, Ipp16s* pScaleLevels)
{
    ippiTransformQuantInvChromaDC2x4_H264_16s_C1I(pSrcDst, QPChroma, pScaleLevels);
}

#if defined BITDEPTH_9_12
inline void ippiTransformQuantChroma422DC_H264(      Ipp32s *pDCBuf,
                                                   Ipp32s *pTBuf,
                                                   Ipp32s  QPChroma,
                                                   Ipp32s*    NumCoeffs,
                                                   Ipp32s  Intra,
                                                   Ipp32s  NeedTransform,
                                             const Ipp16s* pScaleLevels = NULL)
{
    ippiTransformQuantFwdChromaDC2x4_H264_32s_C1I (pDCBuf, pTBuf, QPChroma, NumCoeffs, Intra, NeedTransform, pScaleLevels);
}
#endif // BITDEPTH_9_12

inline void ippiTransformQuantChroma422DC_H264(      Ipp16s *pDCBuf,
                                                   Ipp16s *pTBuf,
                                                   Ipp32s  QPChroma,
                                                   Ipp32s* NumCoeffs,
                                                   Ipp32s  intra,
                                                   Ipp32s  NeedTransform,
                                             const Ipp16s* pScaleLevels = NULL)
{
    ippiTransformQuantFwdChromaDC2x4_H264_16s_C1I(pDCBuf, pTBuf, QPChroma, NumCoeffs, intra, NeedTransform, pScaleLevels);
}

inline IppStatus ippiSumsDiff8x8Blocks4x4(Ipp8u*  pSrc,
                                          Ipp32s  srcStepPixels,
                                          Ipp8u*  pPred,
                                          Ipp32s  predStepPixels,
                                          Ipp16s* pDC,
                                          Ipp16s* pDiff)
{
    return(ippiSumsDiff8x8Blocks4x4_8u16s_C1(pSrc, srcStepPixels*sizeof(Ipp8u),
        pPred, predStepPixels*sizeof(Ipp8u),

⌨️ 快捷键说明

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