This section describes functions for decoding and encoding of video data in accordance with VC-1 standard ([SMPTE421M]).
The following enumeration is used for deblocking and smoothing functions to indicate parts of luma blocks edges:
enum{
IPPVC_EDGE_QUARTER_1 = 0x01,
IPPVC_EDGE_QUARTER_2 = 0x02,
IPPVC_EDGE_QUARTER_3 = 0x04,
IPPVC_EDGE_QUARTER_4 = 0x08,
IPPVC_EDGE_HALF_1 = IPPVC_EDGE_QUARTER_1 + IPPVC_EDGE_QUARTER_2,
IPPVC_EDGE_HALF_2 = IPPVC_EDGE_QUARTER_3 + IPPVC_EDGE_QUARTER_4,
IPPVC_EDGE_ALL = IPPVC_EDGE_HALF_1 + IPPVC_EDGE_HALF_2,
};
Note that the VC-1 functions with _16u_ and _8u_ data types use the following structures:
typedef struct _IppVCInterpolate_16u
{
const Ipp16u* pSrc;
Ipp32s srcStep;
Ipp16u* pDst;
Ipp32s dstStep;
Ipp32s dx;
Ipp32s dy;
IppiSize roiSize;
Ipp32s bitDepth;
} IppVCInterpolate_16u;
typedef struct _IppVCInterpolate_8u
{
const Ipp8u* pSrc;
Ipp32s srcStep;
Ipp8u* pDst;
Ipp32s dstStep;
Ipp32s dx;
Ipp32s dy;
IppiSize roiSize;
Ipp32s bitDepth;
} IppVCInterpolate_8u;
where dx, dy are fractional parts of the motion vector in 1/4 pel units (0, 1, 2, or 3).
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.