Home | History | Annotate | Download | only in 7627A
      1 /*--------------------------------------------------------------------------
      2 Copyright (c) 2011-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     "libOmxH264Dec.so",
     52     {
     53       "video_decoder.avc"
     54     }
     55   },
     56   {
     57     "OMX.ittiam.video.encoder.avc",
     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     "libOmxIttiamVenc.so",
     68     {
     69       "video_encoder.avc"
     70     }
     71   },
     72   {
     73     "OMX.ittiam.video.decoder.avc",
     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     "libOmxIttiamVdec.so",
     84     {
     85       "video_decoder.avc"
     86     }
     87   },
     88   {
     89     "OMX.qcom.video.decoder.mpeg4",
     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     "libOmxMpeg4Dec.so",
    100     {
    101       "video_decoder.mpeg4"
    102     }
    103   },
    104   {
    105     "OMX.ittiam.video.decoder.mpeg4",
    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     "libOmxIttiamVdec.so",
    116     {
    117       "video_decoder.mpeg4"
    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      "libOmxMpeg4Dec.so",
    132      {
    133      "video_decoder.divx"
    134      }
    135   },
    136   {
    137     "OMX.qcom.video.decoder.divx4",
    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      "libOmxMpeg4Dec.so",
    148      {
    149      "video_decoder.divx"
    150      }
    151   },
    152   {
    153     "OMX.qcom.video.decoder.vc1",
    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     "libOmxWmvDec.so",
    164     {
    165       "video_decoder.vc1"
    166     }
    167   },
    168   {
    169     "OMX.qcom.video.decoder.real",
    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     "libOmxrv9Dec.so",
    180     {
    181       "video_decoder.real"
    182     }
    183   },
    184   {
    185     "OMX.qcom.video.decoder.h263",
    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     "libOmxMpeg4Dec.so",
    196     {
    197       "video_decoder.h263"
    198     }
    199   },
    200    {
    201     "OMX.qcom.video.encoder.mpeg4",
    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     "libOmxVidEnc.so",
    212     {
    213       "video_encoder.mpeg4"
    214     }
    215   },
    216   {
    217     "OMX.qcom.video.decoder.spark",
    218     NULL,   // Create instance function
    219     // Unique instance handle
    220     {
    221       NULL,
    222       NULL,
    223       NULL,
    224       NULL
    225     },
    226     NULL,   // Shared object library handle
    227     "libOmxMpeg4Dec.so",
    228     {
    229       "video_decoder.spark"
    230     }
    231   },
    232  {
    233     "OMX.qcom.video.decoder.vp",
    234     NULL,   // Create instance function
    235     // Unique instance handle
    236     {
    237       NULL,
    238       NULL,
    239       NULL,
    240       NULL
    241     },
    242     NULL,   // Shared object library handle
    243     "libOmxOn2Dec.so",
    244     {
    245       "video_decoder.vp"
    246     }
    247   },
    248  {
    249      "OMX.qcom.video.decoder.vp8",
    250      NULL,   // Create instance function
    251      // Unique instance handle
    252      {
    253        NULL,
    254        NULL,
    255        NULL,
    256        NULL
    257      },
    258      NULL,   // Shared object library handle
    259      "libOmxVp8Dec.so",
    260      {
    261        "video_decoder.vp8"
    262      }
    263   },
    264    {
    265     "OMX.qcom.video.encoder.h263",
    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     "libOmxVidEnc.so",
    276     {
    277       "video_encoder.h263",
    278     }
    279   },
    280   {
    281     "OMX.qcom.video.encoder.avc",
    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     "libOmxVidEnc.so",
    292     {
    293       "video_encoder.avc"
    294     }
    295   },
    296   {
    297     "OMX.qcom.audio.decoder.mp3",
    298     NULL,   // Create instance function
    299     // Unique instance handle
    300     {
    301       NULL,
    302       NULL,
    303       NULL,
    304       NULL
    305     },
    306     NULL,   // Shared object library handle
    307     #ifdef _ANDROID_
    308     "libOmxMp3Dec.so",
    309     #else
    310     "libmm-adec-omxmp3.so.1",
    311     #endif
    312     {
    313       "audio_decoder.mp3"
    314     }
    315   },
    316   {
    317     "OMX.qcom.audio.decoder.aac",
    318     NULL,   // Create instance function
    319     // Unique instance handle
    320     {
    321       NULL,
    322       NULL,
    323       NULL,
    324       NULL
    325     },
    326     NULL,   // Shared object library handle
    327     #ifdef _ANDROID_
    328     "libOmxAacDec.so",
    329     #else
    330     "libmm-adec-omxaac.so.1",
    331     #endif
    332     {
    333       "audio_decoder.aac"
    334     }
    335   },
    336   {
    337     "OMX.qcom.audio.decoder.tunneled.mp3",
    338     NULL,   // Create instance function
    339     // Unique instance handle
    340     {
    341       NULL,
    342       NULL,
    343       NULL,
    344       NULL
    345     },
    346     NULL,   // Shared object library handle
    347     #ifdef _ANDROID_
    348     "libOmxMp3Dec.so",
    349     #else
    350     "libmm-adec-omxmp3.so.1",
    351     #endif
    352     {
    353       "audio_decoder.mp3"
    354     }
    355   },
    356   {
    357     "OMX.qcom.audio.decoder.tunneled.aac",
    358     NULL,   // Create instance function
    359     // Unique instance handle
    360     {
    361       NULL,
    362       NULL,
    363       NULL,
    364       NULL
    365     },
    366     NULL,   // Shared object library handle
    367     #ifdef _ANDROID_
    368     "libOmxAacDec.so",
    369     #else
    370     "libmm-adec-omxaac.so.1",
    371     #endif
    372     {
    373       "audio_decoder.aac"
    374     }
    375   },
    376   {
    377     "OMX.qcom.audio.decoder.amrnb",
    378     NULL,   // Create instance function
    379     // Unique instance handle
    380     {
    381       NULL,
    382       NULL,
    383       NULL,
    384       NULL
    385     },
    386     NULL,   // Shared object library handle
    387     #ifdef _ANDROID_
    388     "libOmxAmrDec.so",
    389     #else
    390     "libmm-adec-omxamr.so.1",
    391     #endif
    392     {
    393       "audio_decoder.amrnb"
    394     }
    395   },
    396   {
    397     "OMX.qcom.audio.decoder.tunneled.amrnb",
    398     NULL,   // Create instance function
    399     // Unique instance handle
    400     {
    401       NULL,
    402       NULL,
    403       NULL,
    404       NULL
    405     },
    406     NULL,   // Shared object library handle
    407     #ifdef _ANDROID_
    408     "libOmxAmrDec.so",
    409     #else
    410     "libmm-adec-omxamr.so.1",
    411     #endif
    412     {
    413       "audio_decoder.amrnb"
    414     }
    415   },
    416   {
    417     "OMX.qcom.audio.encoder.tunneled.aac",
    418     NULL,   // Create instance function
    419     // Unique instance handle
    420     {
    421       NULL,
    422       NULL,
    423       NULL,
    424       NULL
    425     },
    426     NULL,   // Shared object library handle
    427     #ifdef _ANDROID_
    428     "libOmxAacEnc.so",
    429     #else
    430     "libmm-aenc-omxaac.so.1",
    431     #endif
    432     {
    433       "audio_encoder.aac"
    434     }
    435   },
    436   {
    437     "OMX.qcom.audio.decoder.Qcelp13Hw",
    438     NULL,   // Create instance function
    439     // Unique instance handle
    440     {
    441       NULL,
    442       NULL,
    443       NULL,
    444       NULL
    445     },
    446     NULL,   // Shared object library handle
    447     #ifdef _ANDROID_
    448     "libOmxQcelpHwDec.so",
    449     #else
    450     "libmm-adec-omxQcelp13.so.1",
    451     #endif
    452     {
    453       "audio_decoder.Qcelp13"
    454     }
    455   },
    456   {
    457     "OMX.qcom.audio.decoder.tunneled.Qcelp13Hw",
    458     NULL,   // Create instance function
    459     // Unique instance handle
    460     {
    461       NULL,
    462       NULL,
    463       NULL,
    464       NULL
    465     },
    466     NULL,   // Shared object library handle
    467     #ifdef _ANDROID_
    468     "libOmxQcelpHwDec.so",
    469     #else
    470     "libmm-adec-omxQcelp13.so.1",
    471     #endif
    472     {
    473       "audio_decoder.Qcelp13"
    474     }
    475   },
    476   {
    477     "OMX.qcom.audio.decoder.evrchw",
    478     NULL,   // Create instance function
    479     // Unique instance handle
    480     {
    481       NULL,
    482       NULL,
    483       NULL,
    484       NULL
    485     },
    486     NULL,   // Shared object library handle
    487     #ifdef _ANDROID_
    488     "libOmxEvrcHwDec.so",
    489     #else
    490     "libmm-adec-omxevrc.so.1",
    491     #endif
    492     {
    493       "audio_decoder.evrc"
    494     }
    495   },
    496   {
    497     "OMX.qcom.audio.decoder.tunneled.evrc",
    498     NULL,   // Create instance function
    499     // Unique instance handle
    500     {
    501       NULL,
    502       NULL,
    503       NULL,
    504       NULL
    505     },
    506     NULL,   // Shared object library handle
    507     #ifdef _ANDROID_
    508     "libOmxEvrcHwDec.so",
    509     #else
    510     "libmm-adec-omxevrc.so.1",
    511     #endif
    512     {
    513       "audio_decoder.evrc"
    514     }
    515   },
    516   {
    517     "OMX.qcom.audio.encoder.tunneled.amr",
    518     NULL,   // Create instance function
    519     // Unique instance handle
    520     {
    521       NULL,
    522       NULL,
    523       NULL,
    524       NULL
    525     },
    526     NULL,   // Shared object library handle
    527     #ifdef _ANDROID_
    528     "libOmxAmrEnc.so",
    529     #else
    530     "libmm-aenc-omxamr.so.1",
    531     #endif
    532     {
    533       "audio_encoder.amr"
    534     }
    535   },
    536   {
    537     "OMX.qcom.audio.decoder.wma",
    538     NULL,   // Create instance function
    539     // Unique instance handle
    540     {
    541       NULL,
    542       NULL,
    543       NULL,
    544       NULL
    545     },
    546     NULL,   // Shared object library handle
    547     #ifdef _ANDROID_
    548     "libOmxWmaDec.so",
    549     #else
    550     "libmm-adec-omxwma.so.1",
    551     #endif
    552     {
    553       "audio_decoder.wma"
    554     }
    555   },
    556   {
    557     "OMX.qcom.audio.decoder.tunneled.wma",
    558     NULL,   // Create instance function
    559     // Unique instance handle
    560     {
    561       NULL,
    562       NULL,
    563       NULL,
    564       NULL
    565     },
    566     NULL,   // Shared object library handle
    567     #ifdef _ANDROID_
    568     "libOmxWmaDec.so",
    569     #else
    570     "libmm-adec-omxwma.so.1",
    571     #endif
    572     {
    573       "audio_decoder.wma"
    574     }
    575   },
    576   {
    577     "OMX.qcom.audio.decoder.wma10Pro",
    578     NULL,   // Create instance function
    579     // Unique instance handle
    580     {
    581       NULL,
    582       NULL,
    583       NULL,
    584       NULL
    585     },
    586     NULL,   // Shared object library handle
    587     #ifdef _ANDROID_
    588     "libOmxWmaDec.so",
    589     #else
    590     "libmm-adec-omxwma.so.1",
    591     #endif
    592     {
    593       "audio_decoder.wma"
    594     }
    595   },
    596   {
    597     "OMX.qcom.audio.decoder.tunneled.wma10Pro",
    598     NULL,   // Create instance function
    599     // Unique instance handle
    600     {
    601       NULL,
    602       NULL,
    603       NULL,
    604       NULL
    605     },
    606     NULL,   // Shared object library handle
    607     #ifdef _ANDROID_
    608     "libOmxWmaDec.so",
    609     #else
    610     "libmm-adec-omxwma.so.1",
    611     #endif
    612     {
    613       "audio_decoder.wma"
    614     }
    615   },
    616   {
    617     "OMX.qcom.audio.decoder.amrwb",
    618     NULL,   // Create instance function
    619     // Unique instance handle
    620     {
    621       NULL,
    622       NULL,
    623       NULL,
    624       NULL
    625     },
    626     NULL,   // Shared object library handle
    627     #ifdef _ANDROID_
    628     "libOmxAmrwbDec.so",
    629     #else
    630     "libmm-adec-omxamrwb.so.1",
    631     #endif
    632     {
    633       "audio_decoder.amrwb"
    634     }
    635   },
    636   {
    637     "OMX.qcom.audio.decoder.tunneled.amrwb",
    638     NULL,   // Create instance function
    639     // Unique instance handle
    640     {
    641       NULL,
    642       NULL,
    643       NULL,
    644       NULL
    645     },
    646     NULL,   // Shared object library handle
    647     #ifdef _ANDROID_
    648     "libOmxAmrwbDec.so",
    649     #else
    650     "libmm-adec-omxamrwb.so.1",
    651     #endif
    652     {
    653       "audio_decoder.amrwb"
    654     }
    655   },
    656   {
    657     "OMX.qcom.audio.decoder.amrwbp",
    658     NULL,   // Create instance function
    659     // Unique instance handle
    660     {
    661       NULL,
    662       NULL,
    663       NULL,
    664       NULL
    665     },
    666     NULL,   // Shared object library handle
    667      #ifdef _ANDROID_
    668     "libOmxAmrwbDec.so",
    669     #else
    670     "libmm-adec-omxamrwb.so.1",
    671     #endif
    672     {
    673       "audio_decoder.amrwbp"
    674     }
    675   },
    676   {
    677     "OMX.qcom.audio.decoder.tunneled.amrwbp",
    678     NULL,   // Create instance function
    679     // Unique instance handle
    680         {
    681       NULL,
    682       NULL,
    683       NULL,
    684       NULL
    685     },
    686     NULL,   // Shared object library handle
    687     #ifdef _ANDROID_
    688     "libOmxAmrwbDec.so",
    689     #else
    690     "libmm-adec-omxamrwb.so.1",
    691     #endif
    692     {
    693       "audio_decoder.amrwbp"
    694     }
    695   },
    696   {
    697     "OMX.qcom.audio.encoder.tunneled.qcelp13",
    698     NULL,   // Create instance function
    699     // Unique instance handle
    700     {
    701       NULL,
    702       NULL,
    703       NULL,
    704       NULL
    705     },
    706     NULL,   // Shared object library handle
    707     #ifdef _ANDROID_
    708     "libOmxQcelp13Enc.so",
    709     #else
    710     "libmm-aenc-omxqcelp13.so.1",
    711     #endif
    712     {
    713       "audio_encoder.qcelp13"
    714     }
    715   },
    716   {
    717     "OMX.qcom.audio.encoder.qcelp13",
    718     NULL,   // Create instance function
    719     // Unique instance handle
    720     {
    721       NULL,
    722       NULL,
    723       NULL,
    724       NULL
    725     },
    726     NULL,   // Shared object library handle
    727     #ifdef _ANDROID_
    728     "libOmxQcelp13Enc.so",
    729     #else
    730     "libmm-aenc-omxqcelp13.so.1",
    731     #endif
    732     {
    733       "audio_encoder.qcelp13"
    734     }
    735   },
    736   {
    737     "OMX.qcom.audio.encoder.tunneled.evrc",
    738     NULL,   // Create instance function
    739     // Unique instance handle
    740     {
    741       NULL,
    742       NULL,
    743       NULL,
    744       NULL
    745     },
    746     NULL,   // Shared object library handle
    747     #ifdef _ANDROID_
    748     "libOmxEvrcEnc.so",
    749     #else
    750     "libmm-aenc-omxevrc.so.1",
    751     #endif
    752     {
    753       "audio_encoder.evrc"
    754     }
    755   },
    756   {
    757     "OMX.qcom.audio.encoder.evrc",
    758     NULL,   // Create instance function
    759     // Unique instance handle
    760     {
    761       NULL,
    762       NULL,
    763       NULL,
    764       NULL
    765     },
    766     NULL,   // Shared object library handle
    767     #ifdef _ANDROID_
    768     "libOmxEvrcEnc.so",
    769     #else
    770     "libmm-aenc-omxevrc.so.1",
    771     #endif
    772     {
    773       "audio_encoder.evrc"
    774     }
    775   },
    776   {
    777     "OMX.qcom.audio.decoder.ac3",
    778     NULL,   // Create instance function
    779     // Unique instance handle
    780     {
    781       NULL,
    782       NULL,
    783       NULL,
    784       NULL
    785     },
    786     NULL,   // Shared object library handle
    787     "libOmxAc3HwDec.so",
    788     {
    789       "audio_decoder.ac3"
    790     }
    791   },
    792   {
    793     "OMX.qcom.audio.decoder.eac3",
    794     NULL,   // Create instance function
    795     // Unique instance handle
    796     {
    797       NULL,
    798       NULL,
    799       NULL,
    800       NULL
    801     },
    802     NULL,   // Shared object library handle
    803     "libOmxAc3HwDec.so",
    804     {
    805       "audio_decoder.eac3"
    806     }
    807   },
    808 };
    809 
    810 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    811 
    812 
    813