ScanInv

Performs classical zigzag, alternate-horizontal, or alternate-vertical inverse scan on a block stored in a compact buffer.

Syntax

IppStatus ippiScanInv_16s_C1(Ipp16s* pSrc, Ipp16s* pDst, int indxLastNonZero, int scan);

Parameters

pSrc

Pointer to the input block (coefficients in the scan order).

pDst

Pointer to the output block (coefficients in the normal order). The output is in a full buffer that contains 64 elements.

indxLastNonZero

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

scan

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

IPPVC_SCAN_ZIGZAG,

indicating the classical zigzag scan,

IPPVC_SCAN_HORIZONTAL,

indicating the alternate-horizontal scan,

IPPVC_SCAN_VERTICAL,

indicating the alternate-vertical scan.

See the corresponding enumerator in the " Structures and Enumerators".

Description

The function ippiScanInv_16s_C1 is declared in the ippvc.h header file. This function converts a block of coefficients placed in classical zigzag, alternate-horizontal, or alternate-vertical scan order to a block of coefficients placed in the conventional - left-to-right, top-to-bottom raster scan - order. The zigzag and the two alternate scan patterns are shown, for example, in [ ITUH263 ], Figure14 and [ ITUH263 ], Annex I, Figure I.2.

This function is used in the H.263 decoder included into Intel IPP Samples downloadable from http://www.intel.com/cd/software/products/asmo-na/eng/220046.htm .

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error condition if at least one of the specified pointers is NULL.

ippStsOutOfRangeErr

Indicates an error condition if indxLastNonZero is out of the range [0, 63].


Submit feedback on this help topic

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