| /* |
| ** Copyright 2003-2010, VisualOn, Inc. |
| ** |
| ** 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: voAAC.h |
| |
| Content: AAC codec APIs & data types |
| |
| *******************************************************************************/ |
| |
| #ifndef __voAAC_H__ |
| #define __voAAC_H__ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* __cplusplus */ |
| |
| #include "voAudio.h" |
| |
| /*! |
| * the frame type that the decoder supports |
| */ |
| typedef enum { |
| VOAAC_RAWDATA = 0, /*!<contains only raw aac data in a frame*/ |
| VOAAC_ADTS = 1, /*!<contains ADTS header + raw AAC data in a frame*/ |
| VOAAC_FT_MAX = VO_MAX_ENUM_VALUE |
| } VOAACFRAMETYPE; |
| |
| /*! |
| * the structure for AAC encoder input parameter |
| */ |
| typedef struct { |
| int sampleRate; /*! audio file sample rate */ |
| int bitRate; /*! encoder bit rate in bits/sec */ |
| short nChannels; /*! number of channels on input (1,2) */ |
| short adtsUsed; /*! whether write adts header */ |
| } AACENC_PARAM; |
| |
| /* AAC Param ID */ |
| #define VO_PID_AAC_Mdoule 0x42211000 |
| #define VO_PID_AAC_ENCPARAM (VO_PID_AAC_Mdoule | 0x0040) /*!< get/set AAC encoder parameter, the parameter is a pointer to AACENC_PARAM */ |
| |
| /* AAC decoder error ID */ |
| #define VO_ERR_AAC_Mdoule 0x82210000 |
| #define VO_ERR_AAC_UNSFILEFORMAT (VO_ERR_AAC_Mdoule | 0xF001) |
| #define VO_ERR_AAC_UNSPROFILE (VO_ERR_AAC_Mdoule | 0xF002) |
| |
| /** |
| * Get audio encoder API interface |
| * \param pEncHandle [out] Return the AAC Encoder handle. |
| * \retval VO_ERR_OK Succeeded. |
| */ |
| VO_S32 VO_API voGetAACEncAPI (VO_AUDIO_CODECAPI * pEncHandle); |
| |
| #ifdef __cplusplus |
| } |
| #endif /* __cplusplus */ |
| |
| #endif // __voAAC_H__ |
| |
| |
| |