Home | History | Annotate | Download | only in include
      1 /*
      2  ** Copyright 2003-2010, VisualOn, Inc.
      3  **
      4  ** Licensed under the Apache License, Version 2.0 (the "License");
      5  ** you may not use this file except in compliance with the License.
      6  ** You may obtain a copy of the License at
      7  **
      8  **     http://www.apache.org/licenses/LICENSE-2.0
      9  **
     10  ** Unless required by applicable law or agreed to in writing, software
     11  ** distributed under the License is distributed on an "AS IS" BASIS,
     12  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  ** See the License for the specific language governing permissions and
     14  ** limitations under the License.
     15  */
     16 /*******************************************************************************
     17 	File:		voAAC.h
     18 
     19 	Content:	AAC codec APIs & data types
     20 
     21 *******************************************************************************/
     22 
     23 #ifndef __voAAC_H__
     24 #define __voAAC_H__
     25 
     26 #ifdef __cplusplus
     27 extern "C" {
     28 #endif /* __cplusplus */
     29 
     30 #include "voAudio.h"
     31 
     32 /*!
     33  * the frame type that the decoder supports
     34  */
     35 typedef enum {
     36 	VOAAC_RAWDATA			= 0,	/*!<contains only raw aac data in a frame*/
     37 	VOAAC_ADTS				= 1,	/*!<contains ADTS header + raw AAC data in a frame*/
     38 	VOAAC_FT_MAX			= VO_MAX_ENUM_VALUE
     39 } VOAACFRAMETYPE;
     40 
     41 /*!
     42  * the structure for AAC encoder input parameter
     43  */
     44 typedef  struct {
     45   int	  sampleRate;          /*! audio file sample rate */
     46   int	  bitRate;             /*! encoder bit rate in bits/sec */
     47   short   nChannels;		   /*! number of channels on input (1,2) */
     48   short   adtsUsed;			   /*! whether write adts header */
     49 } AACENC_PARAM;
     50 
     51 /* AAC Param ID */
     52 #define VO_PID_AAC_Mdoule				0x42211000
     53 #define VO_PID_AAC_ENCPARAM				VO_PID_AAC_Mdoule | 0x0040  /*!< get/set AAC encoder parameter, the parameter is a pointer to AACENC_PARAM */
     54 
     55 /* AAC decoder error ID */
     56 #define VO_ERR_AAC_Mdoule				0x82210000
     57 #define VO_ERR_AAC_UNSFILEFORMAT		(VO_ERR_AAC_Mdoule | 0xF001)
     58 #define VO_ERR_AAC_UNSPROFILE			(VO_ERR_AAC_Mdoule | 0xF002)
     59 
     60 /**
     61  * Get audio encoder API interface
     62  * \param pEncHandle [out] Return the AAC Encoder handle.
     63  * \retval VO_ERR_OK Succeeded.
     64  */
     65 VO_S32 VO_API voGetAACEncAPI (VO_AUDIO_CODECAPI * pEncHandle);
     66 
     67 #ifdef __cplusplus
     68 }
     69 #endif /* __cplusplus */
     70 
     71 #endif // __voAAC_H__
     72 
     73 
     74 
     75