📄 umc_h264_to_ipp.h
字号:
pDC, pDiff));
}
#if defined BITDEPTH_9_12
inline IppStatus ippiSumsDiff8x8Blocks4x4(const Ipp16u* pSrc,
Ipp32s srcStepPixels,
const Ipp16u* pPred,
Ipp32s predStepPixels,
Ipp32s* pDC,
Ipp16s* pDiff)
{
return(ippiSumsDiff8x8Blocks4x4_16u32s_C1R(pSrc,
srcStepPixels*sizeof(Ipp16u),
pPred, predStepPixels*sizeof(Ipp16u),
pDC,
pDiff));
}
#endif // BITDEPTH_9_12
inline IppStatus ippiTransformQuantChromaDC_H264(Ipp16s* pSrcDst,
Ipp16s* pTBlock,
Ipp32s QPChroma,
Ipp32s* pNumLevels,
Ipp32s intra,
Ipp32s needTransform,
const Ipp16s *pScaleLevels = NULL)
{
return ippiTransformQuantFwdChromaDC2x2_H264_16s_C1I(pSrcDst, pTBlock, QPChroma, pNumLevels, intra, needTransform,pScaleLevels);
}
#if defined BITDEPTH_9_12
inline IppStatus ippiTransformQuantChromaDC_H264(Ipp32s* pSrcDst,
Ipp32s* pTBlock,
Ipp32s QPChroma,
Ipp32s* pNumLevels,
Ipp32s intra,
Ipp32s needTransform,
const Ipp16s* pScaleLevels = NULL)
{
return(ippiTransformQuantFwdChromaDC2x2_H264_32s_C1I(pSrcDst, pTBlock, QPChroma, pNumLevels, intra, needTransform, pScaleLevels));
}
inline IppStatus ippiTransformQuantResidual_H264(Ipp16s* pSrc,
Ipp32s* pDst,
Ipp32s Qp,
Ipp32s* pNumLevels,
Ipp32s intra,
const Ipp16s* pScanMatrix,
Ipp32s* pLastCoeff,
const Ipp16s* pLevelScales = NULL)
{
return ippiTransformQuantFwd4x4_H264_16s32s_C1 (pSrc, pDst, Qp, pNumLevels, intra, pScanMatrix,pLastCoeff, pLevelScales);
}
#endif // BITDEPTH_9_12
inline IppStatus ippiTransformQuantResidual_H264(Ipp16s* pSrcDst,
Ipp16s* pDst,
Ipp32s Qp,
Ipp32s* pNumLevels,
Ipp32s Intra,
Ipp16s* pScanMatrix,
Ipp32s* pLastCoeff,
Ipp16s* pScaleLevels = NULL)
{
return ippiTransformQuantFwd4x4_H264_16s_C1(pSrcDst,pDst, Qp, pNumLevels, (Ipp8u)Intra, pScanMatrix,pLastCoeff, pScaleLevels);
}
inline IppStatus ippiInterpolateLuma_H264(const Ipp8u* src,
Ipp32s src_pitch, // in bytes
Ipp8u* dst,
Ipp32s dst_pitch, // in bytes
Ipp32s xh,
Ipp32s yh,
IppiSize sz,
Ipp32s bit_depth)
{
return(ippiInterpolateLuma_H264_8u_C1R(src, src_pitch,
dst, dst_pitch,
xh, yh, sz));
}
#if defined BITDEPTH_9_12
inline IppStatus ippiInterpolateLuma_H264(const Ipp16u* src,
Ipp32s src_pitch, // in bytes
Ipp16u* dst,
Ipp32s dst_pitch, // in bytes
Ipp32s xh,
Ipp32s yh,
IppiSize sz,
Ipp32s bit_depth)
{
// IppVCInterpolate_16u info = { (Ipp16u*)src,src_pitch/sizeof(Ipp16u), dst, dst_pitch/sizeof(Ipp16u), xh, yh, sz, bit_depth };
IppVCInterpolate_16u info;
info.pSrc = (Ipp16u*)src;
info.srcStep = src_pitch/sizeof(Ipp16u);
info.pDst = dst;
info.dstStep = dst_pitch/sizeof(Ipp16u);
info.dx = xh;
info.dy = yh;
info.roiSize.width = sz.width;
info.roiSize.height = sz.height;
info.bitDepth = bit_depth;
return ippiInterpolateLuma_H264_16u_C1R(&info);
}
#endif // BITDEPTH_9_12
inline IppStatus ippiInterpolateLumaTop_H264(const Ipp8u* src,
Ipp32s src_pitch, // in bytes
Ipp8u* dst,
Ipp32s dst_pitch, // in bytes
Ipp32s xh,
Ipp32s yh,
Ipp32s outPixels,
IppiSize sz,
Ipp32s bit_depth)
{
return(ippiInterpolateLumaTop_H264_8u_C1R(src, src_pitch,
dst, dst_pitch,
xh, yh, outPixels, sz));
}
#if defined BITDEPTH_9_12
inline IppStatus ippiInterpolateLumaTop_H264(const Ipp16u* src,
Ipp32s src_pitch, // in bytes
Ipp16u* dst,
Ipp32s dst_pitch, // in bytes
Ipp32s xh,
Ipp32s yh,
Ipp32s outPixels,
IppiSize sz,
Ipp32s bit_depth)
{
IppVCInterpolate_16u info;
info.pSrc = (Ipp16u*)src;
info.srcStep = src_pitch/sizeof(Ipp16u);
info.pDst = dst;
info.dstStep = dst_pitch/sizeof(Ipp16u);
info.dx = xh;
info.dy = yh;
info.roiSize.width = sz.width;
info.roiSize.height = sz.height;
info.bitDepth = bit_depth;
return ippiInterpolateLumaTop_H264_16u_C1R( &info, outPixels );
}
#endif // BITDEPTH_9_12
inline IppStatus ippiInterpolateLumaBottom_H264(const Ipp8u* src,
Ipp32s src_pitch, // in bytes
Ipp8u* dst,
Ipp32s dst_pitch, // in bytes
Ipp32s xh,
Ipp32s yh,
Ipp32s outPixels,
IppiSize sz,
Ipp32s bit_depth)
{
return(ippiInterpolateLumaBottom_H264_8u_C1R(src, src_pitch,
dst, dst_pitch,
xh, yh, outPixels, sz));
}
#if defined BITDEPTH_9_12
inline IppStatus ippiInterpolateLumaBottom_H264(const Ipp16u* src,
Ipp32s src_pitch, // in bytes
Ipp16u* dst,
Ipp32s dst_pitch, // in bytes
Ipp32s xh,
Ipp32s yh,
Ipp32s outPixels,
IppiSize sz,
Ipp32s bit_depth)
{
// IppVCInterpolate_16u info = { (Ipp16u*)src, src_pitch/sizeof(Ipp16u), dst, dst_pitch/sizeof(Ipp16u), xh, yh, sz, bit_depth };
IppVCInterpolate_16u info;
info.pSrc = (Ipp16u*)src;
info.srcStep = src_pitch/sizeof(Ipp16u);
info.pDst = dst;
info.dstStep = dst_pitch/sizeof(Ipp16u);
info.dx = xh;
info.dy = yh;
info.roiSize.width = sz.width;
info.roiSize.height = sz.height;
info.bitDepth = bit_depth;
return ippiInterpolateLumaBottom_H264_16u_C1R( &info, outPixels );
}
#endif // BITDEPTH_9_12
inline IppStatus ippiInterpolateChroma_H264(const Ipp8u* src,
Ipp32s src_pitch, // in bytes
Ipp8u* dst,
Ipp32s dst_pitch, // in bytes
Ipp32s xh,
Ipp32s yh,
IppiSize sz,
Ipp32s bit_depth)
{
return(ippiInterpolateChroma_H264_8u_C1R(src, src_pitch, dst, dst_pitch, xh, yh, sz));
}
#if defined BITDEPTH_9_12
inline IppStatus ippiInterpolateChroma_H264(const Ipp16u* src,
Ipp32s src_pitch, // in bytes
Ipp16u* dst,
Ipp32s dst_pitch, // in bytes
Ipp32s xh,
Ipp32s yh,
IppiSize sz,
Ipp32s bit_depth)
{
// IppVCInterpolate_16u info = { (Ipp16u*)src,src_pitch/sizeof(Ipp16u), dst, dst_pitch/sizeof(Ipp16u), xh, yh, sz, bit_depth };
IppVCInterpolate_16u info;
info.pSrc = (Ipp16u*)src;
info.srcStep = src_pitch/sizeof(Ipp16u);
info.pDst = dst;
info.dstStep = dst_pitch/sizeof(Ipp16u);
info.dx = xh;
info.dy = yh;
info.roiSize.width = sz.width;
info.roiSize.height = sz.height;
info.bitDepth = bit_depth;
return ippiInterpolateChroma_H264_16u_C1R( &info );
}
#endif // BITDEPTH_9_12
inline IppStatus ippiInterpolateChromaTop_H264(const Ipp8u* src,
Ipp32s src_pitch, // in bytes
Ipp8u* dst,
Ipp32s dst_pitch, // in bytes
Ipp32s xh,
Ipp32s yh,
Ipp32s outPixels,
IppiSize sz,
Ipp32s bit_depth)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -