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