Home | History | Annotate | Download | only in 8952
      1 /*--------------------------------------------------------------------------
      2 Copyright (c) 2015, 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 #include "qc_omx_core.h"
     39 
     40 omx_core_cb_type core[] =
     41 {
     42   {
     43     "OMX.qcom.video.decoder.avc",
     44     NULL,   // Create instance function
     45     // Unique instance handle
     46     {
     47       NULL
     48     },
     49     NULL,   // Shared object library handle
     50     "libOmxVdec.so",
     51     {
     52       "video_decoder.avc"
     53     }
     54   },
     55   {
     56     "OMX.qcom.video.decoder.mpeg4",
     57     NULL,   // Create instance function
     58     // Unique instance handle
     59     {
     60       NULL
     61     },
     62     NULL,   // Shared object library handle
     63     "libOmxVdec.so",
     64     {
     65       "video_decoder.mpeg4"
     66     }
     67   },
     68   {
     69     "OMX.qcom.video.decoder.mpeg4.secure",
     70     NULL,   // Create instance function
     71     // Unique instance handle
     72     {
     73       NULL
     74     },
     75     NULL,   // Shared object library handle
     76     "libOmxVdec.so",
     77     {
     78       "video_decoder.mpeg4"
     79     }
     80   },
     81   {
     82     "OMX.qcom.video.decoder.mpeg2",
     83     NULL, // Create instance function
     84     // Unique instance handle
     85     {
     86       NULL
     87     },
     88     NULL,   // Shared object library handle
     89     "libOmxVdec.so",
     90     {
     91       "video_decoder.mpeg2"
     92     }
     93   },
     94   {
     95     "OMX.qcom.video.decoder.mpeg2.secure",
     96     NULL, // Create instance function
     97     // Unique instance handle
     98     {
     99       NULL
    100     },
    101     NULL,   // Shared object library handle
    102     "libOmxVdec.so",
    103     {
    104       "video_decoder.mpeg2"
    105     }
    106   },
    107   {
    108     "OMX.qcom.video.decoder.vc1",
    109     NULL,   // Create instance function
    110     // Unique instance handle
    111     {
    112       NULL
    113     },
    114     NULL,   // Shared object library handle
    115     "libOmxVdec.so",
    116     {
    117       "video_decoder.vc1"
    118     }
    119   },
    120   {
    121     "OMX.qcom.video.decoder.vc1.secure",
    122     NULL,   // Create instance function
    123     // Unique instance handle
    124     {
    125       NULL
    126     },
    127     NULL,   // Shared object library handle
    128     "libOmxVdec.so",
    129     {
    130       "video_decoder.vc1"
    131     }
    132   },
    133   {
    134     "OMX.qcom.video.decoder.wmv",
    135     NULL,   // Create instance function
    136     // Unique instance handle
    137     {
    138       NULL
    139     },
    140     NULL,   // Shared object library handle
    141     "libOmxVdec.so",
    142     {
    143       "video_decoder.vc1"
    144     }
    145   },
    146   {
    147     "OMX.qcom.video.decoder.wmv.secure",
    148     NULL,   // Create instance function
    149     // Unique instance handle
    150     {
    151       NULL
    152     },
    153     NULL,   // Shared object library handle
    154     "libOmxVdec.so",
    155     {
    156       "video_decoder.vc1"
    157     }
    158   },
    159   {
    160     "OMX.qcom.file.muxer",
    161     NULL,   // Create instance function
    162     // Unique instance handle
    163     {
    164       NULL
    165     },
    166     NULL,   // Shared object library handle
    167 
    168     "libOmxMux.so",
    169     {
    170       "container_muxer.mp2"
    171     }
    172   },
    173   {
    174     "OMX.qcom.video.decoder.divx4",
    175     NULL,   // Create instance function
    176     // Unique instance handle
    177     {
    178       NULL
    179     },
    180     NULL,   // Shared object library handle
    181     "libOmxVdec.so",
    182     {
    183       "video_decoder.divx"
    184     }
    185   },
    186   {
    187     "OMX.qcom.video.decoder.divx",
    188     NULL,   // Create instance function
    189     // Unique instance handle
    190     {
    191       NULL
    192     },
    193     NULL,   // Shared object library handle
    194     "libOmxVdec.so",
    195     {
    196       "video_decoder.divx"
    197     }
    198   },
    199   {
    200     "OMX.qcom.video.decoder.divx311",
    201     NULL,   // Create instance function
    202     // Unique instance handle
    203     {
    204       NULL
    205     },
    206     NULL,   // Shared object library handle
    207     "libOmxVdec.so",
    208     {
    209       "video_decoder.divx"
    210     }
    211   },
    212   {
    213     "OMX.qcom.video.decoder.h263",
    214     NULL,   // Create instance function
    215     // Unique instance handle
    216     {
    217       NULL
    218     },
    219     NULL,   // Shared object library handle
    220     "libOmxVdec.so",
    221     {
    222       "video_decoder.h263"
    223     }
    224   },
    225   {
    226     "OMX.qcom.video.decoder.hevc",
    227     NULL,   // Create instance function
    228     // Unique instance handle
    229     {
    230       NULL
    231     },
    232     NULL,   // Shared object library handle
    233     "libOmxVdec.so",
    234     {
    235       "video_decoder.hevc"
    236     }
    237   },
    238   {
    239     "OMX.qcom.video.decoder.vp8",
    240     NULL,   // Create instance function
    241     // Unique instance handle
    242     {
    243       NULL
    244     },
    245     NULL,   // Shared object library handle
    246     "libOmxVdec.so",
    247     {
    248       "video_decoder.vp8"
    249     }
    250   },
    251   {
    252     "OMX.qcom.video.decoder.vp9",
    253     NULL,   // Create instance function
    254     // Unique instance handle
    255     {
    256       NULL
    257     },
    258     NULL,   // Shared object library handle
    259     "libOmxVdec.so",
    260     {
    261       "video_decoder.vp9"
    262     }
    263   },
    264    {
    265     "OMX.qcom.video.encoder.mpeg4",
    266     NULL,   // Create instance function
    267     // Unique instance handle
    268     {
    269       NULL
    270     },
    271     NULL,   // Shared object library handle
    272     "libOmxVenc.so",
    273     {
    274       "video_encoder.mpeg4"
    275     }
    276   },
    277    {
    278     "OMX.qcom.video.encoder.h263",
    279     NULL,   // Create instance function
    280     // Unique instance handle
    281     {
    282       NULL
    283     },
    284     NULL,   // Shared object library handle
    285     "libOmxVenc.so",
    286     {
    287       "video_encoder.h263",
    288     }
    289   },
    290    {
    291     "OMX.qcom.video.encoder.avc",
    292     NULL, // Create instance function
    293     // Unique instance handle
    294     {
    295       NULL
    296     },
    297     NULL,   // Shared object library handle
    298     "libOmxVenc.so",
    299     {
    300       "video_encoder.avc"
    301     }
    302   },
    303   {
    304     "OMX.qcom.video.encoder.vp8",
    305     NULL,   // Create instance function
    306     // Unique instance handle
    307     {
    308       NULL
    309     },
    310     NULL,   // Shared object library handle
    311     "libOmxVenc.so",
    312     {
    313       "video_encoder.vp8",
    314     }
    315   },
    316   {
    317     "OMX.qti.video.encoder.hevc",
    318     NULL,   // Create instance function
    319     // Unique instance handle
    320     {
    321       NULL
    322     },
    323     NULL,   // Shared object library handle
    324     "libOmxSwVencHevc.so",
    325     {
    326       "video_encoder.hevc"
    327     }
    328   },
    329   {
    330     "OMX.qcom.video.encoder.hevc",
    331     NULL,   // Create instance function
    332     // Unique instance handle
    333     {
    334       NULL
    335     },
    336     NULL,   // Shared object library handle
    337     "libOmxVenc.so",
    338     {
    339       "video_encoder.hevc"
    340     }
    341   },
    342   {
    343     "OMX.qcom.audio.decoder.Qcelp13",
    344     NULL, // Create instance function
    345     // Unique instance handle
    346     {
    347       NULL
    348     },
    349     NULL,   // Shared object library handle
    350     "libOmxQcelp13Dec.so",
    351     {
    352       "audio_decoder.Qcelp13"
    353     }
    354   },
    355   {
    356     "OMX.qcom.audio.decoder.evrc",
    357     NULL, // Create instance function
    358     // Unique instance handle
    359     {
    360       NULL
    361     },
    362     NULL,   // Shared object library handle
    363     "libOmxEvrcDec.so",
    364     {
    365       "audio_decoder.evrc"
    366     }
    367   },
    368   {
    369     "OMX.qcom.audio.decoder.wma",
    370     NULL, // Create instance function
    371     // Unique instance handle
    372     {
    373      NULL
    374     },
    375     NULL,   // Shared object library handle
    376     "libOmxWmaDec.so",
    377     {
    378      "audio_decoder.wma"
    379     }
    380   },
    381   {
    382     "OMX.qcom.audio.decoder.wma10Pro",
    383     NULL,   // Create instance function
    384     // Unique instance handle
    385     {
    386      NULL
    387     },
    388     NULL,   // Shared object library handle
    389     "libOmxWmaDec.so",
    390     {
    391      "audio_decoder.wma"
    392     }
    393   },
    394   {
    395     "OMX.qcom.audio.decoder.aac",
    396     NULL,   // Create instance function
    397     // Unique instance handle
    398     {
    399       NULL
    400     },
    401     NULL,   // Shared object library handle
    402     "libOmxAacDec.so",
    403     {
    404       "audio_decoder.aac"
    405     }
    406   },
    407   {
    408     "OMX.qcom.audio.decoder.amrwbplus",
    409     NULL,   // Create instance function
    410     // Unique instance handle
    411     {
    412      NULL
    413     },
    414     NULL,   // Shared object library handle
    415     "libOmxAmrwbplusDec.so",
    416     {
    417      "audio_decoder.awbplus"
    418     }
    419   },
    420   {
    421     "OMX.qcom.audio.decoder.alac",
    422     NULL,   // Create instance function
    423     // Unique instance handle
    424     {
    425       NULL
    426     },
    427     NULL,   // Shared object library handle
    428     "libOmxAlacDec.so",
    429     {
    430       "audio_decoder.alac"
    431     }
    432   },
    433   {
    434     "OMX.qcom.audio.decoder.ape",
    435     NULL,   // Create instance function
    436     // Unique instance handle
    437     {
    438       NULL
    439     },
    440     NULL,   // Shared object library handle
    441     "libOmxApeDec.so",
    442     {
    443       "audio_decoder.ape"
    444     }
    445   },
    446   {
    447     "OMX.qcom.audio.encoder.aac",
    448     NULL, // Create instance function
    449     // Unique instance handle
    450     {
    451       NULL
    452     },
    453     NULL,  // Shared object library handle
    454     "libOmxAacEnc.so",
    455     {
    456       "audio_encoder.aac"
    457     }
    458   },
    459   {
    460     "OMX.qcom.audio.encoder.qcelp13",
    461     NULL,   // Create instance function
    462     // Unique instance handle
    463     {
    464       NULL
    465     },
    466     NULL,   // Shared object library handle
    467     "libOmxQcelp13Enc.so",
    468     {
    469       "audio_encoder.qcelp13"
    470     }
    471   },
    472   {
    473     "OMX.qcom.audio.encoder.evrc",
    474     NULL,   // Create instance function
    475     // Unique instance handle
    476     {
    477       NULL
    478     },
    479     NULL,   // Shared object library handle
    480     "libOmxEvrcEnc.so",
    481     {
    482       "audio_encoder.evrc"
    483     }
    484   },
    485   {
    486     "OMX.qcom.audio.encoder.amrnb",
    487     NULL,   // Create instance function
    488     // Unique instance handle
    489     {
    490       NULL
    491     },
    492     NULL,   // Shared object library handle
    493     "libOmxAmrEnc.so",
    494     {
    495       "audio_encoder.amrnb"
    496     }
    497   },
    498  {
    499     "OMX.qcom.audio.decoder.aac",
    500     NULL,   // Create instance function
    501     // Unique instance handle
    502     {
    503       NULL
    504     },
    505     NULL,   // Shared object library handle
    506     "libOmxAacDec.so",
    507     {
    508       "audio_decoder.aac"
    509     }
    510   },
    511   {
    512     "OMX.qcom.audio.decoder.multiaac",
    513     NULL,   // Create instance function
    514     // Unique instance handle
    515     {
    516       NULL
    517     },
    518     NULL,   // Shared object library handle
    519     "libOmxAacDec.so",
    520     {
    521       "audio_decoder.aac"
    522     }
    523   },
    524   {
    525     "OMX.qcom.vdec.vpp",
    526     NULL, // Create instance function
    527     // Unique instance handle
    528     {
    529       NULL,
    530       NULL,
    531       NULL,
    532       NULL
    533     },
    534     NULL,   // Shared object library handle
    535     "libOmxVpp.so",
    536     {
    537       "video_decoder.vpp"
    538     }
    539   }
    540 };
    541 
    542 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    543 
    544 
    545