diff options
Diffstat (limited to 'libvideoeditor/vss/common/inc/M4ENCODER_AudioCommon.h')
-rwxr-xr-x | libvideoeditor/vss/common/inc/M4ENCODER_AudioCommon.h | 254 |
1 files changed, 0 insertions, 254 deletions
diff --git a/libvideoeditor/vss/common/inc/M4ENCODER_AudioCommon.h b/libvideoeditor/vss/common/inc/M4ENCODER_AudioCommon.h deleted file mode 100755 index cba02a0..0000000 --- a/libvideoeditor/vss/common/inc/M4ENCODER_AudioCommon.h +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - ****************************************************************************** - * @file M4ENCODER_AudioCommon.h - * @brief VES audio encoders shell interface. - * @note This file defines the types internally used by the VES to abstract audio encoders - ****************************************************************************** -*/ -#ifndef __M4ENCODER_AUDIOCOMMON_H__ -#define __M4ENCODER_AUDIOCOMMON_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -#include "M4OSA_OptionID.h" /* for M4OSA_OPTION_ID_CREATE() */ -#include "M4OSA_CoreID.h" - -#define M4ENCODER_AUDIO_NB_CHANNELS_MAX 2 -/* WARNING: this value must be equal to the number of samples grabbed */ -//#define M4ENCODER_AUDIO_PCM_SAMPLE_NUMBER 960 /* imposed by the AAC encoder. */ -#define M4ENCODER_AUDIO_PCM_SAMPLE_NUMBER 1024 /* imposed by the AAC encoder. */ - - -/** - ****************************************************************************** - * enumeration M4ENCODER_Audio_OptionID - * @brief This enum defines the core AAC shell encoder options - ****************************************************************************** -*/ -typedef enum -{ - /* Maximum generated AU size */ - M4ENCODER_Audio_maxAUsize = M4OSA_OPTION_ID_CREATE(M4_READ,M4ENCODER_AUDIO, 0x01) - -} M4ENCODER_Audio_OptionID; - - - /** - ****************************************************************************** - * enum M4ENCODER_SamplingFrequency - * @brief Thie enum defines the audio sampling frequency. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_k8000Hz = 8000, - M4ENCODER_k11025Hz = 11025, - M4ENCODER_k12000Hz = 12000, - M4ENCODER_k16000Hz = 16000, - M4ENCODER_k22050Hz = 22050, - M4ENCODER_k24000Hz = 24000, - M4ENCODER_k32000Hz = 32000, - M4ENCODER_k44100Hz = 44100, - M4ENCODER_k48000Hz = 48000 -} M4ENCODER_SamplingFrequency; - - -/** - ****************************************************************************** - * enum M4ENCODER_AudioFormat - * @brief This enum defines the audio compression formats. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kAMRNB = 0, - M4ENCODER_kAAC, - M4ENCODER_kAudioNULL, /**< No compression */ - M4ENCODER_kMP3, - M4ENCODER_kAudio_NB /* number of encoders, keep it as last enum entry */ - -} M4ENCODER_AudioFormat; - -/** - ****************************************************************************** - * enum M4ENCODER_ChannelNumber - * @brief Thie enum defines the number of audio channels. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kMono = 0, - M4ENCODER_kStereo, - M4ENCODER_kStereoNoInterleave -} M4ENCODER_ChannelNumber; - -/** - ****************************************************************************** - * enum M4ENCODER_AudioBitrate - * @brief Thie enum defines the avalaible bitrates. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kAudio_4_75_KBPS = 4750, - M4ENCODER_kAudio_5_15_KBPS = 5150, - M4ENCODER_kAudio_5_9_KBPS = 5900, - M4ENCODER_kAudio_6_7_KBPS = 6700, - M4ENCODER_kAudio_7_4_KBPS = 7400, - M4ENCODER_kAudio_7_95_KBPS = 7950, - M4ENCODER_kAudio_8_KBPS = 8000, - M4ENCODER_kAudio_10_2_KBPS = 10200, - M4ENCODER_kAudio_12_2_KBPS = 12200, - M4ENCODER_kAudio_16_KBPS = 16000, - M4ENCODER_kAudio_24_KBPS = 24000, - M4ENCODER_kAudio_32_KBPS = 32000, - M4ENCODER_kAudio_40_KBPS = 40000, - M4ENCODER_kAudio_48_KBPS = 48000, - M4ENCODER_kAudio_56_KBPS = 56000, - M4ENCODER_kAudio_64_KBPS = 64000, - M4ENCODER_kAudio_80_KBPS = 80000, - M4ENCODER_kAudio_96_KBPS = 96000, - M4ENCODER_kAudio_112_KBPS = 112000, - M4ENCODER_kAudio_128_KBPS = 128000, - M4ENCODER_kAudio_144_KBPS = 144000, - M4ENCODER_kAudio_160_KBPS = 160000, - M4ENCODER_kAudio_192_KBPS = 192000, - M4ENCODER_kAudio_224_KBPS = 224000, - M4ENCODER_kAudio_256_KBPS = 256000, - M4ENCODER_kAudio_320_KBPS = 320000 -} M4ENCODER_AudioBitrate; - - -/** - ****************************************************************************** - * enum M4ENCODER_AacRegulation - * @brief The current mode of the bitrate regulation. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kAacRegulNone = 0, /**< no bitrate regulation */ - M4ENCODER_kAacBitReservoir /**< better quality, but more CPU consumed */ -} M4ENCODER_AacRegulation; - -/** - ****************************************************************************** - * enum M4ENCODER_AmrSID - * @brief This enum defines the SID of the AMR encoder. - ****************************************************************************** -*/ -typedef enum -{ - M4ENCODER_kAmrNoSID = 0 /**< no SID */ -} M4ENCODER_AmrSID; - -/** - ****************************************************************************** - * struct M4ENCODER_AacParams - * @brief This structure defines all the settings specific to the AAC encoder. - ****************************************************************************** -*/ -typedef struct -{ - M4ENCODER_AacRegulation Regulation; - M4OSA_Bool bHighSpeed; - M4OSA_Bool bTNS; - M4OSA_Bool bPNS; - M4OSA_Bool bIS; - M4OSA_Bool bMS; -} M4ENCODER_AacParams; - -/** - ****************************************************************************** - * struct M4ENCODER_AudioParams - * @brief This structure defines all the settings avalaible when encoding audio. - ****************************************************************************** -*/ -typedef struct s_M4ENCODER_AudioParams -{ - M4ENCODER_SamplingFrequency Frequency; /**< the sampling frequency */ - M4ENCODER_ChannelNumber ChannelNum; /**< the numbe of channels (mono, stereo, ..) */ - M4ENCODER_AudioBitrate Bitrate; /**< bitrate, see enum */ - M4ENCODER_AudioFormat Format; /**< audio compression format, AMR, AAC ... */ - union { - M4ENCODER_AacParams AacParam; - M4ENCODER_AmrSID AmrSID; - } SpecifParam; /**< the audio encoder specific parameters */ -} M4ENCODER_AudioParams; - -/** - ****************************************************************************** - * struct M4ENCODER_AudioDecSpecificInfo - * @brief This structure describes the decoder specific info buffer. - ****************************************************************************** -*/ -typedef struct -{ - M4OSA_MemAddr8 pInfo; /**< the buffer adress */ - M4OSA_UInt32 infoSize; /**< the buffer size in bytes */ -} M4ENCODER_AudioDecSpecificInfo; - -/** - ****************************************************************************** - * struct M4ENCODER_AudioBuffer - * @brief This structure defines the data buffer. - ****************************************************************************** -*/ -typedef struct -{ - /**< the table of buffers (unused buffers are set to NULL) */ - M4OSA_MemAddr8 pTableBuffer[M4ENCODER_AUDIO_NB_CHANNELS_MAX]; - /**< the table of the size of corresponding buffer at same index */ - M4OSA_UInt32 pTableBufferSize[M4ENCODER_AUDIO_NB_CHANNELS_MAX]; -} M4ENCODER_AudioBuffer; - -typedef M4OSA_ERR (M4AE_init) (M4OSA_Context* hContext, M4OSA_Void* pUserData); -typedef M4OSA_ERR (M4AE_cleanUp) (M4OSA_Context pContext); -typedef M4OSA_ERR (M4AE_open) (M4OSA_Context pContext, M4ENCODER_AudioParams *params, - M4ENCODER_AudioDecSpecificInfo *decSpecInfo, - M4OSA_Context grabberContext); -typedef M4OSA_ERR (M4AE_close) (M4OSA_Context pContext); -typedef M4OSA_ERR (M4AE_step) (M4OSA_Context pContext, M4ENCODER_AudioBuffer *inBuffer, - M4ENCODER_AudioBuffer *outBuffer); -typedef M4OSA_ERR (M4AE_getOption) (M4OSA_Context pContext, M4OSA_OptionID option, - M4OSA_DataOption *valuePtr); -/** - ****************************************************************************** - * struct M4ENCODER_AudioGlobalInterface - * @brief Defines all the functions required for an audio encoder shell. - ****************************************************************************** -*/ -typedef struct _M4ENCODER_AudioGlobalInterface -{ - M4AE_init* pFctInit; - M4AE_cleanUp* pFctCleanUp; - M4AE_open* pFctOpen; - M4AE_close* pFctClose; - M4AE_step* pFctStep; - M4AE_getOption* pFctGetOption; -} M4ENCODER_AudioGlobalInterface; - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /*__M4ENCODER_AUDIOCOMMON_H__*/ - |