📄 umc_h264_to_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) 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 + -