Home | History | Annotate | Download | only in 7630
      1 /*--------------------------------------------------------------------------
      2 Copyright (c) 2009,2012 The Linux Foundation. All rights reserved.
      3 
      4 Redistribution and use in source and binary forms, with or without
      5 modification, are permitted provided that the following conditions are met:
      6     * Redistributions of source code must retain the above copyright
      7       notice, this list of conditions and the following disclaimer.
      8     * Redistributions in binary form must reproduce the above copyright
      9       notice, this list of conditions and the following disclaimer in the
     10       documentation and/or other materials provided with the distribution.
     11     * Neither the name of The Linux Foundation nor
     12       the names of its contributors may be used to endorse or promote
     13       products derived from this software without specific prior written
     14       permission.
     15 
     16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     17 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     18 IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     19 NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     20 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     21 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     22 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
     23 OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     24 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     25 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
     26 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27 --------------------------------------------------------------------------*/
     28 /*============================================================================
     29                             O p e n M A X   w r a p p e r s
     30                              O p e n  M A X   C o r e
     31 
     32  This module contains the registry table for the QCOM's OpenMAX core.
     33 
     34 *//*========================================================================*/
     35 
     36 #include "qc_omx_core.h"
     37 
     38 omx_core_cb_type core[] =
     39 {
     40   {
     41     "OMX.qcom.video.decoder.avc",
     42     NULL,   // Create instance function
     43     // Unique instance handle
     44     {
     45       NULL,
     46       NULL,
     47       NULL,
     48       NULL
     49     },
     50     NULL,   // Shared object library handle
     51     "libOmxVdec.so",
     52     {
     53       "video_decoder.avc"
     54     }
     55   },
     56   {
     57     "OMX.qcom.video.decoder.mpeg4",
     58     NULL,   // Create instance function
     59     // Unique instance handle
     60     {
     61       NULL,
     62       NULL,
     63       NULL,
     64       NULL
     65     },
     66     NULL,   // Shared object library handle
     67     "libOmxVdec.so",
     68     {
     69       "video_decoder.mpeg4"
     70     }
     71   },
     72   {
     73     "OMX.qcom.video.decoder.vc1",
     74     NULL,   // Create instance function
     75     // Unique instance handle
     76     {
     77       NULL,
     78       NULL,
     79       NULL,
     80       NULL
     81     },
     82     NULL,   // Shared object library handle
     83     "libOmxVdec.so",
     84     {
     85       "video_decoder.vc1"
     86     }
     87   },
     88   {
     89     "OMX.qcom.video.decoder.h263",
     90     NULL,   // Create instance function
     91     // Unique instance handle
     92     {
     93       NULL,
     94       NULL,
     95       NULL,
     96       NULL
     97     },
     98     NULL,   // Shared object library handle
     99     "libOmxVdec.so",
    100     {
    101       "video_decoder.h263"
    102     }
    103   },
    104    {
    105     "OMX.qcom.video.decoder.divx4",
    106     NULL,   // Create instance function
    107     // Unique instance handle
    108     {
    109        NULL,
    110        NULL,
    111        NULL,
    112        NULL
    113     },
    114     NULL,   // Shared object library handle
    115     "libOmxVdec.so",
    116     {
    117       "video_decoder.divx"
    118     }
    119   },
    120    {
    121     "OMX.qcom.video.decoder.divx",
    122     NULL,   // Create instance function
    123     // Unique instance handle
    124     {
    125        NULL,
    126        NULL,
    127        NULL,
    128        NULL
    129     },
    130     NULL,   // Shared object library handle
    131     "libOmxVdec.so",
    132     {
    133       "video_decoder.divx"
    134     }
    135   },
    136   {
    137     "OMX.qcom.video.encoder.mpeg4",
    138     NULL,   // Create instance function
    139     // Unique instance handle
    140     {
    141       NULL,
    142       NULL,
    143       NULL,
    144       NULL
    145     },
    146     NULL,   // Shared object library handle
    147     "libOmxVenc.so",
    148     {
    149       "video_encoder.mpeg4"
    150     }
    151   },
    152    {
    153     "OMX.qcom.video.encoder.h263",
    154     NULL,   // Create instance function
    155     // Unique instance handle
    156     {
    157       NULL,
    158       NULL,
    159       NULL,
    160       NULL
    161     },
    162     NULL,   // Shared object library handle
    163     "libOmxVenc.so",
    164     {
    165       "video_encoder.h263",
    166     }
    167   },
    168    {
    169     "OMX.qcom.video.encoder.avc",
    170     NULL, // Create instance function
    171     // Unique instance handle
    172     {
    173       NULL,
    174       NULL,
    175       NULL,
    176       NULL
    177     },
    178     NULL,   // Shared object library handle
    179     "libOmxVenc.so",
    180     {
    181       "video_encoder.avc"
    182     }
    183   },
    184   {
    185     "OMX.qcom.audio.decoder.mp3",
    186     NULL,   // Create instance function
    187     // Unique instance handle
    188     {
    189       NULL,
    190       NULL,
    191       NULL,
    192       NULL
    193     },
    194     NULL,   // Shared object library handle
    195     #ifdef _ANDROID_
    196     "libOmxMp3Dec.so",
    197     #else
    198     "libmm-adec-omxmp3.so.1",
    199     #endif
    200     {
    201       "audio_decoder.mp3"
    202     }
    203   },
    204   {
    205     "OMX.qcom.audio.decoder.aac",
    206     NULL,   // Create instance function
    207     // Unique instance handle
    208     {
    209       NULL,
    210       NULL,
    211       NULL,
    212       NULL
    213     },
    214     NULL,   // Shared object library handle
    215     #ifdef _ANDROID_
    216     "libOmxAacDec.so",
    217     #else
    218     "libmm-adec-omxaac.so.1",
    219     #endif
    220     {
    221       "audio_decoder.aac"
    222     }
    223   },
    224   {
    225     "OMX.qcom.audio.decoder.tunneled.mp3",
    226     NULL,   // Create instance function
    227     // Unique instance handle
    228     {
    229       NULL,
    230       NULL,
    231       NULL,
    232       NULL
    233     },
    234     NULL,   // Shared object library handle
    235     #ifdef _ANDROID_
    236     "libOmxMp3Dec.so",
    237     #else
    238     "libmm-adec-omxmp3.so.1",
    239     #endif
    240     {
    241       "audio_decoder.mp3"
    242     }
    243   },
    244   {
    245     "OMX.qcom.audio.decoder.tunneled.aac",
    246     NULL,   // Create instance function
    247     // Unique instance handle
    248     {
    249       NULL,
    250       NULL,
    251       NULL,
    252       NULL
    253     },
    254     NULL,   // Shared object library handle
    255     #ifdef _ANDROID_
    256     "libOmxAacDec.so",
    257     #else
    258     "libmm-adec-omxaac.so.1",
    259     #endif
    260     {
    261       "audio_decoder.aac"
    262     }
    263   },
    264   {
    265     "OMX.qcom.audio.decoder.amrnb",
    266     NULL,   // Create instance function
    267     // Unique instance handle
    268     {
    269       NULL,
    270       NULL,
    271       NULL,
    272       NULL
    273     },
    274     NULL,   // Shared object library handle
    275     #ifdef _ANDROID_
    276     "libOmxAmrDec.so",
    277     #else
    278     "libmm-adec-omxamr.so.1",
    279     #endif
    280     {
    281       "audio_decoder.amrnb"
    282     }
    283   },
    284   {
    285     "OMX.qcom.audio.decoder.tunneled.amrnb",
    286     NULL,   // Create instance function
    287     // Unique instance handle
    288     {
    289       NULL,
    290       NULL,
    291       NULL,
    292       NULL
    293     },
    294     NULL,   // Shared object library handle
    295     #ifdef _ANDROID_
    296     "libOmxAmrDec.so",
    297     #else
    298     "libmm-adec-omxamr.so.1",
    299     #endif
    300     {
    301       "audio_decoder.amrnb"
    302     }
    303   },
    304   {
    305     "OMX.qcom.audio.encoder.tunneled.aac",
    306     NULL,   // Create instance function
    307     // Unique instance handle
    308     {
    309       NULL,
    310       NULL,
    311       NULL,
    312       NULL
    313     },
    314     NULL,   // Shared object library handle
    315     #ifdef _ANDROID_
    316     "libOmxAacEnc.so",
    317     #else
    318     "libmm-aenc-omxaac.so.1",
    319     #endif
    320     {
    321       "audio_encoder.aac"
    322     }
    323   },
    324   {
    325     "OMX.qcom.audio.encoder.aac",
    326     NULL,   // Create instance function
    327     // Unique instance handle
    328     {
    329       NULL,
    330       NULL,
    331       NULL,
    332       NULL
    333     },
    334     NULL,   // Shared object library handle
    335     #ifdef _ANDROID_
    336     "libOmxAacEnc.so",
    337     #else
    338     "libmm-aenc-omxaac.so.1",
    339     #endif
    340     {
    341       "audio_encoder.aac"
    342     }
    343   },
    344   {
    345     "OMX.qcom.audio.decoder.Qcelp13Hw",
    346     NULL,   // Create instance function
    347     // Unique instance handle
    348     {
    349       NULL,
    350       NULL,
    351       NULL,
    352       NULL
    353     },
    354     NULL,   // Shared object library handle
    355     #ifdef _ANDROID_
    356     "libOmxQcelpHwDec.so",
    357     #else
    358     "libmm-adec-omxQcelp13.so.1",
    359     #endif
    360     {
    361       "audio_decoder.Qcelp13"
    362     }
    363   },
    364 #ifdef _ANDROID_
    365   {
    366     "OMX.qcom.audio.decoder.Qcelp13",
    367     NULL,   // Create instance function
    368     // Unique instance handle
    369     {
    370       NULL,
    371       NULL,
    372       NULL,
    373       NULL
    374     },
    375     NULL,   // Shared object library handle
    376     "libOmxQcelp13Dec.so",
    377     {
    378       "audio_decoder.Qcelp13"
    379     }
    380   },
    381 #endif
    382   {
    383     "OMX.qcom.audio.decoder.tunneled.Qcelp13Hw",
    384     NULL,   // Create instance function
    385     // Unique instance handle
    386     {
    387       NULL,
    388       NULL,
    389       NULL,
    390       NULL
    391     },
    392     NULL,   // Shared object library handle
    393     #ifdef _ANDROID_
    394     "libOmxQcelpHwDec.so",
    395     #else
    396     "libmm-adec-omxQcelp13.so.1",
    397     #endif
    398     {
    399       "audio_decoder.Qcelp13"
    400     }
    401   },
    402   {
    403     "OMX.qcom.audio.decoder.evrc",
    404     NULL,   // Create instance function
    405     // Unique instance handle
    406     {
    407       NULL,
    408       NULL,
    409       NULL,
    410       NULL
    411     },
    412     NULL,   // Shared object library handle
    413     #ifdef _ANDROID_
    414     "libOmxEvrcDec.so",
    415     #else
    416     "libmm-adec-omxevrc.so.1",
    417     #endif
    418     {
    419       "audio_decoder.evrc"
    420     }
    421   },
    422   {
    423     "OMX.qcom.audio.decoder.tunneled.evrc",
    424     NULL,   // Create instance function
    425     // Unique instance handle
    426     {
    427       NULL,
    428       NULL,
    429       NULL,
    430       NULL
    431     },
    432     NULL,   // Shared object library handle
    433     #ifdef _ANDROID_
    434     "libOmxEvrcDec.so",
    435     #else
    436     "libmm-adec-omxevrc.so.1",
    437     #endif
    438     {
    439       "audio_decoder.evrc"
    440     }
    441   },
    442   {
    443     "OMX.qcom.audio.encoder.tunneled.amr",
    444     NULL,   // Create instance function
    445     // Unique instance handle
    446     {
    447       NULL,
    448       NULL,
    449       NULL,
    450       NULL
    451     },
    452     NULL,   // Shared object library handle
    453     #ifdef _ANDROID_
    454     "libOmxAmrEnc.so",
    455     #else
    456     "libmm-aenc-omxamr.so.1",
    457     #endif
    458     {
    459       "audio_encoder.amr"
    460     }
    461   },
    462   {
    463     "OMX.qcom.audio.decoder.wma",
    464     NULL,   // Create instance function
    465     // Unique instance handle
    466     {
    467       NULL,
    468       NULL,
    469       NULL,
    470       NULL
    471     },
    472     NULL,   // Shared object library handle
    473     #ifdef _ANDROID_
    474     "libOmxWmaDec.so",
    475     #else
    476     "libmm-adec-omxwma.so.1",
    477     #endif
    478     {
    479       "audio_decoder.wma"
    480     }
    481   },
    482   {
    483     "OMX.qcom.audio.decoder.tunneled.wma",
    484     NULL,   // Create instance function
    485     // Unique instance handle
    486     {
    487       NULL,
    488       NULL,
    489       NULL,
    490       NULL
    491     },
    492     NULL,   // Shared object library handle
    493     #ifdef _ANDROID_
    494     "libOmxWmaDec.so",
    495     #else
    496     "libmm-adec-omxwma.so.1",
    497     #endif
    498     {
    499       "audio_decoder.wma"
    500     }
    501   },
    502   {
    503     "OMX.qcom.audio.decoder.wma10Pro",
    504     NULL,   // Create instance function
    505     // Unique instance handle
    506     {
    507       NULL,
    508       NULL,
    509       NULL,
    510       NULL
    511     },
    512     NULL,   // Shared object library handle
    513     #ifdef _ANDROID_
    514     "libOmxWmaDec.so",
    515     #else
    516     "libmm-adec-omxwma.so.1",
    517     #endif
    518     {
    519       "audio_decoder.wma"
    520     }
    521   },
    522   {
    523     "OMX.qcom.audio.decoder.tunneled.wma10Pro",
    524     NULL,   // Create instance function
    525     // Unique instance handle
    526     {
    527       NULL,
    528       NULL,
    529       NULL,
    530       NULL
    531     },
    532     NULL,   // Shared object library handle
    533     #ifdef _ANDROID_
    534     "libOmxWmaDec.so",
    535     #else
    536     "libmm-adec-omxwma.so.1",
    537     #endif
    538     {
    539       "audio_decoder.wma"
    540     }
    541   },
    542   {
    543     "OMX.qcom.audio.decoder.amrwb",
    544     NULL,   // Create instance function
    545     // Unique instance handle
    546     {
    547       NULL,
    548       NULL,
    549       NULL,
    550       NULL
    551     },
    552     NULL,   // Shared object library handle
    553     #ifdef _ANDROID_
    554     "libOmxAmrwbDec.so",
    555     #else
    556     "libmm-adec-omxamrwb.so.1",
    557     #endif
    558     {
    559       "audio_decoder.amrwb"
    560     }
    561   },
    562   {
    563     "OMX.qcom.audio.decoder.tunneled.amrwb",
    564     NULL,   // Create instance function
    565     // Unique instance handle
    566     {
    567       NULL,
    568       NULL,
    569       NULL,
    570       NULL
    571     },
    572     NULL,   // Shared object library handle
    573     #ifdef _ANDROID_
    574     "libOmxAmrwbDec.so",
    575     #else
    576     "libmm-adec-omxamrwb.so.1",
    577     #endif
    578     {
    579       "audio_decoder.amrwb"
    580     }
    581   },
    582   {
    583     "OMX.qcom.audio.decoder.amrwbp",
    584     NULL,   // Create instance function
    585     // Unique instance handle
    586     {
    587       NULL,
    588       NULL,
    589       NULL,
    590       NULL
    591     },
    592     NULL,   // Shared object library handle
    593      #ifdef _ANDROID_
    594     "libOmxAmrwbDec.so",
    595     #else
    596     "libmm-adec-omxamrwb.so.1",
    597     #endif
    598     {
    599       "audio_decoder.amrwbp"
    600     }
    601   },
    602   {
    603     "OMX.qcom.audio.decoder.tunneled.amrwbp",
    604     NULL,   // Create instance function
    605     // Unique instance handle
    606         {
    607       NULL,
    608       NULL,
    609       NULL,
    610       NULL
    611     },
    612     NULL,   // Shared object library handle
    613     #ifdef _ANDROID_
    614     "libOmxAmrwbDec.so",
    615     #else
    616     "libmm-adec-omxamrwb.so.1",
    617     #endif
    618     {
    619       "audio_decoder.amrwbp"
    620     }
    621   },
    622   {
    623     "OMX.qcom.audio.encoder.tunneled.qcelp13",
    624     NULL,   // Create instance function
    625     // Unique instance handle
    626     {
    627       NULL,
    628       NULL,
    629       NULL,
    630       NULL
    631     },
    632     NULL,   // Shared object library handle
    633     #ifdef _ANDROID_
    634     "libOmxQcelp13Enc.so",
    635     #else
    636     "libmm-aenc-omxqcelp13.so.1",
    637     #endif
    638     {
    639       "audio_encoder.qcelp13"
    640     }
    641   },
    642   {
    643     "OMX.qcom.audio.encoder.qcelp13",
    644     NULL,   // Create instance function
    645     // Unique instance handle
    646     {
    647       NULL,
    648       NULL,
    649       NULL,
    650       NULL
    651     },
    652     NULL,   // Shared object library handle
    653     #ifdef _ANDROID_
    654     "libOmxQcelp13Enc.so",
    655     #else
    656     "libmm-aenc-omxqcelp13.so.1",
    657     #endif
    658     {
    659       "audio_encoder.qcelp13"
    660     }
    661   },
    662   {
    663     "OMX.qcom.audio.encoder.tunneled.evrc",
    664     NULL,   // Create instance function
    665     // Unique instance handle
    666     {
    667       NULL,
    668       NULL,
    669       NULL,
    670       NULL
    671     },
    672     NULL,   // Shared object library handle
    673     #ifdef _ANDROID_
    674     "libOmxEvrcEnc.so",
    675     #else
    676     "libmm-aenc-omxevrc.so.1",
    677     #endif
    678     {
    679       "audio_encoder.evrc"
    680     }
    681   },
    682   {
    683     "OMX.qcom.audio.encoder.evrc",
    684     NULL,   // Create instance function
    685     // Unique instance handle
    686     {
    687       NULL,
    688       NULL,
    689       NULL,
    690       NULL
    691     },
    692     NULL,   // Shared object library handle
    693     #ifdef _ANDROID_
    694     "libOmxEvrcEnc.so",
    695     #else
    696     "libmm-aenc-omxevrc.so.1",
    697     #endif
    698     {
    699       "audio_encoder.evrc"
    700     }
    701   },
    702   {
    703     "OMX.qcom.audio.decoder.adpcm",
    704     NULL,   // Create instance function
    705     // Unique instance handle
    706     {
    707       NULL,
    708       NULL,
    709       NULL,
    710       NULL
    711     },
    712     NULL,   // Shared object library handle
    713     #ifdef _ANDROID_
    714     "libOmxAdpcmDec.so",
    715     #else
    716     "libmm-adec-omxadpcm.so.1",
    717     #endif
    718     {
    719       "audio_decoder.adpcm"
    720     }
    721   },
    722   {
    723     "OMX.qcom.audio.decoder.tunneled.adpcm",
    724     NULL,   // Create instance function
    725     // Unique instance handle
    726     {
    727       NULL,
    728       NULL,
    729       NULL,
    730       NULL
    731     },
    732     NULL,   // Shared object library handle
    733     #ifdef _ANDROID_
    734     "libOmxAdpcmDec.so",
    735     #else
    736     "libmm-adec-omxadpcm.so.1",
    737     #endif
    738     {
    739       "audio_decoder.adpcm"
    740     }
    741   }
    742 };
    743 
    744 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    745 
    746 
    747