QuantInvIntra_H263

Performs inverse quantization on an intra coded block stored in a one-dimensional buffer.

Syntax

IppStatus ippiQuantInvIntra_H263_16s_C1I(Ipp16s* pSrcDst, int indxLastNonZero, int QP, int advIntraFlag, int modQuantFlag);

Parameters

pSrcDst

Pointer to the coefficient buffer of the block. The parameter contains quantized coefficients on input and dequantized coefficients on output.

indxLastNonZero

Index of the last non-zero coefficient. This parameter provides faster operation. If the value is unknown, set to 63.

QP

Quantization parameter.

advIntraFlag

Flag equal to a non-zero value when Advanced Intra Coding mode is in use, equal to 0 otherwise.

modQuantFlag

Flag equal to a non-zero value when Modified Quantization mode is in use, equal to 0 otherwise.

Description

The function ippiQuantInvIntra_H263_16s_C1I is declared in the ippvc.h header file. This function performs inverse quantization on intra coded block. When not in Advanced Intra Coding mode, the dequantization processes for the intra DC and for all other non-zero coefficients are specified in [ITUH263], subclause 6.2.1, otherwise all the coefficients are dequantized as specified in [ITUH263] Annex I, clause I.3. When not in Advanced Intra Coding mode and not in Modified Quantization mode, the output coefficients other than the intra DC are clipped to the range [-2048, 2047] ([ITUH263], subclause 6.2.2). The overall procedure is defined in [ITUH263] as:

if (advIntraFlag == 0):



where i = 1, 2, ..., indxLastNonZero

pDst[0] = 8*pSrc [i]

if (advIntraFlag != 0):

pDst[i] = 2*QP*pSrc[i]

where i = 0, 1, 2, ..., indxLastNonZero

if (advIntraFlag == 0 && modQuantFlag == 0):

pDst[i] = MIN(MAX(pDst[i],-2048),2047).

Note iconNote

The function ippiQuantInvIntra_H263_16s_C1I can be applied to a buffer of arbitrary size (indxLastNonZero can be any positive number), and can thus be used, for example, to process multiple blocks in one call. In this case, for any intra block following the first one, the intra DC should be processed separately, if not in the Advanced Intra mode.

This function is used in the H.261, H.263, and MPEG-4 encoders and decoders included into Intel IPP Samples. See introduction to H.263.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error condition if pSrcDst is NULL.

ippStsQPErr

Indicates an error condition if QP is out of the range [1, 31].

ippStsOutOfRangeErr

Indicates an error condition if indxLastNonZero is negative.


Submit feedback on this help topic

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