📄 rmaac-detector.h
字号:
/***************************************** Copyright © 2001-2003 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//** @file rmaac-detector.h @brief Simple Interface to an AAC (adif/adts/dsi) detector. @author Oriol Prieto Gasco @date 2005-03-22*/#ifndef __RMAACDETECTOR_H__#define __RMAACDETECTOR_H__#include "rmdetector-common.h"typedef enum { AAC_DSI_AUDIO, AAC_ADTS_AUDIO, AAC_ADIF_AUDIO} RMaacType;typedef enum { AAC_DSI_RESET = 0, AAC_DSI_SKIP_2ND_BYTE, AAC_DSI_SKIP_3RD_BYTE, AAC_DSI_SKIP_4TH_BYTE, AAC_DSI_READ_AOT, AAC_DSI_READ_FI, AAC_DSI_READ_XFI0, AAC_DSI_READ_XFI1, AAC_DSI_READ_XFI2, AAC_DSI_SKIP_CD0, AAC_DSI_SKIP_CD1, AAC_DSI_READ_CHANCONF, AAC_FOUND_DSI_AUDIO, AAC_DSI_DISCARDED} dsiAACState;typedef enum { AAC_ADIF_SEEK_A = 0, AAC_ADIF_SEEK_D, AAC_ADIF_SEEK_I, AAC_ADIF_SEEK_F, AAC_ADIF_READ_CR, AAC_ADIF_SKIP_CRI, AAC_ADIF_READ_BR0, AAC_ADIF_READ_BR1, AAC_ADIF_READ_BR2, AAC_ADIF_OFF5_READ_SFI, AAC_ADIF_OFF5_READ_FCE, AAC_ADIF_OFF5_READ_BCE, AAC_ADIF_OFF25_READ_SFI, AAC_ADIF_OFF25_READ_FCE, AAC_ADIF_OFF25_READ_BCE, AAC_FOUND_ADIF_AUDIO, AAC_ADIF_DISCARDED} adifAACState;typedef enum { AAC_ADTS_SEEK_SYNC0 = 0, AAC_ADTS_SEEK_SYNC1, AAC_ADTS_READ_FI, AAC_ADTS_READ_CC, AAC_FOUND_ADTS_AUDIO,} adtsAACState;class RMaacDetector : public RMobject{ public: RMaacDetector (); ~RMaacDetector (); // Resets the detector to parse a new bitstream. void Reset (void); RMbool Detect (RMuint8 *pbuffer, RMuint32 size); RMstatus GetType(eAudioFormat_type *audioType); RMstatus GetParams(RMuint32 *frequency, RMuint32 *channelCount, RMuint32 *bitrate); RMstatus GetAudioSpecificInfo(struct RM_Detection_Specific_Info *info); RMbool isAAC (RMaacType *aac_type, RMuint32 *frequency, RMuint32 *numberOfChannels); RMbool GetDSIParams(RMuint32 *frequency, RMuint32 *numberOfChannels); RMbool GetADTSParams(RMuint32 *frequency, RMuint32 *numberOfChannels); RMbool GetADIFParams(RMuint32 *frequency, RMuint32 *numberOfChannels); private: dsiAACState m_dsiAACState; RMuint32 m_dsiFrequency; RMuint32 m_dsiChannelNo; RMuint16 m_dsiAudioObjectType; RMuint8 m_dsiFrequencyIndex; RMuint8 m_dsiChannelConf; RMuint32 m_dsiPacketCount; adifAACState m_adifAACState; RMuint32 m_adifFrequency; RMuint32 m_adifChannelNo; RMuint8 m_adifBitstreamType; RMuint8 m_adifNumPCEs; RMuint8 m_adifSkipCount; RMuint8 m_adifFrequencyIndex; RMuint8 m_adifFrontChannels; RMuint8 m_adifSideChannels; RMuint8 m_adifBackChannels; adtsAACState m_adtsAACState; RMuint8 m_adtsFrequencyIndex; RMuint8 m_adtsChannelConf; RMuint32 m_adtsPacketCount; RMuint32 m_adtsFrequency; RMuint32 m_adtsChannelNo; RMuint32 m_parsedBytes;};#endif // __RMAACDETECTOR_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -