/* Copyright (c) 2006 NVIDIA Corporation. All rights reserved. * * NVIDIA Corporation and its licensors retain all intellectual property * and proprietary rights in and to this software, related documentation * and any modifications thereto. Any use, reproduction, disclosure or * distribution of this software and related documentation without an * express license agreement from NVIDIA Corporation is strictly prohibited. */ /* * File: GFAudio.h * GFSDK Audio Format API header file. */ #ifndef __GFAudio_H__ #define __GFAudio_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ //***************************************************************************** // Audio Types //***************************************************************************** //#if defined GFMMPROC_ADVANCED_3D_AUDIO_CONTROLS typedef struct _NvVectorS32 { NvS32 x; NvS32 y; NvS32 z; } NvVectorS32; //#endif //***************************************************************************** // Audio Formats //***************************************************************************** // // Note: FrameSize and Flags must be the first 2 entries in each parameter list below. typedef struct _GFMMPROC_PCM_PARAMETERS { NvU32 FrameSize; NvU32 Flags; } GFMMPROC_PCM_PARAMETERS; typedef struct _GFMMPROC_SBC_PARAMETERS { NvU32 FrameSize; NvU32 Flags; NvU8 join; NvU32 SampleRate; NvU16 Bitpool; NvU16 Channels; NvU16 Channelmode; NvU32 SamplesPerFrame; NvU8 subbands; NvU8 bitpool; } GFMMPROC_SBC_PARAMETERS; typedef struct _GFMMPROC_MP3_PARAMETERS { NvU32 FrameSize; NvU32 Flags; NvU32 SampleRate; NvU16 BitsPerSample; NvU16 Channels; NvU32 SamplesPerFrame; } GFMMPROC_MP3_PARAMETERS; typedef struct _GFAUDIO_AAC_PARAMETERS { NvU32 FrameSize; NvU32 Flags; NvU16 BitsPerSample; NvU16 Channels; NvU32 SamplingRate; NvU32 ExtensionSamplingRate; NvU32 BitRate; NvU32 ChannelConfig; NvU32 AudioObjectType; NvS16 CntBits; NvS16 frameOK; NvU32 CRC_Check; NvU32 CRC_Reg; } GFMMPROC_AAC_PARAMETERS; typedef struct _GFAUDIO_AMRNB_PARAMETERS { NvU32 FrameSize; NvU32 Flags; NvU32 SamplingRate; NvU16 BitsPerSample; NvU16 Channels; NvU32 format; // NvU32 SamplesPerFrame; // NvU32 ExtensionSamplingRate; NvU32 Mode; NvU32 NumberOfFrames; } GFMMPROC_AMRNB_PARAMETERS; typedef struct _GFAUDIO_WMA_PARAMETERS { NvU32 FrameSize; NvU32 Flags; NvU16 FormatTag; NvU16 Channels; NvU32 SamplingRate; NvU32 AvgBytesPerSec; NvU16 BlockAlign; NvU16 BitsPerSample; NvU32 ChannelMask; NvU16 EncodeOpt; NvU16 AdvancedEncodeOpt; // Stuff for playerInfo NvU16 PlayerOpt; NvS32 PeakAmplitudeRef; NvS32 RmsAmplitudeRef; NvS32 PeakAmplitudeTarget; NvS32 RmsAmplitudeTarget; NvS16 DRCSetting; NvS32 *rgiMixDownMatrix; NvU32 AuParserState; } GFMMPROC_WMA_PARAMETERS; typedef struct _GFAUDIO_AMRWB_PARAMETERS { NvU32 FrameSize; NvU32 Flags; NvU32 SamplingRate; NvU16 BitsPerSample; NvU16 Channels; NvU32 format; // NvU32 SamplesPerFrame; // NvU32 ExtensionSamplingRate; NvU32 Mode; } GFMMPROC_AMRWB_PARAMETERS; typedef struct _GFMMPROC_MIDI_PARAMETERS { NvU32 FrameSize; NvU32 Flags; } GFMMPROC_MIDI_PARAMETERS; #ifdef __cplusplus } #endif #endif