PutIntraBlock

Encodes, rearranges and puts intra block into bit stream.

Syntax

IppStatus ippiPutIntraBlock(Ipp32u** ppBitStream, int* pOffset, Ipp16s* pSrcBlock, Ipp32s* pDCPred, IppVCHuffmanSpec_32u* pDCTable, IppVCHuffmanSpec_32s* pACTable, Ipp32s* pScanMatrix, Ipp32s EOBLen, Ipp32s EOBCode, Ipp32s count);

Parameters

ppBitStream

Double pointer to the current position in the bit stream.

pOffset

Pointer to the offset between the bit that ppBitStream points to and the start of the code.

pSrcBlock

Pointer to the block.

pDCPred

Pointer to the value to be added to the DC coefficient; this value is read from the special table imposed by standard.

pDCTable

Pointer to the table containing codes for DC coefficient, that is, the first coefficient among the DCT coefficients.

pACTable

Pointer to the table containing Run-Level codes for AC coefficients, that is, all DCT coefficients except the first coefficient.

pScanMatrix

Pointer to the scanning matrix.

EOBLen

Length of the block end code.

EOBCode

Value of the block end code.

count

Number of the non-zero AC coefficients.

Description

This function is declared in the ippvc.h header file. The function ippiPutIntraBlock is applied to intra blocks and encodes a block of 8x8 DCT coefficients.

The ippiPutIntraBlock function encodes DC coefficient using the value * pDCPred for value computation and pDCTable for its encoding. Then it encodes AC coefficients using the pACTable.

The pointer pScanMatrix points to the scanning matrix that is described in MPEG standard. See Figure "Default Scanning Sequence" for the simple scanning matrix and sequence. After encoding, the data should be rearranged from linear sequence to scanning sequence.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when at least one input pointer is NULL.


Submit feedback on this help topic

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