Home | History | Annotate | Download | only in src
      1 /*
      2  * Copyright (C) 2010 The Android Open Source Project
      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 #ifndef __MPH_H
     18 #define __MPH_H
     19 
     20 // Minimal perfect hash for each interface ID
     21 
     22 #define MPH_NONE                      (-1)
     23 #define MPH_MIN                         0
     24 
     25 // OpenSL ES 1.0.1 interfaces
     26 #define MPH_3DCOMMIT                    0
     27 #define MPH_3DDOPPLER                   1
     28 #define MPH_3DGROUPING                  2
     29 #define MPH_3DLOCATION                  3
     30 #define MPH_3DMACROSCOPIC               4
     31 #define MPH_3DSOURCE                    5
     32 #define MPH_AUDIODECODERCAPABILITIES    6
     33 #define MPH_AUDIOENCODER                7
     34 #define MPH_AUDIOENCODERCAPABILITIES    8
     35 #define MPH_AUDIOIODEVICECAPABILITIES   9
     36 #define MPH_BASSBOOST                  10
     37 #define MPH_BUFFERQUEUE                11
     38 #define MPH_DEVICEVOLUME               12
     39 #define MPH_DYNAMICINTERFACEMANAGEMENT 13
     40 #define MPH_DYNAMICSOURCE              14
     41 #define MPH_EFFECTSEND                 15
     42 #define MPH_ENGINE                     16
     43 #define MPH_ENGINECAPABILITIES         17
     44 #define MPH_ENVIRONMENTALREVERB        18
     45 #define MPH_EQUALIZER                  19
     46 #define MPH_LED                        20
     47 #define MPH_METADATAEXTRACTION         21
     48 #define MPH_METADATATRAVERSAL          22
     49 #define MPH_MIDIMESSAGE                23
     50 #define MPH_MIDIMUTESOLO               24
     51 #define MPH_MIDITEMPO                  25
     52 #define MPH_MIDITIME                   26
     53 #define MPH_MUTESOLO                   27
     54 #define MPH_NULL                       28  // shared by SL and XA
     55 #define MPH_OBJECT                     29
     56 #define MPH_OUTPUTMIX                  30
     57 #define MPH_PITCH                      31
     58 #define MPH_PLAY                       32
     59 #define MPH_PLAYBACKRATE               33
     60 #define MPH_PREFETCHSTATUS             34
     61 #define MPH_PRESETREVERB               35
     62 #define MPH_RATEPITCH                  36
     63 #define MPH_RECORD                     37
     64 #define MPH_SEEK                       38
     65 #define MPH_THREADSYNC                 39
     66 #define MPH_VIBRA                      40
     67 #define MPH_VIRTUALIZER                41
     68 #define MPH_VISUALIZATION              42
     69 #define MPH_VOLUME                     43
     70 
     71 // Wilhelm desktop extended interfaces
     72 #define MPH_OUTPUTMIXEXT               44
     73 
     74 // Android API level 9 extended interfaces
     75 // GUID and MPH are shared by SL and XA, but currently documented for SL only
     76 #define MPH_ANDROIDEFFECT              45
     77 #define MPH_ANDROIDEFFECTCAPABILITIES  46
     78 #define MPH_ANDROIDEFFECTSEND          47
     79 #define MPH_ANDROIDCONFIGURATION       48
     80 #define MPH_ANDROIDSIMPLEBUFFERQUEUE   49
     81 
     82 // Android API level 12 extended interfaces
     83 // GUID and MPH are shared by SL and XA, but currently documented for XA only
     84 #define MPH_ANDROIDBUFFERQUEUESOURCE   50
     85 
     86 // OpenMAX AL 1.0.1 interfaces
     87 #define MPH_XAAUDIODECODERCAPABILITIES   51
     88 #define MPH_XAAUDIOENCODER               52
     89 #define MPH_XAAUDIOENCODERCAPABILITIES   53
     90 #define MPH_XAAUDIOIODEVICECAPABILITIES  54
     91 #define MPH_XACAMERA                     55
     92 #define MPH_XACAMERACAPABILITIES         56
     93 #define MPH_XACONFIGEXTENSION            57
     94 #define MPH_XADEVICEVOLUME               58
     95 #define MPH_XADYNAMICINTERFACEMANAGEMENT 59
     96 #define MPH_XADYNAMICSOURCE              60
     97 #define MPH_XAENGINE                     61
     98 #define MPH_XAEQUALIZER                  62
     99 #define MPH_XAIMAGECONTROLS              63
    100 #define MPH_XAIMAGEDECODERCAPABILITIES   64
    101 #define MPH_XAIMAGEEFFECTS               65
    102 #define MPH_XAIMAGEENCODER               66
    103 #define MPH_XAIMAGEENCODERCAPABILITIES   67
    104 #define MPH_XALED                        68
    105 #define MPH_XAMETADATAEXTRACTION         69
    106 #define MPH_XAMETADATAINSERTION          70
    107 #define MPH_XAMETADATATRAVERSAL          71
    108 #define MPH_XANULL                 MPH_NULL
    109 #define MPH_XAOBJECT                     72
    110 #define MPH_XAOUTPUTMIX                  73
    111 #define MPH_XAPLAY                       74
    112 #define MPH_XAPLAYBACKRATE               75
    113 #define MPH_XAPREFETCHSTATUS             76
    114 #define MPH_XARADIO                      77
    115 #define MPH_XARDS                        78
    116 #define MPH_XARECORD                     79
    117 #define MPH_XASEEK                       80
    118 #define MPH_XASNAPSHOT                   81
    119 #define MPH_XASTREAMINFORMATION          82
    120 #define MPH_XATHREADSYNC                 83
    121 #define MPH_XAVIBRA                      84
    122 #define MPH_XAVIDEODECODERCAPABILITIES   85
    123 #define MPH_XAVIDEOENCODER               86
    124 #define MPH_XAVIDEOENCODERCAPABILITIES   87
    125 #define MPH_XAVIDEOPOSTPROCESSING        88
    126 #define MPH_XAVOLUME                     89
    127 
    128 // Android API level 20 extended interfaces
    129 #define MPH_ANDROIDACOUSTICECHOCANCELLATION 90
    130 #define MPH_ANDROIDAUTOMATICGAINCONTROL     91
    131 #define MPH_ANDROIDNOISESUPPRESSION         92
    132 
    133 // total number of interface IDs
    134 #define MPH_MAX                          93
    135 
    136 #endif // !defined(__MPH_H)
    137