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