blob: 9ecb14246949687cbde577e6e57d41f82b041036 [file] [log] [blame]
/*
** 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__