Home | History | Annotate | Download | only in 8909
      1 /*--------------------------------------------------------------------------
      2 Copyright (c) 2014, 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
      6 met:
      7     * Redistributions of source code must retain the above copyright
      8       notice, this list of conditions and the following disclaimer.
      9     * Redistributions in binary form must reproduce the above
     10       copyright notice, this list of conditions and the following
     11       disclaimer in the documentation and/or other materials provided
     12       with the distribution.
     13     * Neither the name of The Linux Foundation nor the names of its
     14       contributors may be used to endorse or promote products derived
     15       from this software without specific prior written permission.
     16 
     17 THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
     18 WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     19 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
     20 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
     21 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     22 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     23 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
     24 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     25 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
     26 OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
     27 IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     28 
     29 --------------------------------------------------------------------------*/
     30 /*============================================================================
     31                             O p e n M A X   w r a p p e r s
     32                              O p e n  M A X   C o r e
     33 
     34   This module contains the registry table for the QTI's OpenMAX core.
     35 
     36 *//*========================================================================*/
     37 
     38 
     39 #include "qc_omx_core.h"
     40 
     41 omx_core_cb_type core[] =
     42 {
     43   {
     44     "OMX.qcom.video.decoder.avc",
     45     NULL, // Create instance function
     46     // Unique instance handle
     47     {
     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.hevc",
     58     NULL,   // Create instance function
     59     // Unique instance handle
     60     {
     61       NULL
     62     },
     63     NULL,   // Shared object library handle
     64     "libOmxVdec.so",
     65     {
     66       "video_decoder.hevc"
     67     }
     68   },
     69   {
     70     "OMX.qcom.video.decoder.vp8",
     71     NULL, // Create instance function
     72     // Unique instance handle
     73     {
     74       NULL
     75     },
     76     NULL,   // Shared object library handle
     77     "libOmxVdec.so",
     78     {
     79       "video_decoder.vp8"
     80     }
     81   },
     82    {
     83     "OMX.qcom.video.encoder.avc",
     84     NULL, // Create instance function
     85     // Unique instance handle
     86     {
     87       NULL
     88     },
     89     NULL,   // Shared object library handle
     90     "libOmxVenc.so",
     91     {
     92       "video_encoder.avc"
     93     }
     94   },
     95   {
     96     "OMX.qti.video.decoder.mpeg4sw",
     97     NULL, // Create instance function
     98     // Unique instance handle
     99     {
    100       NULL
    101     },
    102     NULL,   // Shared object library handle
    103     "libOmxSwVdec.so",
    104     {
    105       "video_decoder.mpeg4"
    106     }
    107   },
    108   {
    109     "OMX.qti.video.decoder.h263sw",
    110     NULL, // Create instance function
    111     // Unique instance handle
    112     {
    113       NULL
    114     },
    115     NULL,   // Shared object library handle
    116     "libOmxSwVdec.so",
    117     {
    118       "video_decoder.h263"
    119     }
    120   },
    121   {
    122     "OMX.qti.video.decoder.divxsw",
    123     NULL,   // Create instance function
    124     // Unique instance handle
    125     {
    126       NULL
    127     },
    128     NULL,   // Shared object library handle
    129     "libOmxSwVdec.so",
    130     {
    131       "video_decoder.divx"
    132     }
    133   },
    134   {
    135     "OMX.qti.video.decoder.divx4sw",
    136     NULL,   // Create instance function
    137     // Unique instance handle
    138     {
    139       NULL
    140     },
    141     NULL,   // Shared object library handle
    142     "libOmxSwVdec.so",
    143     {
    144       "video_decoder.divx"
    145     }
    146   },
    147   {
    148     "OMX.qcom.video.encoder.mpeg4sw",
    149     NULL, // Create instance function
    150     // Unique instance handle
    151     {
    152       NULL
    153     },
    154     NULL,   // Shared object library handle
    155     "libOmxSwVencMpeg4.so",
    156     {
    157       "video_encoder.mpeg4"
    158     }
    159   },
    160   {
    161     "OMX.qcom.video.encoder.h263sw",
    162     NULL, // Create instance function
    163     // Unique instance handle
    164     {
    165       NULL
    166     },
    167     NULL,   // Shared object library handle
    168     "libOmxSwVencMpeg4.so",
    169     {
    170       "video_encoder.h263"
    171     }
    172   },
    173   {
    174     "OMX.qcom.audio.decoder.Qcelp13",
    175     NULL, // Create instance function
    176     // Unique instance handle
    177     {
    178       NULL
    179     },
    180     NULL,   // Shared object library handle
    181     "libOmxQcelp13Dec.so",
    182     {
    183       "audio_decoder.Qcelp13"
    184     }
    185   },
    186   {
    187     "OMX.qcom.audio.decoder.evrc",
    188     NULL, // Create instance function
    189     // Unique instance handle
    190     {
    191       NULL
    192     },
    193     NULL,   // Shared object library handle
    194     "libOmxEvrcDec.so",
    195     {
    196       "audio_decoder.evrc"
    197     }
    198   },
    199   {
    200     "OMX.qcom.audio.decoder.wma",
    201     NULL, // Create instance function
    202     // Unique instance handle
    203     {
    204      NULL
    205     },
    206     NULL,   // Shared object library handle
    207     "libOmxWmaDec.so",
    208     {
    209      "audio_decoder.wma"
    210     }
    211   },
    212   {
    213     "OMX.qcom.audio.decoder.amrwbplus",
    214     NULL,   // Create instance function
    215     // Unique instance handle
    216     {
    217      NULL
    218     },
    219     NULL,   // Shared object library handle
    220     "libOmxAmrwbplusDec.so",
    221     {
    222      "audio_decoder.awbplus"
    223     }
    224   },
    225   {
    226     "OMX.qcom.audio.decoder.wma10Pro",
    227     NULL,   // Create instance function
    228     // Unique instance handle
    229     {
    230      NULL
    231     },
    232     NULL,   // Shared object library handle
    233     "libOmxWmaDec.so",
    234     {
    235      "audio_decoder.wma"
    236     }
    237   },
    238   {
    239     "OMX.qcom.audio.decoder.wmaLossLess",
    240     NULL,   // Create instance function
    241     // Unique instance handle
    242     {
    243      NULL
    244     },
    245     NULL,   // Shared object library handle
    246     "libOmxWmaDec.so",
    247     {
    248      "audio_decoder.wma"
    249     }
    250   },
    251   {
    252     "OMX.qcom.audio.encoder.aac",
    253     NULL, // Create instance function
    254     // Unique instance handle
    255     {
    256       NULL
    257     },
    258     NULL,  // Shared object library handle
    259     "libOmxAacEnc.so",
    260     {
    261       "audio_encoder.aac"
    262     }
    263   },
    264   {
    265     "OMX.qcom.audio.encoder.qcelp13",
    266     NULL,   // Create instance function
    267     // Unique instance handle
    268     {
    269       NULL
    270     },
    271     NULL,   // Shared object library handle
    272     "libOmxQcelp13Enc.so",
    273     {
    274       "audio_encoder.qcelp13"
    275     }
    276   },
    277   {
    278     "OMX.qcom.audio.encoder.evrc",
    279     NULL,   // Create instance function
    280     // Unique instance handle
    281     {
    282       NULL
    283     },
    284     NULL,   // Shared object library handle
    285     "libOmxEvrcEnc.so",
    286     {
    287       "audio_encoder.evrc"
    288     }
    289   },
    290   {
    291     "OMX.qcom.audio.encoder.amrnb",
    292     NULL,   // Create instance function
    293     // Unique instance handle
    294     {
    295       NULL
    296     },
    297     NULL,   // Shared object library handle
    298     "libOmxAmrEnc.so",
    299     {
    300       "audio_encoder.amrnb"
    301     }
    302   },
    303       {
    304     "OMX.qcom.audio.encoder.g711mlaw",
    305     NULL,   // Create instance function
    306     // Unique instance handle
    307     {
    308       NULL,
    309       NULL,
    310       NULL,
    311       NULL
    312     },
    313     NULL,   // Shared object library handle
    314     "libOmxG711Enc.so",
    315     {
    316       "audio_encoder.g711"
    317     }
    318   },
    319   {
    320     "OMX.qcom.audio.encoder.g711alaw",
    321     NULL,   // Create instance function
    322     // Unique instance handle
    323     {
    324       NULL,
    325       NULL,
    326       NULL,
    327       NULL
    328     },
    329     NULL,   // Shared object library handle
    330     "libOmxG711Enc.so",
    331     {
    332       "audio_encoder.g711"
    333     }
    334   },
    335   {
    336     "OMX.qcom.audio.encoder.amrwb",
    337     NULL,   // Create instance function
    338     // Unique instance handle
    339     {
    340       NULL
    341     },
    342     NULL,   // Shared object library handle
    343     "libOmxAmrEnc.so",
    344     {
    345       "audio_encoder.amrwb"
    346     }
    347   },
    348   {
    349     "OMX.qcom.audio.decoder.g711mlaw",
    350     NULL,   // Create instance function
    351     // Unique instance handle
    352     {
    353       NULL
    354     },
    355     NULL,   // Shared object library handle
    356     "libOmxG711Dec.so",
    357     {
    358       "audio_decoder.g711"
    359     }
    360   },
    361   {
    362     "OMX.qcom.audio.decoder.g711alaw",
    363     NULL,   // Create instance function
    364     // Unique instance handle
    365     {
    366       NULL
    367     },
    368     NULL,   // Shared object library handle
    369     "libOmxG711Dec.so",
    370     {
    371       "audio_decoder.g711"
    372     }
    373   },
    374   {
    375     "OMX.qcom.audio.decoder.amrwb",
    376     NULL,   // Create instance function
    377     // Unique instance handle
    378     {
    379       NULL
    380     },
    381     NULL,   // Shared object library handle
    382     "libOmxAmrDec.so",
    383     {
    384      "audio_decoder.amrwb"
    385     }
    386   },
    387   {
    388     "OMX.qcom.audio.decoder.amrnb",
    389     NULL,   // Create instance function
    390     // Unique instance handle
    391     {
    392       NULL
    393     },
    394     NULL,   // Shared object library handle
    395     "libOmxAmrDec.so",
    396     {
    397       "audio_decoder.amrnb"
    398     }
    399   },
    400  {
    401     "OMX.qcom.audio.decoder.aac",
    402     NULL,   // Create instance function
    403     // Unique instance handle
    404     {
    405       NULL
    406     },
    407     NULL,   // Shared object library handle
    408     "libOmxAacDec.so",
    409     {
    410       "audio_decoder.aac"
    411     }
    412   },
    413  {
    414     "OMX.qcom.audio.decoder.multiaac",
    415     NULL,   // Create instance function
    416     // Unique instance handle
    417     {
    418       NULL
    419     },
    420     NULL,   // Shared object library handle
    421     "libOmxAacDec.so",
    422     {
    423       "audio_decoder.aac"
    424     }
    425   },
    426   {
    427     "AIV.play",
    428     NULL, // Create instance function
    429     // Unique instance handle
    430     {
    431       NULL
    432     },
    433     NULL,  // Shared object library handle
    434     "libAivPlay.so",
    435     {
    436       "AIV.play.101"
    437     }
    438   },
    439   {
    440     "OMX.qcom.file.muxer",
    441     NULL, // Create instance function
    442     // Unique instance handle
    443     {
    444       NULL
    445     },
    446     NULL,   // Shared object library handle
    447     "libOmxMux.so",
    448     {
    449       "container_muxer.mp2"
    450     }
    451   },
    452   {
    453     "OMX.qti.audio.decoder.alac.sw",
    454     NULL,   // Create instance function
    455     // Unique instance handle
    456     {
    457       NULL,
    458       NULL,
    459       NULL,
    460       NULL
    461     },
    462     NULL,   // Shared object library handle
    463     "libOmxAlacDecSw.so",
    464     {
    465       "audio_decoder.alac"
    466     }
    467   },
    468  {
    469     "OMX.qcom.audio.decoder.alac",
    470     NULL,   // Create instance function
    471     // Unique instance handle
    472     {
    473       NULL
    474     },
    475     NULL,   // Shared object library handle
    476     "libOmxAlacDec.so",
    477     {
    478       "audio_decoder.alac"
    479     }
    480   },
    481  {
    482     "OMX.qcom.audio.decoder.ape",
    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     "libOmxApeDec.so",
    493     {
    494       "audio_decoder.ape"
    495     }
    496   },
    497   {
    498     "OMX.qti.audio.decoder.ape.sw",
    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     "libOmxApeDecSw.so",
    509     {
    510       "audio_decoder.ape"
    511     }
    512   },
    513   {
    514     "OMX.qti.audio.decoder.flac.sw",
    515     NULL,   // Create instance function
    516     // Unique instance handle
    517     {
    518       NULL,
    519       NULL,
    520       NULL,
    521       NULL
    522     },
    523     NULL,   // Shared object library handle
    524     "libOmxFlacDecSw.so",
    525     {
    526       "audio_decoder.flac"
    527     }
    528   }
    529 };
    530 
    531 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    532 
    533 
    534