armacaac_decodeltpdata.c

来自「The OpenMAX DL (Development Layer) APIs 」· C语言 代码 · 共 70 行

C
70
字号
/** *  * File Name:  armACAAC_DecodeLtpData.c * OpenMAX DL: v1.0.2 * Revision:   10586 * Date:       Wednesday, March 5, 2008 *  * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. *  *  * * Description: * This file contains module for decoding TNS coefficients * */#include "omxtypes.h"#include "armOMX.h"#include "omxAC.h"#include "armAC.h"#include "armCOMM_Bitstream.h"#include "armACAAC_Tables.h"/** * Function: armACAAC_DecodeLtpData * * Description: * Parses the LTP information from the bit stream. * * Parameters: * [in/out]  ppBitStream  pointer to the pointer to the current byte * [in/out]  pOffset	  pointer to the bit position in the byte pointed *                         by *ppBitStream. Valid within 0 to 7. 0: MSB of *                         the byte, 7: LSB of the byte. * [in]  winSequence      window type, short or long * [in]  maxSfb           number of scale factor band * [out] pAACLtpInfo      pointer to the LTP information * */OMXVoid armACAAC_DecodeLtpData(                          const OMX_U8 **ppBitStream,                          OMX_INT *pOffset,                          OMX_INT winSequence,                          OMX_INT maxSfb,                          OMXAACLtpInfo *pLtpInfo                        ) {    OMX_INT sfbNum;    OMX_INT ltpCoef;        pLtpInfo->ltpLag  = (OMX_INT)armGetBits(ppBitStream,pOffset,11);    ltpCoef = (OMX_INT)armGetBits(ppBitStream,pOffset,3);    pLtpInfo->ltpCoef = armACAAC_ltpTable [ltpCoef] * (1L << 14);    if(winSequence != ARM_AAC_EIGHT_SHORT_SEQUENCE)    {        for(sfbNum = 0; sfbNum < armMin(maxSfb,OMX_AAC_MAX_LTP_SFB) ; sfbNum++ )        {            pLtpInfo->pLtpLongUsed[sfbNum] = (OMX_INT)armGetBits(ppBitStream,pOffset,1);        }    }    return;}/*End of File*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?