MDCTFwd_MP3

Implements stage 2 of the MP3 hybrid analysis filterbank.

Syntax

IppStatus ippsMDCTFwd_MP3_32s(const Ipp32s* pSrc, Ipp32s* pDst, int blockType, int mixedBlock, IppMP3FrameHeader* pFrameHeader, Ipp32s* pOverlapBuf);

Parameters

pSrc

Pointer to the start of the 576-element block PQMF analysis output vector containing 18 consecutive blocks of 32 subband samples that are indexed as follows: pDstS[32* i+ sb], where i = 0,1,...,17 is time series index, sb = 0,1,...,31 is the subband index. All coefficients are represented using the Q7.24 format.

blockType

Block type indicator:

0 0 stands for normal block 1 stands for start block 2 stands for short block 3 stands for stop block.

mixedBlock

Mixed block indicator:0 stands for not mixed 1 stands for mixed.

pFrameHeader

Pointer to the IppMP3FrameHeader structure that contains the header associated with the current frame. Only MPEG‑1 (id = 1) is supported.

pOverlapBuf

Pointer to the MDCT overlap buffer that contains a copy of the most recent 576-element block of PQMF bank outputs. Prior to processing a new audio stream with the analysis filterbank, all elements of this buffer must be initialized to the constant value 0.

pDst

Pointer to the 576-element spectral coefficient output vector generated by the analysis filterbank.

Description

The function is declared in the ippac.h file. This function implements the second stage of MP3 hybrid analysis filterbank by performing the following operations:

The function ippsMDCTFwd_MP3_32s updates the 576-element MDCT overlap buffer pMDCTOverlap[], the contents of which must be preserved between calls to facilitate coherent block processing. The function must be applied once per granule on each channel (that is, applied twice per channel on each frame).

Note iconNote

Input coefficients are represented in the Q7.24 format. Output coefficients are represented in the Q5.26 format.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when any of the specified pointers is NULL.

Submit feedback on this help topic

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