This section contains functions for encoding and decoding of video data according to MPEG-1([ISO11172]) and MPEG-2([ISO13818]) standards.
The use of some functions described in this section is demonstrated in Intel® IPP Samples downloadable from http://www.intel.com/cd/software/products/asmo-na/eng/220046.htm .
The enumeration IPPVC_MV_TYPE indicates motion vector types (FIELD, FRAME).
typedef enum _IPPVC_MV_TYPE{
IPPVC_MV_FIELD = 0x0,
IPPVC_MV_FRAME = 0x1,
}IPPVC_MV_TYPE;
Function Short Name | Description |
---|---|
Variable Length Decoding |
|
Allocates memory and initializes a table that contains codes for macroblock address increment, macroblock type, macroblock pattern, or motion vectors. | |
Allocates memory and initializes a table that contains codes for DCT coefficients, that is, Run-Level codes. | |
Decodes a code from the bitstream using a specified table. | |
Decodes one code using specified table and gets two decoded values. | |
Decodes 8X8 non-intra block using table of Run-Level codes for standard MPEG1, rearranges and performs inverse quantization. | |
Decodes 8X8 intra block using table of Run-Level codes for standard MPEG1, rearranges and performs inverse quantization. | |
Decodes 8X8 non-intra block using table of Run-Level codes for standard MPEG2, rearranges and performs inverse quantization. | |
Decodes 8X8 intra block using table of Run-Level codes for standard MPEG2, rearranges and performs inverse quantization. | |
Frees memory allocated for VLC table. | |
Inverse Quantization |
|
Performs inverse quantization for intra frames according to MPEG-2 standard. | |
Performs inverse quantization for non-intra frames according to MPEG-2 standard. | |
Inverse Discrete Cosine Transformation |
|
Performs inverse DCT on pre-transposed block. | |
Performs inverse DCT on pre-transposed block and converts output to unsigned char format. | |
Performs inverse DCT on pre-transposed data of two input chroma blocks and joins the output data into one array. | |
Performs inverse DCT on pre-transposed data of two input chroma blocks and joins the output data into one unsigned char array. | |
Performs inverse DCT on an 8x8 block. | |
Motion Compensation |
|
Performs motion compensation for a predicted 16X16 block. | |
Performs motion compensation for a predicted 16X8 block. | |
Performs motion compensation for a predicted 8X16 block. | |
Performs motion compensation for a predicted 8X8 block. | |
Performs motion compensation for a predicted 8X4 block. | |
Performs motion compensation for a predicted 4X8 block. | |
Performs motion compensation for predicted UV 16X4 block. | |
Performs motion compensation for predicted UV 16X8 block. | |
Performs motion compensation for a bi-predicted 16X16 block. | |
Performs motion compensation for a bi-predicted 16X8 block. | |
Performs motion compensation for a bi-predicted 8X16 block. | |
Performs motion compensation for a bi-predicted 8X8 block. | |
Performs motion compensation for a bi-predicted 8X4 block. | |
Performs motion compensation for bi-predicted UV 16X4 block. | |
Performs motion compensation for bi-predicted UV 16X8 block. |
Function Short Name | Description |
---|---|
Motion Estimation |
|
Evaluates difference between current predicted and reference blocks of 16x16 elements. | |
Evaluates difference between current predicted and reference blocks of 16x8 elements. | |
Evaluates difference between current predicted and reference blocks of 8x8 elements. | |
Evaluates difference between current predicted and reference blocks of 8x16 elements. | |
Evaluates difference between current predicted and reference blocks of 8x4 elements. | |
Evaluates difference between current bi-predicted and mean of two reference blocks of 16x16 elements. | |
Evaluates difference between current bi-predicted and mean of two reference blocks of 16x8 elements. | |
Evaluates difference between current bi-predicted and mean of two reference blocks of 8x8 elements. | |
Evaluates difference between current bi-predicted and mean of two reference blocks of 8x16 elements. | |
Evaluates difference between current bi-predicted and mean of two reference blocks of 8x4 elements. | |
Evaluates sum of squares of differences between current and reference blocks. | |
Evaluates the sum of squares of differences between the current bi-predicted block and the mean of two reference blocks. | |
Evaluates variance and mean of 8X8 block. | |
Evaluates variances and means of four 8x8 blocks of difference between two 16x16 blocks. | |
Evaluates variances and means of four 8x8 blocks of difference between two 16x8 blocks. | |
Evaluates sum of absolute difference between current and reference blocks. | |
Quantization |
|
Performs quantization on DCT coefficients for intra blocks in-place with specified quantization matrix according to MPEG-2 standard. | |
Performs quantization on DCT coefficients for non-intra blocks in-place with specified quantization matrix according to MPEG-2 standard. | |
Forward Discrete Cosine Transformation |
|
Performs forward DCT on an 8x8 block of a chrominance part of NV12 plane. | |
Huffman Encoding |
|
Creates Run-Level Encode Table. | |
Encodes, rearranges and puts intra block into the bit stream. | |
Encodes, rearranges and puts non-intra block into the bit stream. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.