Removed from repo
This commit is contained in:
parent
3f856d2842
commit
0ee0230131
|
@ -1,326 +0,0 @@
|
||||||
/****************************************************************************
|
|
||||||
|
|
||||||
This program is protected under international copyright laws as an
|
|
||||||
unpublished work. Do not copy.
|
|
||||||
|
|
||||||
(C) Copyright Coding Technologies (2004 - 2007)
|
|
||||||
(C) Copyright Dolby Sweden AB (2008 - 2009)
|
|
||||||
All Rights Reserved
|
|
||||||
|
|
||||||
This software is company confidential information and the property of
|
|
||||||
Dolby Sweden AB, and can not be reproduced or disclosed in any form
|
|
||||||
without written authorization of Dolby Sweden AB.
|
|
||||||
|
|
||||||
Those intending to use this software module for other purposes are advised
|
|
||||||
that this infringe existing or pending patents. Dolby Sweden AB has no
|
|
||||||
liability for use of this software module or derivatives thereof in any
|
|
||||||
implementation. Copyright is not released for any means. Dolby Sweden AB
|
|
||||||
retains full right to use the code for its own purpose, assign or sell the
|
|
||||||
code to a third party and to inhibit any user or third party from using the
|
|
||||||
code. This copyright notice must be included in all copies or derivative
|
|
||||||
works.
|
|
||||||
|
|
||||||
$Id: aacplusdectypes.h,v 1.2 2009/10/12 13:27:37 audiodsp Exp $
|
|
||||||
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\file
|
|
||||||
\brief aacPlus Decoder Library Interface Datatypes
|
|
||||||
\author Holger Hoerich
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _AACPLUSDECTYPES_H_
|
|
||||||
#define _AACPLUSDECTYPES_H_
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***
|
|
||||||
MACROS *****/
|
|
||||||
|
|
||||||
|
|
||||||
#define AACPLUSDEC_MAXPROGRAMS 16
|
|
||||||
#define AACPLUSDEC_MAXDATASTREAMELEMENTS 16
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct STRUCT_AACPLUSDECODER *HANDLE_AACPLUSDEC_DECODER;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***
|
|
||||||
ENUMERATION TYPES *****/
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief Different Supported Output Formats
|
|
||||||
*/
|
|
||||||
typedef enum ENUM_AACPLUSDEC_OUTPUTFORMAT {
|
|
||||||
AACPLUSDEC_OUTPUTFORMAT_INT16_HOSTENDIAN = 0 /*!< 16 bit signed integer as short, 2 bytes/sample,
|
|
||||||
machine dep. endianess, clipped */
|
|
||||||
,AACPLUSDEC_OUTPUTFORMAT_FLOAT /*!< -1.0 .. +1.0 scaled float, 4 bytes/sample,
|
|
||||||
not clipped */
|
|
||||||
,AACPLUSDEC_OUTPUTFORMAT_INT24_LITTLEENDIAN /*!< 24 bit signed integer packed in 3 bytes/sample,
|
|
||||||
little endian, clipped */
|
|
||||||
|
|
||||||
} AACPLUSDEC_OUTPUTFORMAT;
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief List of supported MPEG-4 Audio Object Types or MPEG-2 Profiles
|
|
||||||
*/
|
|
||||||
typedef enum ENUM_AACPLUSDEC_STREAMTYPE {
|
|
||||||
AACPLUSDEC_STREAMTYPE_UNDEFINED = 0
|
|
||||||
|
|
||||||
/* MPEG-2 Profiles */
|
|
||||||
,AACPLUSDEC_MPEG2_PROFILE_AACMAIN = 0x0200 | 0
|
|
||||||
,AACPLUSDEC_MPEG2_PROFILE_AACLC = 0x0200 | 1
|
|
||||||
|
|
||||||
/* MPEG-4 Audio Object Types */
|
|
||||||
,AACPLUSDEC_MPEG4_AOT_AACMAIN = 0x0400 | 1
|
|
||||||
,AACPLUSDEC_MPEG4_AOT_AACLC = 0x0400 | 2
|
|
||||||
,AACPLUSDEC_MPEG4_AOT_SBR = 0x0400 | 5
|
|
||||||
|
|
||||||
,AACPLUSDEC_STREAMTYPE_UNSUPPORTED = -1
|
|
||||||
|
|
||||||
} AACPLUSDEC_STREAMTYPE;
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief Decoding States
|
|
||||||
*/
|
|
||||||
typedef enum ENUM_AACPLUSDEC_DECODINGSTATE {
|
|
||||||
AACPLUSDEC_DECODINGSTATE_IDLE = 0 /*!< decoder awaits first frame, has not yet found a valid frame */
|
|
||||||
,AACPLUSDEC_DECODINGSTATE_STREAMPARSED /*!< first frame parsed or decoded */
|
|
||||||
,AACPLUSDEC_DECODINGSTATE_STREAMVERIFIED /*!< stream properties verified by second frame */
|
|
||||||
,AACPLUSDEC_DECODINGSTATE_BADFRAME /*!< a bad frame occured */
|
|
||||||
,AACPLUSDEC_DECODINGSTATE_FLUSHING /*!< flushing decoder */
|
|
||||||
,AACPLUSDEC_DECODINGSTATE_ENDOFSTREAM /*!< final state, destroy instance */
|
|
||||||
|
|
||||||
} AACPLUSDEC_DECODINGSTATE;
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief Possible Limitations to Decoder Behaviour
|
|
||||||
*/
|
|
||||||
typedef enum ENUM_AACPLUSDEC_CAPABILITY {
|
|
||||||
AACPLUSDEC_CAPABILITY_FULL = 0
|
|
||||||
,AACPLUSDEC_CAPABILITY_V1_ONLY = 1010
|
|
||||||
|
|
||||||
} AACPLUSDEC_CAPABILITY;
|
|
||||||
|
|
||||||
typedef enum ENUM_AACPLUSDEC_CHANNELMODE {
|
|
||||||
AACPLUSDEC_CHANNELMODE_UNDEFINED = 0
|
|
||||||
,AACPLUSDEC_CHANNELMODE_MONO
|
|
||||||
,AACPLUSDEC_CHANNELMODE_STEREO
|
|
||||||
,AACPLUSDEC_CHANNELMODE_2_1_CHANNEL
|
|
||||||
,AACPLUSDEC_CHANNELMODE_PARAMETRIC_STEREO
|
|
||||||
,AACPLUSDEC_CHANNELMODE_DUAL_CHANNEL
|
|
||||||
,AACPLUSDEC_CHANNELMODE_3_CHANNEL_1REAR
|
|
||||||
,AACPLUSDEC_CHANNELMODE_3_CHANNEL_MPEG
|
|
||||||
,AACPLUSDEC_CHANNELMODE_3_CHANNEL_3SCE
|
|
||||||
,AACPLUSDEC_CHANNELMODE_4_CHANNEL_MPEG
|
|
||||||
,AACPLUSDEC_CHANNELMODE_4_CHANNEL_4SCE
|
|
||||||
,AACPLUSDEC_CHANNELMODE_4_CHANNEL_2CPE
|
|
||||||
,AACPLUSDEC_CHANNELMODE_5_CHANNEL
|
|
||||||
,AACPLUSDEC_CHANNELMODE_5_1_CHANNEL
|
|
||||||
,AACPLUSDEC_CHANNELMODE_5_CHANNEL_5SCE
|
|
||||||
,AACPLUSDEC_CHANNELMODE_6_1_CHANNEL
|
|
||||||
,AACPLUSDEC_CHANNELMODE_6_CHANNEL_6SCE
|
|
||||||
,AACPLUSDEC_CHANNELMODE_6_CHANNEL_3CPE
|
|
||||||
,AACPLUSDEC_CHANNELMODE_7_1_CHANNEL
|
|
||||||
,AACPLUSDEC_CHANNELMODE_7_CHANNEL_7SCE
|
|
||||||
,AACPLUSDEC_CHANNELMODE_8_CHANNEL_8SCE
|
|
||||||
,AACPLUSDEC_CHANNELMODE_8_CHANNEL_4CPE
|
|
||||||
|
|
||||||
} AACPLUSDEC_CHANNELMODE ;
|
|
||||||
|
|
||||||
|
|
||||||
typedef enum ENUM_AACPLUSDEC_CONFIGTYPE {
|
|
||||||
AACPLUSDEC_CONFIGTYPE_UNSPECIFIED = 0
|
|
||||||
,AACPLUSDEC_CONFIGTYPE_STREAMMUXCONFIG
|
|
||||||
,AACPLUSDEC_CONFIGTYPE_AUDIOSPECIFICCONFIG
|
|
||||||
,AACPLUSDEC_CONFIGTYPE_DECODERCONFIGDESCRIPTOR
|
|
||||||
,AACPLUSDEC_CONFIGTYPE_DECODERSPECIFICINFO
|
|
||||||
|
|
||||||
} AACPLUSDEC_CONFIGTYPE;
|
|
||||||
|
|
||||||
typedef enum ENUM_AACPLUSDEC_BITSTREAMFORMAT {
|
|
||||||
AACPLUSDEC_BITSTREAMFORMAT_AUTO = 0
|
|
||||||
,AACPLUSDEC_BITSTREAMFORMAT_RAW
|
|
||||||
,AACPLUSDEC_BITSTREAMFORMAT_ADIF
|
|
||||||
,AACPLUSDEC_BITSTREAMFORMAT_ADTS
|
|
||||||
,AACPLUSDEC_BITSTREAMFORMAT_LATM
|
|
||||||
,AACPLUSDEC_BITSTREAMFORMAT_LOAS
|
|
||||||
|
|
||||||
} AACPLUSDEC_BITSTREAMFORMAT;
|
|
||||||
|
|
||||||
typedef enum ENUM_AACPLUSDEC_ERROR {
|
|
||||||
AACPLUSDEC_OK = 0
|
|
||||||
|
|
||||||
,AACPLUSDEC_ERROR_GENERALERROR = 0x1100
|
|
||||||
,AACPLUSDEC_ERROR_INVALIDHANDLE
|
|
||||||
,AACPLUSDEC_ERROR_OUTOFMEMORY
|
|
||||||
,AACPLUSDEC_ERROR_UNSUPPORTEDSETTING
|
|
||||||
,AACPLUSDEC_ERROR_TARGETBUFFERTOOSMALL
|
|
||||||
,AACPLUSDEC_ERROR_NEEDMOREDATA
|
|
||||||
,AACPLUSDEC_ERROR_ENDOFSTREAM
|
|
||||||
,AACPLUSDEC_ERROR_WRONGARGUMENT
|
|
||||||
,AACPLUSDEC_ERROR_AACMAINNOTSUPORTED
|
|
||||||
|
|
||||||
} AACPLUSDEC_ERROR;
|
|
||||||
|
|
||||||
typedef enum ENUM_AACPLUSDEC_SIGNALLING {
|
|
||||||
AACPLUSDEC_SIGNALLING_IMPLICIT = -1
|
|
||||||
,AACPLUSDEC_SIGNALLING_DISABLED = 0
|
|
||||||
,AACPLUSDEC_SIGNALLING_ENABLED_BC
|
|
||||||
,AACPLUSDEC_SIGNALLING_ENABLED_NONBC
|
|
||||||
|
|
||||||
} AACPLUSDEC_SIGNALLING;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***
|
|
||||||
STRUCTURED TYPES *****/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief Properties Of A Program Embeddded In The aacPlus Audio Stream
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
int bProgramFound; /*!< true if this program is available in the bitstream */
|
|
||||||
|
|
||||||
int nOutputSamplingRate; /*!< output sampling frequency */
|
|
||||||
int nOutputSamplesPerFrame; /*!< number of output samples per frame */
|
|
||||||
int nStreamOutputChannels; /*!< number of audio output channels in the stream */
|
|
||||||
int nOutputChannels; /*!< number of audio output channels after downmix */
|
|
||||||
|
|
||||||
int bProgramSbrEnabled; /*!< non-zero when SBR is decoded */
|
|
||||||
int nAacSamplingRate; /*!< core sampling rate */
|
|
||||||
int nAacChannels; /*!< core channels */
|
|
||||||
|
|
||||||
AACPLUSDEC_CHANNELMODE nChannelMode; /*!< audio channel configuration */
|
|
||||||
int nNumberOfFrontChannels; /*!< number of front channels in this program */
|
|
||||||
int nNumberOfSideChannels; /*!< number of side channels in this program */
|
|
||||||
int nNumberOfRearChannels; /*!< number of rear channels in this program */
|
|
||||||
int nNumberOfLfeChannels; /*!< number of LFE channels in this program */
|
|
||||||
|
|
||||||
|
|
||||||
AACPLUSDEC_STREAMTYPE nStreamType; /*!< Audio Object Type if accessible (profile if MPEG-2) */
|
|
||||||
AACPLUSDEC_SIGNALLING nSbrSignalling; /*!< SBR signalling */
|
|
||||||
AACPLUSDEC_SIGNALLING nPsSignalling; /*!< PS signalling */
|
|
||||||
|
|
||||||
} AACPLUSDEC_PROGRAMPROPERTIES;
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief Properties Of The aacPlus Audio Stream
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
AACPLUSDEC_DECODINGSTATE nDecodingState; /*!< state of decoding */
|
|
||||||
int bSbrDecodingFailed; /*!< state of sbr decoding */
|
|
||||||
|
|
||||||
AACPLUSDEC_BITSTREAMFORMAT nBitstreamFormat; /*!< bitstream format, may be set for streams without synch */
|
|
||||||
|
|
||||||
int nBitrate; /*!< estimated bitrate (frequently updated) */
|
|
||||||
|
|
||||||
int nProgramsInStream; /*!< number of programs embedded in audio stream */
|
|
||||||
int nCurrentProgram; /*!< index of current decoded program (defaults to 0) */
|
|
||||||
|
|
||||||
AACPLUSDEC_PROGRAMPROPERTIES programProperties[AACPLUSDEC_MAXPROGRAMS]; /*!< properties of embedded programs */
|
|
||||||
|
|
||||||
|
|
||||||
} AACPLUSDEC_STREAMPROPERTIES;
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief Settings of the decoder library
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
int bEnableConcealment; /*!< set for concealment, erroneous frames muted otherwise */
|
|
||||||
int bEnableOutputLimiter; /*!< activate limiter on the PCM output data */
|
|
||||||
int bDoLowPowerSBR; /*!< use Low Power SBR */
|
|
||||||
int bDoUpsampling; /*!< do upsampling by 2 when AAC sample rate is below 32kHz */
|
|
||||||
int nDownsampleSbrAtTargetFs; /*!< do downsampled SBR when core sample rate is at or above given value in Hz */
|
|
||||||
int bForceAdtsCRCheck; /*!< tell the decoder ADTS CRC is present even if not recognized (ist this correct?) */
|
|
||||||
int bForceMpeg2Behaviour; /*!< tell the decoder to act like an MPEG-2 decoder, i.e. apply concealment on PNS frames */
|
|
||||||
int bNoChannelReordering; /*!< tell the decoder to keep the channels in the order as they appear in the bitstream */
|
|
||||||
|
|
||||||
AACPLUSDEC_CAPABILITY eDecCapability; /*!< set decoding capability */
|
|
||||||
|
|
||||||
int reserved1;
|
|
||||||
int reserved2;
|
|
||||||
|
|
||||||
int nMaxMainAudioChannels; /*!< allocate num. audio channels */
|
|
||||||
int nMaxLFEChannels; /*!< allocate num. low frequency enhancement channels */
|
|
||||||
int nMaxIndependentlySwitchedCouplingChannels; /*!< allocate num. independently switched CCE */
|
|
||||||
int nMaxDependentlySwitchedCouplingChannels; /*!< allocate num. dependently switched CCE */
|
|
||||||
|
|
||||||
int nDmxOutputChannels; /*!< number of downmix channels (0..2; 0 means no downmix) */
|
|
||||||
int nDmxCoefficients; /*!< coefficient selection according to 13818-7, Table 8.3.8.5 */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} AACPLUSDEC_EXPERTSETTINGS;
|
|
||||||
|
|
||||||
/***
|
|
||||||
BUFFER DESCRIPTIONS *****/
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief Audio Buffer Description
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
int nBytesBufferSizeIn;
|
|
||||||
int nBytesWrittenOut;
|
|
||||||
int nBytesMissedOut;
|
|
||||||
} AACPLUSDEC_AUDIOBUFFERINFO;
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief Bitstream Buffer Description
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
int nBytesGivenIn;
|
|
||||||
int nBitsOffsetIn;
|
|
||||||
int nBytesReadOut;
|
|
||||||
} AACPLUSDEC_BITSTREAMBUFFERINFO;
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief Datastream Element Description
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
int nInstanceTagOut;
|
|
||||||
int nBytesOffsetOut;
|
|
||||||
int nBytesLengthOut;
|
|
||||||
} AACPLUSDEC_DATASTREAMELEMENT;
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\brief Datastream Buffer Description
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
int nBytesBufferSizeIn;
|
|
||||||
int nBytesWrittenOut;
|
|
||||||
int nBytesMissedOut;
|
|
||||||
int nNumDataStreamElementsOut;
|
|
||||||
AACPLUSDEC_DATASTREAMELEMENT elementDescription[AACPLUSDEC_MAXDATASTREAMELEMENTS];
|
|
||||||
} AACPLUSDEC_DATASTREAMBUFFERINFO;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***
|
|
||||||
END *****************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _AACPLUSDECTYPES_H_ */
|
|
|
@ -1,117 +0,0 @@
|
||||||
#ifndef __WASABI_API_AACPLUSDECODER_H
|
|
||||||
#define __WASABI_API_AACPLUSDECODER_H
|
|
||||||
|
|
||||||
#include <bfc/dispatch.h>
|
|
||||||
#include "aacplusdectypes.h"
|
|
||||||
#include <bfc/platform/types.h>
|
|
||||||
class NOVTABLE api_aacplusdecoder : public Dispatchable
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
api_aacplusdecoder() {}
|
|
||||||
~api_aacplusdecoder() {}
|
|
||||||
public:
|
|
||||||
DISPATCH_CODES
|
|
||||||
{
|
|
||||||
AACPLUSDECODER_EASY_OPEN = 10,
|
|
||||||
AACPLUSDECODER_CLOSE = 20,
|
|
||||||
AACPLUSDECODER_RESTART = 30,
|
|
||||||
|
|
||||||
AACPLUSDECODER_READ_CONFIG_STREAM = 40,
|
|
||||||
AACPLUSDECODER_GET_DECODER_SETTINGS_HANDLE = 50,
|
|
||||||
AACPLUSDECODER_SET_DECODER_SETTINGS = 60,
|
|
||||||
|
|
||||||
AACPLUSDECODER_GET_STREAM_PROPERTIES_HANDLE = 70,
|
|
||||||
|
|
||||||
AACPLUSDECODER_STREAM_FEED =80,
|
|
||||||
AACPLUSDECODER_STREAM_DECODE=90,
|
|
||||||
|
|
||||||
AACPLUSDECODER_FRAME_DECODE=100,
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
AACPLUSDEC_ERROR EasyOpen(AACPLUSDEC_OUTPUTFORMAT outputFormat, int nMaxAudioChannels);
|
|
||||||
void Close();
|
|
||||||
AACPLUSDEC_ERROR Restart();
|
|
||||||
|
|
||||||
AACPLUSDEC_ERROR ReadConfigStream(unsigned char *pucConfigStreamBufferIn, AACPLUSDEC_BITSTREAMBUFFERINFO *hConfigStreamBufferInfoInOut, AACPLUSDEC_CONFIGTYPE nConfigTypeIn, int bConfigStreamInBand, AACPLUSDEC_BITSTREAMFORMAT bitstreamFormatIn);
|
|
||||||
AACPLUSDEC_EXPERTSETTINGS *GetDecoderSettingsHandle();
|
|
||||||
AACPLUSDEC_ERROR SetDecoderSettings();
|
|
||||||
|
|
||||||
AACPLUSDEC_STREAMPROPERTIES *GetStreamPropertiesHandle();
|
|
||||||
|
|
||||||
AACPLUSDEC_ERROR StreamFeed(unsigned char *pucBitstrmBufIn, AACPLUSDEC_BITSTREAMBUFFERINFO *hBitstrmBufInfoInOut);
|
|
||||||
AACPLUSDEC_ERROR StreamDecode(void *pPcmAudioBufOut, AACPLUSDEC_AUDIOBUFFERINFO *hPcmAudioBufInfoInOut, unsigned char *pucDataStreamBufOut, AACPLUSDEC_DATASTREAMBUFFERINFO *hDataStreamBufInfoInOut);
|
|
||||||
AACPLUSDEC_ERROR FrameDecode( void *pPcmAudioBufOut,
|
|
||||||
AACPLUSDEC_AUDIOBUFFERINFO *hPcmAudioBufInfoInOut,
|
|
||||||
unsigned char *pucFrameBufferIn,
|
|
||||||
AACPLUSDEC_BITSTREAMBUFFERINFO *hFrameBufferInfoInOut,
|
|
||||||
int bFrameCorrupt,
|
|
||||||
unsigned char *pucDataStreamBufOut,
|
|
||||||
AACPLUSDEC_DATASTREAMBUFFERINFO *hDataStreamBufInfoInOut);
|
|
||||||
};
|
|
||||||
|
|
||||||
inline AACPLUSDEC_ERROR api_aacplusdecoder::EasyOpen(AACPLUSDEC_OUTPUTFORMAT outputFormat, int nMaxAudioChannels)
|
|
||||||
{
|
|
||||||
return _call(AACPLUSDECODER_EASY_OPEN, (AACPLUSDEC_ERROR)AACPLUSDEC_ERROR_GENERALERROR, outputFormat, nMaxAudioChannels);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void api_aacplusdecoder::Close()
|
|
||||||
{
|
|
||||||
_voidcall(AACPLUSDECODER_CLOSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline AACPLUSDEC_ERROR api_aacplusdecoder::Restart()
|
|
||||||
{
|
|
||||||
return _call(AACPLUSDECODER_RESTART, (AACPLUSDEC_ERROR)AACPLUSDEC_ERROR_GENERALERROR);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline AACPLUSDEC_EXPERTSETTINGS *api_aacplusdecoder::GetDecoderSettingsHandle()
|
|
||||||
{
|
|
||||||
return _call(AACPLUSDECODER_GET_DECODER_SETTINGS_HANDLE, (AACPLUSDEC_EXPERTSETTINGS *)0);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline AACPLUSDEC_ERROR api_aacplusdecoder::SetDecoderSettings()
|
|
||||||
{
|
|
||||||
return _call(AACPLUSDECODER_SET_DECODER_SETTINGS, (AACPLUSDEC_ERROR)AACPLUSDEC_ERROR_GENERALERROR);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline AACPLUSDEC_STREAMPROPERTIES *api_aacplusdecoder::GetStreamPropertiesHandle()
|
|
||||||
{
|
|
||||||
return _call(AACPLUSDECODER_GET_STREAM_PROPERTIES_HANDLE, (AACPLUSDEC_STREAMPROPERTIES *)0); }
|
|
||||||
|
|
||||||
inline AACPLUSDEC_ERROR api_aacplusdecoder::StreamFeed(unsigned char *pucBitstrmBufIn, AACPLUSDEC_BITSTREAMBUFFERINFO *hBitstrmBufInfoInOut)
|
|
||||||
{
|
|
||||||
return _call(AACPLUSDECODER_STREAM_FEED, (AACPLUSDEC_ERROR)AACPLUSDEC_ERROR_GENERALERROR, pucBitstrmBufIn, hBitstrmBufInfoInOut);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline AACPLUSDEC_ERROR api_aacplusdecoder::StreamDecode(void *pPcmAudioBufOut, AACPLUSDEC_AUDIOBUFFERINFO *hPcmAudioBufInfoInOut, unsigned char *pucDataStreamBufOut, AACPLUSDEC_DATASTREAMBUFFERINFO *hDataStreamBufInfoInOut)
|
|
||||||
{
|
|
||||||
return _call(AACPLUSDECODER_STREAM_DECODE, (AACPLUSDEC_ERROR)AACPLUSDEC_ERROR_GENERALERROR, pPcmAudioBufOut, hPcmAudioBufInfoInOut, pucDataStreamBufOut, hDataStreamBufInfoInOut);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline AACPLUSDEC_ERROR api_aacplusdecoder::ReadConfigStream(unsigned char *pucConfigStreamBufferIn, AACPLUSDEC_BITSTREAMBUFFERINFO *hConfigStreamBufferInfoInOut, AACPLUSDEC_CONFIGTYPE nConfigTypeIn, int bConfigStreamInBand, AACPLUSDEC_BITSTREAMFORMAT bitstreamFormatIn)
|
|
||||||
{
|
|
||||||
return _call(AACPLUSDECODER_READ_CONFIG_STREAM, (AACPLUSDEC_ERROR)AACPLUSDEC_ERROR_GENERALERROR, pucConfigStreamBufferIn, hConfigStreamBufferInfoInOut, nConfigTypeIn, bConfigStreamInBand, bitstreamFormatIn);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline AACPLUSDEC_ERROR api_aacplusdecoder::FrameDecode(void *pPcmAudioBufOut,
|
|
||||||
AACPLUSDEC_AUDIOBUFFERINFO *hPcmAudioBufInfoInOut,
|
|
||||||
unsigned char *pucFrameBufferIn,
|
|
||||||
AACPLUSDEC_BITSTREAMBUFFERINFO *hFrameBufferInfoInOut,
|
|
||||||
int bFrameCorrupt,
|
|
||||||
unsigned char *pucDataStreamBufOut,
|
|
||||||
AACPLUSDEC_DATASTREAMBUFFERINFO *hDataStreamBufInfoInOut )
|
|
||||||
{
|
|
||||||
return _call(AACPLUSDECODER_FRAME_DECODE, (AACPLUSDEC_ERROR)AACPLUSDEC_ERROR_GENERALERROR, pPcmAudioBufOut,
|
|
||||||
hPcmAudioBufInfoInOut,
|
|
||||||
pucFrameBufferIn,
|
|
||||||
hFrameBufferInfoInOut,
|
|
||||||
bFrameCorrupt, pucDataStreamBufOut,
|
|
||||||
hDataStreamBufInfoInOut );
|
|
||||||
}
|
|
||||||
|
|
||||||
// {257C56BD-90CD-4f1f-9A27-3C73BCCCDE4E}
|
|
||||||
static const GUID aacPlusDecoderGUID=
|
|
||||||
{ 0x257c56bd, 0x90cd, 0x4f1f, { 0x9a, 0x27, 0x3c, 0x73, 0xbc, 0xcc, 0xde, 0x4e } };
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
Reference in New Issue