Structures and Enumerators

The structure IppMotionVector can be used in both H.263 and MPEG-4 video processing functions and is defined as follows:

typedef struct {
    Ipp16s dx;
    Ipp16s dy;
} IppMotionVector;

The following enumerator indicates the type of a decoded macroblock or a macroblock to be encoded. IPPVC_MB_STUFFING indicates that a bit stuffing codeword was decoded from the bitstream or should be encoded into the bitstream.

enum 
{
   IPPVC_MBTYPE_INTER = 0,       /* valid in P-picture or P-VOP*/
   IPPVC_MBTYPE_INTER_Q = 1,     /* P-picture or P-VOP*/
   IPPVC_MBTYPE_INTER4V = 2,     /* P-picture or P-VOP*/
   IPPVC_MBTYPE_INTRA = 3,       /* I- and P-picture, or I- and P-VOP*/
   IPPVC_MBTYPE_INTRA_Q = 4,     /* I- and P-picture, or I- and P-VOP*/
   IPPVC_MBTYPE_INTER4V_Q = 5,   /* P-picture or P-VOP*/
   IPPVC_MBTYPE_DIRECT = 6,      /* B-picture or B-VOP*/
   IPPVC_MBTYPE_INTERPOLATE = 7, /* B-picture or B-VOP*/
   IPPVC_MBTYPE_BACKWARD = 8,    /* B-picture or B-VOP*/
   IPPVC_MBTYPE_FORWARD = 9,     /* B-picture or B-VOP*/
   IPPVC_MB_STUFFING = 255       /* indicates bit stuffing codeword*/
};

The following enumerator indicates the type of scan performed on DCT coefficients:

enum 
{
   IPPVC_SCAN_NONE = -1,      no scan to be performed 
   IPPVC_SCAN_ZIGZAG = 0,     classical zigzag scan 
   IPPVC_SCAN_VERTICAL = 1,   alternate vertical scan 
   IPPVC_SCAN_HORIZONTAL = 2  alternate horizontal scan 
};

See typical scan patterns in Figure "Standard Decoding Pipeline" and the scanning process according to the classical scanning pattern in Figure "Standard Decoding Pipeline".

The following enumerator indicates the type of interpolation performed on a picture. This enumerator is used, for example, in spatial scalability mode.

enum 
{
   IPPVC_INTERP_NONE = 0,        no interpolation 
   IPPVC_INTERP_HORIZONTAL = 1,  1-D horizontal interpolation 
   IPPVC_INTERP_VERTICAL = 2,    1-D vertical interpolation 
   IPPVC_INTERP_2D = 3           2-D interpolation 
};

The following enumerator indicates the type of rotate operation for general color conversion functions:

enum {
IPPVC_ROTATE_DISABLE = 0,
IPPVC_ROTATE_90CCW = 1, 
IPPVC_ROTATE_90CW = 2,
IPPVC_ROTATE_180 = 3 
};

The following enumerator indicates the type of color space conversion for general color conversion functions:

enum 
{
IPPVC_CbYCr422ToBGR565 = 0,
IPPVC_CbYCr422ToBGR555 = 1 
};

The enumerator IPPVC_MC_APX indicates the type of prediction for motion compensation or motion estimation.

typedef enum _IPPVC_MC_APX{
		IPPVC_MC_APX_FF = 0x0,
		IPPVC_MC_APX_FH = 0x4,
		IPPVC_MC_APX_HF = 0x8,
		IPPVC_MC_APX_HH = 0x0c
	}IPPVC_MC_APX;

The first descriptors FF, FH, HF, HH show whether prediction is accurate to full pel (F) or to half a pel (H). The first letter indicates the accuracy in horizontal direction and the second — in vertical direction.

Most of general functions use parameter mcType (see enumeration IPPVC_MC_APX). It is used for calculating prediction on the basis of block in the reference frame. See Figure "Predictions for 4x4 Reference Block".

Predictions for 4x4 Reference Block




Submit feedback on this help topic

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