Audio Signal Processing/audio_render_chipset_api.h
changeset 2 ea09f30a96a5
parent 0 bb4b476bbb96
equal deleted inserted replaced
1:d7a6bb4d51e7 2:ea09f30a96a5
    12   Initial Contributors:
    12   Initial Contributors:
    13   Nokia Corporation - initial contribution.
    13   Nokia Corporation - initial contribution.
    14 
    14 
    15   Contributors:
    15   Contributors:
    16 */
    16 */
    17 
       
    18 #ifndef AUDIO_RENDER_CHIPSET_API_H
    17 #ifndef AUDIO_RENDER_CHIPSET_API_H
    19 #define AUDIO_RENDER_CHIPSET_API_H
    18 #define AUDIO_RENDER_CHIPSET_API_H
    20 
    19 
    21 #ifdef __cplusplus
    20 #ifdef __cplusplus
    22 extern "C" {
    21 extern "C" {
    66 OMX_AUDIO_3DOutputHeadphones,	/*Positional 3D audio for headphones */
    65 OMX_AUDIO_3DOutputHeadphones,	/*Positional 3D audio for headphones */
    67 OMX_AUDIO_3DOutputLoudspeakers,	/*Positional 3D audio for two closely spaced loudspeakers */
    66 OMX_AUDIO_3DOutputLoudspeakers,	/*Positional 3D audio for two closely spaced loudspeakers */
    68 OMX_AUDIO_3DOutputMax	/*Allowance for expansion in the number of positional 3D audio types */
    67 OMX_AUDIO_3DOutputMax	/*Allowance for expansion in the number of positional 3D audio types */
    69 } OMX_AUDIO_3DOUTPUTTYPE;
    68 } OMX_AUDIO_3DOUTPUTTYPE;
    70 
    69 
       
    70 typedef enum OMX_AUDIO_ROLLOFFMODEL {
       
    71 OMX_AUDIO_RollOffExponential,	/*Positional 3D audio for headphones */
       
    72 OMX_AUDIO_RollOffLinear	/*Positional 3D audio for two closely spaced loudspeakers */
       
    73 } OMX_AUDIO_ROLLOFFMODEL;
       
    74 
    71 typedef struct OMX_AUDIO_CONFIG_3DOUTPUTTYPE {
    75 typedef struct OMX_AUDIO_CONFIG_3DOUTPUTTYPE {
    72     OMX_U32 nSize;
    76     OMX_U32 nSize;
    73     OMX_VERSIONTYPE nVersion;
    77     OMX_VERSIONTYPE nVersion;
    74     OMX_U32 nPortIndex;
    78     OMX_U32 nPortIndex;
    75     OMX_AUDIO_3DOUTPUTTYPE e3DOutputType;
    79     OMX_AUDIO_3DOUTPUTTYPE e3DOutputType;
    89     OMX_VERSIONTYPE nVersion;
    93     OMX_VERSIONTYPE nVersion;
    90     OMX_U32 nPortIndex;
    94     OMX_U32 nPortIndex;
    91     OMX_BOOL bEnabled;
    95     OMX_BOOL bEnabled;
    92 } OMX_AUDIO_PARAM_3DDOPPLERMODETYPE;
    96 } OMX_AUDIO_PARAM_3DDOPPLERMODETYPE;
    93 
    97 
    94 typedef struct OMX_AUDIO_CONFIG_3DDIRECTIVITYSETTINGSTYPE {
    98 typedef struct OMX_AUDIO_CONFIG_3DDOPPLERSETTINGSTYPE {
    95     OMX_U32 nSize;
    99     OMX_U32 nSize;
    96     OMX_VERSIONTYPE nVersion;
   100     OMX_VERSIONTYPE nVersion;
    97     OMX_U32 nPortIndex;
   101     OMX_U32 nPortIndex;
    98     OMX_U32 nSoundSpeed;
   102     OMX_U32 nSoundSpeed;
    99     OMX_S32 nSourceVelocity;
   103     OMX_S32 nSourceVelocity;
   102 
   106 
   103 typedef struct OMX_AUDIO_CONFIG_3DLEVELSTYPE {
   107 typedef struct OMX_AUDIO_CONFIG_3DLEVELSTYPE {
   104     OMX_U32 nSize;
   108     OMX_U32 nSize;
   105     OMX_VERSIONTYPE nVersion;
   109     OMX_VERSIONTYPE nVersion;
   106     OMX_U32 nPortIndex;
   110     OMX_U32 nPortIndex;
   107     OMX_BS16 sDirectLevel;
   111     OMX_BS32 sDirectLevel;
   108     OMX_BS16 sRoomLevel;
   112     OMX_BS32 sRoomLevel;
   109 } OMX_AUDIO_CONFIG_3DLEVELSTYPE;
   113 } OMX_AUDIO_CONFIG_3DLEVELSTYPE;
   110 
   114 
   111 typedef struct OMX_AUDIO_CONFIG_3DDISTANCEATTENUATIONTYPE {
   115 typedef struct OMX_AUDIO_CONFIG_3DDISTANCEATTENUATIONTYPE {
   112     OMX_U32 nSize;
   116     OMX_U32 nSize;
   113     OMX_VERSIONTYPE nVersion;
   117     OMX_VERSIONTYPE nVersion;
   114     OMX_U32 nPortIndex;
   118     OMX_U32 nPortIndex;
   115     OMX_BS32 sMinDistance;
   119     OMX_BS32 sMinDistance;
   116     OMX_BS32 sMaxDistance;
   120     OMX_BS32 sMaxDistance;
   117     OMX_BS16 sRollOffFactor;
   121     OMX_BS32 sRollOffFactor;
   118     OMX_BS16 sRoomRollOffFactor;
   122     OMX_BS32 sRoomRollOffFactor;
   119     OMX_AUDIO_ROLLOFFMODEL eRollOffModel;
   123     OMX_AUDIO_ROLLOFFMODEL eRollOffModel;
   120     OMX_BOOL bMuteAfterMax;
   124     OMX_BOOL bMuteAfterMax;
   121 } OMX_AUDIO_CONFIG_3DDISTANCEATTENUATIONTYPE;
   125 } OMX_AUDIO_CONFIG_3DDISTANCEATTENUATIONTYPE;
   122 
   126 
   123 typedef struct OMX_AUDIO_CONFIG_3DDIRECTIVITYSETTINGSTYPE {
   127 typedef struct OMX_AUDIO_CONFIG_3DDIRECTIVITYSETTINGSTYPE {
   124     OMX_U32 nSize;
   128     OMX_U32 nSize;
   125     OMX_VERSIONTYPE nVersion;
   129     OMX_VERSIONTYPE nVersion;
   126     OMX_U32 nPortIndex;
   130     OMX_U32 nPortIndex;
   127     OMX_BS32 sInnerAngle;
   131     OMX_BS32 sInnerAngle;
   128     OMX_BS32 sOuterAngle;
   132     OMX_BS32 sOuterAngle;
   129     OMX_BS16 sOuterLevel;
   133     OMX_BS32 sOuterLevel;
   130 } OMX_AUDIO_CONFIG_3DDIRECTIVITYSETTINGSTYPE;
   134 } OMX_AUDIO_CONFIG_3DDIRECTIVITYSETTINGSTYPE;
   131 
   135 
   132 typedef struct OMX_AUDIO_CONFIG_3DDIRECTIVITYORIENTATIONTYPE {
   136 typedef struct OMX_AUDIO_CONFIG_3DDIRECTIVITYORIENTATIONTYPE {
   133     OMX_U32 nSize;
   137     OMX_U32 nSize;
   134     OMX_VERSIONTYPE nVersion;
   138     OMX_VERSIONTYPE nVersion;
   196 OMX_VERSIONTYPE nVersion;
   200 OMX_VERSIONTYPE nVersion;
   197 OMX_U32 nPortIndex;
   201 OMX_U32 nPortIndex;
   198 OMX_U32 nListeningAngle;
   202 OMX_U32 nListeningAngle;
   199  } OMX_AUDIO_CONFIG_VIRTUALIZERLOUDSPEAKERTYPE;
   203  } OMX_AUDIO_CONFIG_VIRTUALIZERLOUDSPEAKERTYPE;
   200 
   204 
   201 typedef struct OMX_AUDIO_CONFIG_VIRTUALIZERUPMIXTYPE {
       
   202 OMX_U32 nSize;
       
   203 OMX_VERSIONTYPE nVersion;
       
   204 OMX_U32 nPortIndex;
       
   205 OMX_BOOL bEnable;
       
   206 } OMX_AUDIO_CONFIG_VIRTUALIZERUPMIXTYPE;
       
   207 
   205 
   208 /* End of audio virtualizer related params */
   206 /* End of audio virtualizer related params */
   209 
   207 
   210 /* Audio visualizer related parameters */
   208 /* Audio visualizer related parameters */
   211 typedef enum OMX_AUDIO_VISUALIZATIONTYPE {
   209 typedef enum OMX_AUDIO_VISUALIZATIONTYPE {
   239 OMX_U32 nPortIndex;
   237 OMX_U32 nPortIndex;
   240 OMX_BU32 sWaveformLength;
   238 OMX_BU32 sWaveformLength;
   241 } OMX_AUDIO_CONFIG_VISUALIZATIONWAVEFORMTYPE;
   239 } OMX_AUDIO_CONFIG_VISUALIZATIONWAVEFORMTYPE;
   242 
   240 
   243 
   241 
   244 typedef struct OMX_AUDIO_CONFIG_DOWNMIXERTYPE {
       
   245 OMX_U32 nSize;
       
   246 OMX_VERSIONTYPE nVersion;
       
   247 OMX_U32 nPortIndex;
       
   248 OMX_BOOL bEnable;
       
   249 } OMX_AUDIO_CONFIG_DOWNMIXERTYPE;
       
   250 
       
   251 
       
   252 typedef enum OMX_OTHER_FORMATTYPE {
       
   253     OMX_OTHER_FormatTime = 0, /**< Transmission of various timestamps, elapsed time, 
       
   254                                    time deltas, etc */
       
   255     OMX_OTHER_FormatPower,    /**< Perhaps used for enabling/disabling power 
       
   256                                    management, setting clocks? */
       
   257     OMX_OTHER_FormatStats,    /**< Could be things such as frame rate, frames 
       
   258                                    dropped, etc */
       
   259     OMX_OTHER_FormatBinary,   /**< Arbitrary binary data */
       
   260     OMX_OTHER_FormatVendorReserved = 1000, /**< Starting value for vendor specific 
       
   261                                                 formats */
       
   262     OMX_OTHER_FormatNokiaSpectral,
       
   263     OMX_OTHER_FormatMax = 0x7FFFFFFF
       
   264 } OMX_OTHER_FORMATTYPE;
       
   265 
       
   266 
       
   267 
       
   268 
       
   269 #ifdef __cplusplus
   242 #ifdef __cplusplus
   270 }
   243 }
   271 #endif /* __cplusplus */
   244 #endif /* __cplusplus */
   272 
   245 
   273 #endif
   246 #endif