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 #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.avc.dsmode",
     57     NULL,   // Create instance function
     58     // Unique instance handle
     59     {
     60       NULL
     61     },
     62     NULL,   // Shared object library handle
     63     "libOmxVideoDSMode.so",
     64     {
     65       "video_decoder.avc"
     66     }
     67   },
     68   {
     69     "OMX.qcom.video.decoder.avc.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.avc"
     79     }
     80   },
     81   {
     82     "OMX.qcom.file.muxer",
     83     NULL,   // Create instance function
     84     // Unique instance handle
     85     {
     86       NULL
     87     },
     88     NULL,   // Shared object library handle
     89 
     90     "libOmxMux.so",
     91     {
     92       "container_muxer.mp2"
     93     }
     94   },
     95   {
     96     "OMX.qcom.video.decoder.hevc",
     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.hevc.secure",
    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.hevc"
    119     }
    120   },
    121   {
    122     "OMX.qcom.video.decoder.vp8",
    123     NULL,   // Create instance function
    124     // Unique instance handle
    125     {
    126       NULL
    127     },
    128     NULL,   // Shared object library handle
    129     "libOmxVdec.so",
    130     {
    131       "video_decoder.vp8"
    132     }
    133   },
    134    {
    135     "OMX.qcom.video.encoder.avc",
    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.qcom.video.encoder.avc.secure",
    149     NULL, // Create instance function
    150     // Unique instance handle
    151     {
    152       NULL
    153     },
    154     NULL,   // Shared object library handle
    155     "libOmxVenc.so",
    156     {
    157       "video_encoder.avc"
    158     }
    159   },
    160    {
    161     "OMX.qti.video.decoder.mpeg4sw",
    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.mpeg4"
    171     }
    172   },
    173   {
    174     "OMX.qti.video.decoder.h263sw",
    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.h263"
    184     }
    185   },
    186   {
    187     "OMX.qti.video.decoder.divxsw",
    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.qti.video.decoder.divx4sw",
    201     NULL,   // Create instance function
    202     // Unique instance handle
    203     {
    204       NULL
    205     },
    206     NULL,   // Shared object library handle
    207     "libOmxSwVdec.so",
    208     {
    209       "video_decoder.divx"
    210     }
    211   },
    212   {
    213     "OMX.qcom.video.encoder.mpeg4sw",
    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.mpeg4"
    223     }
    224   },
    225   {
    226     "OMX.qcom.video.encoder.h263sw",
    227     NULL, // Create instance function
    228     // Unique instance handle
    229     {
    230       NULL
    231     },
    232     NULL,   // Shared object library handle
    233     "libOmxSwVencMpeg4.so",
    234     {
    235       "video_encoder.h263"
    236     }
    237   },
    238     {
    239     "OMX.qcom.audio.encoder.g711mlaw",
    240     NULL,   // Create instance function
    241     // Unique instance handle
    242     {
    243       NULL,
    244       NULL,
    245       NULL,
    246       NULL
    247     },
    248     NULL,   // Shared object library handle
    249     "libOmxG711Enc.so",
    250     {
    251       "audio_encoder.g711"
    252     }
    253   },
    254   {
    255     "OMX.qcom.audio.encoder.g711alaw",
    256     NULL,   // Create instance function
    257     // Unique instance handle
    258     {
    259       NULL,
    260       NULL,
    261       NULL,
    262       NULL
    263     },
    264     NULL,   // Shared object library handle
    265     "libOmxG711Enc.so",
    266     {
    267       "audio_encoder.g711"
    268     }
    269   },
    270   {
    271     "OMX.qcom.audio.encoder.amrwb",
    272     NULL,   // Create instance function
    273     // Unique instance handle
    274     {
    275       NULL
    276     },
    277     NULL,   // Shared object library handle
    278     "libOmxAmrEnc.so",
    279     {
    280       "audio_encoder.amrwb"
    281     }
    282   },
    283   {
    284     "OMX.qcom.audio.decoder.g711mlaw",
    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.g711alaw",
    298     NULL,   // Create instance function
    299     // Unique instance handle
    300     {
    301       NULL
    302     },
    303     NULL,   // Shared object library handle
    304     "libOmxG711Dec.so",
    305     {
    306       "audio_decoder.g711"
    307     }
    308   },
    309   {
    310     "OMX.qcom.audio.decoder.amrwb",
    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.amrwb"
    320     }
    321   },
    322   {
    323     "OMX.qcom.audio.decoder.amrnb",
    324     NULL,   // Create instance function
    325     // Unique instance handle
    326     {
    327       NULL
    328     },
    329     NULL,   // Shared object library handle
    330     "libOmxAmrDec.so",
    331     {
    332       "audio_decoder.amrnb"
    333     }
    334   },
    335   {
    336     "OMX.qcom.audio.decoder.Qcelp13",
    337     NULL, // Create instance function
    338     // Unique instance handle
    339     {
    340       NULL,
    341       NULL,
    342       NULL,
    343       NULL
    344     },
    345     NULL,   // Shared object library handle
    346     "libOmxQcelp13Dec.so",
    347     {
    348       "audio_decoder.Qcelp13"
    349     }
    350   },
    351   {
    352     "OMX.qcom.audio.decoder.evrc",
    353     NULL, // Create instance function
    354     // Unique instance handle
    355     {
    356       NULL,
    357       NULL,
    358       NULL,
    359       NULL
    360     },
    361     NULL,   // Shared object library handle
    362     "libOmxEvrcDec.so",
    363     {
    364       "audio_decoder.evrc"
    365     }
    366   },
    367   {
    368     "OMX.qcom.audio.decoder.wma",
    369     NULL, // Create instance function
    370     // Unique instance handle
    371     {
    372      NULL,
    373      NULL,
    374      NULL,
    375      NULL
    376     },
    377     NULL,   // Shared object library handle
    378     "libOmxWmaDec.so",
    379     {
    380      "audio_decoder.wma"
    381     }
    382   },
    383   {
    384     "OMX.qcom.audio.decoder.wma10Pro",
    385     NULL,   // Create instance function
    386     // Unique instance handle
    387     {
    388      NULL,
    389      NULL,
    390      NULL,
    391      NULL
    392     },
    393     NULL,   // Shared object library handle
    394     "libOmxWmaDec.so",
    395     {
    396      "audio_decoder.wma"
    397     }
    398   },
    399   {
    400     "OMX.qcom.audio.decoder.aac",
    401     NULL,   // Create instance function
    402     // Unique instance handle
    403     {
    404       NULL,
    405       NULL,
    406       NULL,
    407       NULL
    408     },
    409     NULL,   // Shared object library handle
    410     "libOmxAacDec.so",
    411     {
    412       "audio_decoder.aac"
    413     }
    414   },
    415   {
    416     "OMX.qcom.audio.decoder.alac",
    417     NULL,   // Create instance function
    418     // Unique instance handle
    419     {
    420       NULL,
    421       NULL,
    422       NULL,
    423       NULL
    424     },
    425     NULL,   // Shared object library handle
    426     "libOmxAlacDec.so",
    427     {
    428       "audio_decoder.alac"
    429     }
    430   },
    431   {
    432     "OMX.qti.audio.decoder.alac.sw",
    433     NULL,   // Create instance function
    434     // Unique instance handle
    435     {
    436       NULL,
    437       NULL,
    438       NULL,
    439       NULL
    440     },
    441     NULL,   // Shared object library handle
    442     "libOmxAlacDecSw.so",
    443     {
    444       "audio_decoder.alac"
    445     }
    446   },
    447   {
    448     "OMX.qcom.audio.decoder.ape",
    449     NULL,   // Create instance function
    450     // Unique instance handle
    451     {
    452       NULL,
    453       NULL,
    454       NULL,
    455       NULL
    456     },
    457     NULL,   // Shared object library handle
    458     "libOmxApeDec.so",
    459     {
    460       "audio_decoder.ape"
    461     }
    462   },
    463   {
    464     "OMX.qti.audio.decoder.ape.sw",
    465     NULL,   // Create instance function
    466     // Unique instance handle
    467     {
    468       NULL,
    469       NULL,
    470       NULL,
    471       NULL
    472     },
    473     NULL,   // Shared object library handle
    474     "libOmxApeDecSw.so",
    475     {
    476       "audio_decoder.ape"
    477     }
    478   },
    479   {
    480     "OMX.qti.audio.decoder.flac.sw",
    481     NULL, // Create instance function
    482     // Unique instance handle
    483     {
    484       NULL,
    485       NULL,
    486       NULL,
    487       NULL
    488     },
    489     NULL,  // Shared object library handle
    490     "libOmxFlacDecSw.so",
    491     {
    492       "audio_decoder.flac"
    493     }
    494   },
    495   {
    496     "OMX.qcom.audio.encoder.aac",
    497     NULL, // Create instance function
    498     // Unique instance handle
    499     {
    500       NULL,
    501       NULL,
    502       NULL,
    503       NULL
    504     },
    505     NULL,  // Shared object library handle
    506     "libOmxAacEnc.so",
    507     {
    508       "audio_encoder.aac"
    509     }
    510   },
    511   {
    512     "OMX.qcom.audio.encoder.qcelp13",
    513     NULL,   // Create instance function
    514     // Unique instance handle
    515     {
    516       NULL,
    517       NULL,
    518       NULL,
    519       NULL
    520     },
    521     NULL,   // Shared object library handle
    522     "libOmxQcelp13Enc.so",
    523     {
    524       "audio_encoder.qcelp13"
    525     }
    526   },
    527   {
    528     "OMX.qcom.audio.encoder.evrc",
    529     NULL,   // Create instance function
    530     // Unique instance handle
    531     {
    532       NULL,
    533       NULL,
    534       NULL,
    535       NULL
    536     },
    537     NULL,   // Shared object library handle
    538     "libOmxEvrcEnc.so",
    539     {
    540       "audio_encoder.evrc"
    541     }
    542   },
    543   {
    544     "OMX.qcom.audio.encoder.amrnb",
    545     NULL,   // Create instance function
    546     // Unique instance handle
    547     {
    548       NULL,
    549       NULL,
    550       NULL,
    551       NULL
    552     },
    553     NULL,   // Shared object library handle
    554     "libOmxAmrEnc.so",
    555     {
    556       "audio_encoder.amrnb"
    557     }
    558   },
    559   {
    560     "OMX.qcom.audio.decoder.multiaac",
    561     NULL,   // Create instance function
    562     // Unique instance handle
    563     {
    564       NULL,
    565       NULL,
    566       NULL,
    567       NULL
    568     },
    569     NULL,   // Shared object library handle
    570     "libOmxAacDec.so",
    571     {
    572       "audio_decoder.aac"
    573     }
    574   }
    575 };
    576 
    577 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    578 
    579 
    580