VC-1

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).

Horizontal Luma Edge



Vertical Luma Edge



Horizontal Chroma Edge



Vertical Chroma Edge




Submit feedback on this help topic

Copyright © 2000 - 2010, Intel Corporation. All rights reserved.