EncodeCoeffsIntra_MPEG4

Encodes DCT coefficients for intra coded block.

Syntax

IppStatus ippiEncodeCoeffsIntra_MPEG4_16s1u(const Ipp16s* pCoeffs, Ipp8u** ppBitStream, int* pBitOffset, int countNonZero, int rvlcFlag, int noDCFlag, int scan);

Parameters

pCoeffs

Pointer to the input coefficients.

ppBitStream

Pointer to the pointer to the current byte in the bitstream buffer. The pointer is updated by the function.

pBitOffset

Pointer to the bit position in the byte pointed by **ppBitStream. The pointer is updated by the function.

countNonZero

Number of non-zero coefficients.

rvlcFlag

Flag, when set to ‘0' indicates that VLC tables B.16, B.18, B.19, and B.21 [ISO14496] are used in encoding DCT coefficients, otherwise the reversible variable length tables B.23, B.24, and B.25 [ISO14496] are used.

noDCFlag

Flag, when set to ‘0' indicates that pCoeffs is set starting with zero element, otherwise - with the first element.

scan

Type of the scan, takes one of the following values:

IPPVC_SCAN_NONE,

indicating that no scan is performed,

IPPVC_SCAN_ZIGZAG,

indicating the classical zigzag scan.

IPPVC_SCAN_HORIZONTAL,

indicating the alternate-horinizontal scan.

IPPVC_SCAN_VERTICAL,

indicating the alternate-vertical scan.

See the corresponding enumerator in the introduction to the General Functions.

Description

The function ippiEncodeCoeffsIntra_MPEG4_16s1u is declared in the ippvc.h header file. This function performs VLC encoding of the DC coefficient (if noDCFlag is 0) and AC coefficients for one intra coded block in scan order defined by scan.

This function is used in the MPEG-4 encoder included into Intel IPP Samples. See introduction to MPEG-4.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

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

ippStsBitOffsetErr

Indicates an error condition if *pBitOffset is out of the range [0, 7].


Submit feedback on this help topic

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