Home | History | Annotate | Download | only in 7630
      1 /*--------------------------------------------------------------------------
      2 Copyright (c) 2009, 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     #ifdef _ANDROID_
     52     "libOmxVdec.so",
     53     #else
     54     "libmm-vdec-omxh264.so.1",
     55     #endif
     56     {
     57       "video_decoder.avc"
     58     }
     59   },
     60   {
     61     "OMX.qcom.video.decoder.mpeg4",
     62     NULL,   // Create instance function
     63     // Unique instance handle
     64     {
     65       NULL,
     66       NULL,
     67       NULL,
     68       NULL
     69     },
     70     NULL,   // Shared object library handle
     71     #ifdef _ANDROID_
     72     "libOmxVdec.so",
     73     #else
     74     "libmm-vdec-omxmp4.so.1",
     75     #endif
     76     {
     77       "video_decoder.mpeg4"
     78     }
     79   },
     80   {
     81     "OMX.qcom.video.decoder.vc1",
     82     NULL,   // Create instance function
     83     // Unique instance handle
     84     {
     85       NULL,
     86       NULL,
     87       NULL,
     88       NULL
     89     },
     90     NULL,   // Shared object library handle
     91     #ifdef _ANDROID_
     92     "libOmxVdec.so",
     93     #else
     94     "libmm-vdec-omxwmv.so.1",
     95     #endif
     96     {
     97       "video_decoder.vc1"
     98     }
     99   },
    100   {
    101     "OMX.qcom.video.decoder.h263",
    102     NULL,   // Create instance function
    103     // Unique instance handle
    104     {
    105       NULL,
    106       NULL,
    107       NULL,
    108       NULL
    109     },
    110     NULL,   // Shared object library handle
    111     #ifdef _ANDROID_
    112     "libOmxVdec.so",
    113     #else
    114     "libmm-vdec-omxmp4.so.1",
    115     #endif
    116     {
    117       "video_decoder.h263"
    118     }
    119   },
    120    {
    121     "OMX.qcom.video.encoder.mpeg4",
    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     #ifdef _ANDROID_
    132     "libOmxVenc.so",
    133     #else
    134     "libmm-venc-omx.so.1",
    135     #endif
    136     {
    137       "video_encoder.mpeg4"
    138     }
    139   },
    140    {
    141     "OMX.qcom.video.encoder.h263",
    142     NULL,   // Create instance function
    143     // Unique instance handle
    144     {
    145       NULL,
    146       NULL,
    147       NULL,
    148       NULL
    149     },
    150     NULL,   // Shared object library handle
    151     #ifdef _ANDROID_
    152     "libOmxVenc.so",
    153     #else
    154     "libmm-venc-omx.so.1",
    155     #endif
    156     {
    157       "video_encoder.h263",
    158     }
    159   },
    160    {
    161     "OMX.qcom.video.encoder.avc",
    162     NULL, // Create instance function
    163     // Unique instance handle
    164     {
    165       NULL,
    166       NULL,
    167       NULL,
    168       NULL
    169     },
    170     NULL,   // Shared object library handle
    171     #ifdef _ANDROID_
    172     "libOmxVenc.so",
    173     #else
    174     "libmm-venc-omx.so.1",
    175     #endif
    176     {
    177       "video_encoder.avc"
    178     }
    179   },
    180   {
    181     "OMX.qcom.audio.decoder.mp3",
    182     NULL,   // Create instance function
    183     // Unique instance handle
    184     {
    185       NULL,
    186       NULL,
    187       NULL,
    188       NULL
    189     },
    190     NULL,   // Shared object library handle
    191     #ifdef _ANDROID_
    192     "libOmxMp3Dec.so",
    193     #else
    194     "libmm-adec-omxmp3.so.1",
    195     #endif
    196     {
    197       "audio_decoder.mp3"
    198     }
    199   },
    200   {
    201     "OMX.qcom.audio.decoder.aac",
    202     NULL,   // Create instance function
    203     // Unique instance handle
    204     {
    205       NULL,
    206       NULL,
    207       NULL,
    208       NULL
    209     },
    210     NULL,   // Shared object library handle
    211     #ifdef _ANDROID_
    212     "libOmxAacDec.so",
    213     #else
    214     "libmm-adec-omxaac.so.1",
    215     #endif
    216     {
    217       "audio_decoder.aac"
    218     }
    219   },
    220   {
    221     "OMX.qcom.audio.decoder.tunneled.mp3",
    222     NULL,   // Create instance function
    223     // Unique instance handle
    224     {
    225       NULL,
    226       NULL,
    227       NULL,
    228       NULL
    229     },
    230     NULL,   // Shared object library handle
    231     #ifdef _ANDROID_
    232     "libOmxMp3Dec.so",
    233     #else
    234     "libmm-adec-omxmp3.so.1",
    235     #endif
    236     {
    237       "audio_decoder.mp3"
    238     }
    239   },
    240   {
    241     "OMX.qcom.audio.decoder.tunneled.aac",
    242     NULL,   // Create instance function
    243     // Unique instance handle
    244     {
    245       NULL,
    246       NULL,
    247       NULL,
    248       NULL
    249     },
    250     NULL,   // Shared object library handle
    251     #ifdef _ANDROID_
    252     "libOmxAacDec.so",
    253     #else
    254     "libmm-adec-omxaac.so.1",
    255     #endif
    256     {
    257       "audio_decoder.aac"
    258     }
    259   },
    260   {
    261     "OMX.qcom.audio.decoder.amrnb",
    262     NULL,   // Create instance function
    263     // Unique instance handle
    264     {
    265       NULL,
    266       NULL,
    267       NULL,
    268       NULL
    269     },
    270     NULL,   // Shared object library handle
    271     #ifdef _ANDROID_
    272     "libOmxAmrDec.so",
    273     #else
    274     "libmm-adec-omxamr.so.1",
    275     #endif
    276     {
    277       "audio_decoder.amrnb"
    278     }
    279   },
    280   {
    281     "OMX.qcom.audio.decoder.tunneled.amrnb",
    282     NULL,   // Create instance function
    283     // Unique instance handle
    284     {
    285       NULL,
    286       NULL,
    287       NULL,
    288       NULL
    289     },
    290     NULL,   // Shared object library handle
    291     #ifdef _ANDROID_
    292     "libOmxAmrDec.so",
    293     #else
    294     "libmm-adec-omxamr.so.1",
    295     #endif
    296     {
    297       "audio_decoder.amrnb"
    298     }
    299   },
    300   {
    301     "OMX.qcom.audio.encoder.tunneled.aac",
    302     NULL,   // Create instance function
    303     // Unique instance handle
    304     {
    305       NULL,
    306       NULL,
    307       NULL,
    308       NULL
    309     },
    310     NULL,   // Shared object library handle
    311     #ifdef _ANDROID_
    312     "libOmxAacEnc.so",
    313     #else
    314     "libmm-aenc-omxaac.so.1",
    315     #endif
    316     {
    317       "audio_encoder.aac"
    318     }
    319   },
    320   {
    321     "OMX.qcom.audio.decoder.Qcelp13",
    322     NULL,   // Create instance function
    323     // Unique instance handle
    324     {
    325       NULL,
    326       NULL,
    327       NULL,
    328       NULL
    329     },
    330     NULL,   // Shared object library handle
    331     #ifdef _ANDROID_
    332     "libOmxQcelpDec.so",
    333     #else
    334     "libmm-adec-omxQcelp13.so.1",
    335     #endif
    336     {
    337       "audio_decoder.Qcelp13"
    338     }
    339   },
    340   {
    341     "OMX.qcom.audio.decoder.tunneled.Qcelp13",
    342     NULL,   // Create instance function
    343     // Unique instance handle
    344     {
    345       NULL,
    346       NULL,
    347       NULL,
    348       NULL
    349     },
    350     NULL,   // Shared object library handle
    351     #ifdef _ANDROID_
    352     "libOmxQcelpDec.so",
    353     #else
    354     "libmm-adec-omxQcelp13.so.1",
    355     #endif
    356     {
    357       "audio_decoder.Qcelp13"
    358     }
    359   },
    360   {
    361     "OMX.qcom.audio.decoder.evrc",
    362     NULL,   // Create instance function
    363     // Unique instance handle
    364     {
    365       NULL,
    366       NULL,
    367       NULL,
    368       NULL
    369     },
    370     NULL,   // Shared object library handle
    371     #ifdef _ANDROID_
    372     "libOmxEvrcDec.so",
    373     #else
    374     "libmm-adec-omxevrc.so.1",
    375     #endif
    376     {
    377       "audio_decoder.evrc"
    378     }
    379   },
    380   {
    381     "OMX.qcom.audio.decoder.tunneled.evrc",
    382     NULL,   // Create instance function
    383     // Unique instance handle
    384     {
    385       NULL,
    386       NULL,
    387       NULL,
    388       NULL
    389     },
    390     NULL,   // Shared object library handle
    391     #ifdef _ANDROID_
    392     "libOmxEvrcDec.so",
    393     #else
    394     "libmm-adec-omxevrc.so.1",
    395     #endif
    396     {
    397       "audio_decoder.evrc"
    398     }
    399   },
    400   {
    401     "OMX.qcom.audio.encoder.tunneled.amr",
    402     NULL,   // Create instance function
    403     // Unique instance handle
    404     {
    405       NULL,
    406       NULL,
    407       NULL,
    408       NULL
    409     },
    410     NULL,   // Shared object library handle
    411     #ifdef _ANDROID_
    412     "libOmxAmrEnc.so",
    413     #else
    414     "libmm-aenc-omxamr.so.1",
    415     #endif
    416     {
    417       "audio_encoder.amr"
    418     }
    419   },
    420   {
    421     "OMX.qcom.audio.decoder.wma",
    422     NULL,   // Create instance function
    423     // Unique instance handle
    424     {
    425       NULL,
    426       NULL,
    427       NULL,
    428       NULL
    429     },
    430     NULL,   // Shared object library handle
    431     #ifdef _ANDROID_
    432     "libOmxWmaDec.so",
    433     #else
    434     "libmm-adec-omxwma.so.1",
    435     #endif
    436     {
    437       "audio_decoder.wma"
    438     }
    439   },
    440   {
    441     "OMX.qcom.audio.decoder.tunneled.wma",
    442     NULL,   // Create instance function
    443     // Unique instance handle
    444     {
    445       NULL,
    446       NULL,
    447       NULL,
    448       NULL
    449     },
    450     NULL,   // Shared object library handle
    451     #ifdef _ANDROID_
    452     "libOmxWmaDec.so",
    453     #else
    454     "libmm-adec-omxwma.so.1",
    455     #endif
    456     {
    457       "audio_decoder.wma"
    458     }
    459   },
    460   {
    461     "OMX.qcom.audio.decoder.wma10Pro",
    462     NULL,   // Create instance function
    463     // Unique instance handle
    464     {
    465       NULL,
    466       NULL,
    467       NULL,
    468       NULL
    469     },
    470     NULL,   // Shared object library handle
    471     #ifdef _ANDROID_
    472     "libOmxWmaDec.so",
    473     #else
    474     "libmm-adec-omxwma.so.1",
    475     #endif
    476     {
    477       "audio_decoder.wma"
    478     }
    479   },
    480   {
    481     "OMX.qcom.audio.decoder.tunneled.wma10Pro",
    482     NULL,   // Create instance function
    483     // Unique instance handle
    484     {
    485       NULL,
    486       NULL,
    487       NULL,
    488       NULL
    489     },
    490     NULL,   // Shared object library handle
    491     #ifdef _ANDROID_
    492     "libOmxWmaDec.so",
    493     #else
    494     "libmm-adec-omxwma.so.1",
    495     #endif
    496     {
    497       "audio_decoder.wma"
    498     }
    499   },
    500   {
    501     "OMX.qcom.audio.decoder.amrwb",
    502     NULL,   // Create instance function
    503     // Unique instance handle
    504     {
    505       NULL,
    506       NULL,
    507       NULL,
    508       NULL
    509     },
    510     NULL,   // Shared object library handle
    511     #ifdef _ANDROID_
    512     "libOmxAmrwbDec.so",
    513     #else
    514     "libmm-adec-omxamrwb.so.1",
    515     #endif
    516     {
    517       "audio_decoder.amrwb"
    518     }
    519   },
    520   {
    521     "OMX.qcom.audio.decoder.tunneled.amrwb",
    522     NULL,   // Create instance function
    523     // Unique instance handle
    524     {
    525       NULL,
    526       NULL,
    527       NULL,
    528       NULL
    529     },
    530     NULL,   // Shared object library handle
    531     #ifdef _ANDROID_
    532     "libOmxAmrwbDec.so",
    533     #else
    534     "libmm-adec-omxamrwb.so.1",
    535     #endif
    536     {
    537       "audio_decoder.amrwb"
    538     }
    539   },
    540   {
    541     "OMX.qcom.audio.decoder.amrwbp",
    542     NULL,   // Create instance function
    543     // Unique instance handle
    544     {
    545       NULL,
    546       NULL,
    547       NULL,
    548       NULL
    549     },
    550     NULL,   // Shared object library handle
    551      #ifdef _ANDROID_
    552     "libOmxAmrwbDec.so",
    553     #else
    554     "libmm-adec-omxamrwb.so.1",
    555     #endif
    556     {
    557       "audio_decoder.amrwbp"
    558     }
    559   },
    560   {
    561     "OMX.qcom.audio.decoder.tunneled.amrwbp",
    562     NULL,   // Create instance function
    563     // Unique instance handle
    564         {
    565       NULL,
    566       NULL,
    567       NULL,
    568       NULL
    569     },
    570     NULL,   // Shared object library handle
    571     #ifdef _ANDROID_
    572     "libOmxAmrwbDec.so",
    573     #else
    574     "libmm-adec-omxamrwb.so.1",
    575     #endif
    576     {
    577       "audio_decoder.amrwbp"
    578     }
    579   },
    580   {
    581     "OMX.qcom.audio.encoder.tunneled.qcelp13",
    582     NULL,   // Create instance function
    583     // Unique instance handle
    584     {
    585       NULL,
    586       NULL,
    587       NULL,
    588       NULL
    589     },
    590     NULL,   // Shared object library handle
    591     #ifdef _ANDROID_
    592     "libOmxQcelp13Enc.so",
    593     #else
    594     "libmm-aenc-omxqcelp13.so.1",
    595     #endif
    596     {
    597       "audio_encoder.qcelp13"
    598     }
    599   },
    600   {
    601     "OMX.qcom.audio.encoder.tunneled.evrc",
    602     NULL,   // Create instance function
    603     // Unique instance handle
    604     {
    605       NULL,
    606       NULL,
    607       NULL,
    608       NULL
    609     },
    610     NULL,   // Shared object library handle
    611     #ifdef _ANDROID_
    612     "libOmxEvrcEnc.so",
    613     #else
    614     "libmm-aenc-omxevrc.so.1",
    615     #endif
    616     {
    617       "audio_encoder.evrc"
    618     }
    619   },
    620   {
    621     "OMX.qcom.audio.decoder.adpcm",
    622     NULL,   // Create instance function
    623     // Unique instance handle
    624     {
    625       NULL,
    626       NULL,
    627       NULL,
    628       NULL
    629     },
    630     NULL,   // Shared object library handle
    631     #ifdef _ANDROID_
    632     "libOmxAdpcmDec.so",
    633     #else
    634     "libmm-adec-omxadpcm.so.1",
    635     #endif
    636     {
    637       "audio_decoder.adpcm"
    638     }
    639   },
    640   {
    641     "OMX.qcom.audio.decoder.tunneled.adpcm",
    642     NULL,   // Create instance function
    643     // Unique instance handle
    644     {
    645       NULL,
    646       NULL,
    647       NULL,
    648       NULL
    649     },
    650     NULL,   // Shared object library handle
    651     #ifdef _ANDROID_
    652     "libOmxAdpcmDec.so",
    653     #else
    654     "libmm-adec-omxadpcm.so.1",
    655     #endif
    656     {
    657       "audio_decoder.adpcm"
    658     }
    659   }
    660 };
    661 
    662 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    663 
    664 
    665