Home | History | Annotate | Download | only in msm8992
      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                             O p e n M A X   w r a p p e r s
     31                              O p e n  M A X   C o r e
     32 
     33   This module contains the registry table for the QCOM's OpenMAX core.
     34 
     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       NULL,
     49       NULL,
     50       NULL
     51     },
     52     NULL,   // Shared object library handle
     53     "libOmxVdec.so",
     54     {
     55       "video_decoder.avc"
     56     }
     57   },
     58   {
     59     "OMX.qcom.video.decoder.avc.secure",
     60     NULL, // Create instance function
     61     // Unique instance handle
     62     {
     63       NULL,
     64       NULL,
     65       NULL,
     66       NULL
     67     },
     68     NULL,   // Shared object library handle
     69     "libOmxVdec.so",
     70     {
     71       "video_decoder.avc"
     72     }
     73   },
     74   {
     75     "OMX.qcom.video.decoder.divx4",
     76     NULL,   // Create instance function
     77     // Unique instance handle
     78     {
     79       NULL,
     80       NULL,
     81       NULL,
     82       NULL
     83     },
     84     NULL,   // Shared object library handle
     85     "libOmxVdec.so",
     86     {
     87       "video_decoder.divx"
     88     }
     89   },
     90   {
     91     "OMX.qcom.video.decoder.divx",
     92     NULL,   // Create instance function
     93     // Unique instance handle
     94     {
     95       NULL,
     96       NULL,
     97       NULL,
     98       NULL
     99     },
    100     NULL,   // Shared object library handle
    101     "libOmxVdec.so",
    102     {
    103       "video_decoder.divx"
    104     }
    105   },
    106   {
    107     "OMX.qcom.video.decoder.divx311",
    108     NULL,   // Create instance function
    109     // Unique instance handle
    110     {
    111       NULL,
    112       NULL,
    113       NULL,
    114       NULL
    115     },
    116     NULL,   // Shared object library handle
    117     "libOmxVdec.so",
    118     {
    119       "video_decoder.divx"
    120     }
    121   },
    122   {
    123     "OMX.qcom.video.decoder.mpeg4",
    124     NULL, // Create instance function
    125     // Unique instance handle
    126     {
    127       NULL,
    128       NULL,
    129       NULL,
    130       NULL
    131     },
    132     NULL,   // Shared object library handle
    133     "libOmxVdec.so",
    134     {
    135       "video_decoder.mpeg4"
    136     }
    137   },
    138   {
    139     "OMX.qcom.video.decoder.mpeg2",
    140     NULL, // Create instance function
    141     // Unique instance handle
    142     {
    143       NULL,
    144       NULL,
    145       NULL,
    146       NULL
    147     },
    148     NULL,   // Shared object library handle
    149     "libOmxVdec.so",
    150     {
    151       "video_decoder.mpeg2"
    152     }
    153   },
    154   {
    155     "OMX.qcom.video.decoder.mpeg2.secure",
    156     NULL, // Create instance function
    157     // Unique instance handle
    158     {
    159       NULL,
    160       NULL,
    161       NULL,
    162       NULL
    163     },
    164     NULL,   // Shared object library handle
    165     "libOmxVdec.so",
    166     {
    167       "video_decoder.mpeg2"
    168     }
    169   },
    170   {
    171     "OMX.qcom.video.decoder.vc1",
    172     NULL, // Create instance function
    173     // Unique instance handle
    174     {
    175       NULL,
    176       NULL,
    177       NULL,
    178       NULL
    179     },
    180     NULL,   // Shared object library handle
    181     "libOmxVdec.so",
    182     {
    183       "video_decoder.vc1"
    184     }
    185   },
    186   {
    187     "OMX.qcom.video.decoder.vc1.secure",
    188     NULL, // Create instance function
    189     // Unique instance handle
    190     {
    191       NULL,
    192       NULL,
    193       NULL,
    194       NULL
    195     },
    196     NULL,   // Shared object library handle
    197     "libOmxVdec.so",
    198     {
    199       "video_decoder.vc1"
    200     }
    201   },
    202   {
    203     "OMX.qcom.video.decoder.wmv",
    204     NULL, // Create instance function
    205     // Unique instance handle
    206     {
    207       NULL,
    208       NULL,
    209       NULL,
    210       NULL
    211     },
    212     NULL,   // Shared object library handle
    213     "libOmxVdec.so",
    214     {
    215       "video_decoder.vc1"
    216     }
    217   },
    218   {
    219     "OMX.qcom.video.decoder.wmv.secure",
    220     NULL, // Create instance function
    221     // Unique instance handle
    222     {
    223       NULL,
    224       NULL,
    225       NULL,
    226       NULL
    227     },
    228     NULL,   // Shared object library handle
    229     "libOmxVdec.so",
    230     {
    231       "video_decoder.vc1"
    232     }
    233   },
    234   {
    235     "OMX.qcom.video.decoder.h263",
    236     NULL, // Create instance function
    237     // Unique instance handle
    238     {
    239       NULL,
    240       NULL,
    241       NULL,
    242       NULL
    243     },
    244     NULL,   // Shared object library handle
    245     "libOmxVdec.so",
    246     {
    247       "video_decoder.h263"
    248     }
    249   },
    250 {
    251     "OMX.qcom.video.decoder.hevc",
    252     NULL,   // Create instance function
    253     // Unique instance handle
    254     {
    255       NULL,
    256       NULL,
    257       NULL,
    258       NULL
    259     },
    260     NULL,   // Shared object library handle
    261     "libOmxVdec.so",
    262     {
    263       "video_decoder.hevc"
    264     }
    265   },
    266   {
    267     "OMX.qcom.video.decoder.hevc.secure",
    268     NULL, // Create instance function
    269     // Unique instance handle
    270     {
    271       NULL,
    272       NULL,
    273       NULL,
    274       NULL
    275     },
    276     NULL,   // Shared object library handle
    277     "libOmxVdec.so",
    278     {
    279       "video_decoder.hevc"
    280     }
    281    },
    282    {
    283     "OMX.qcom.video.decoder.vp8",
    284     NULL, // Create instance function
    285     // Unique instance handle
    286     {
    287       NULL,
    288       NULL,
    289       NULL,
    290       NULL
    291     },
    292     NULL,   // Shared object library handle
    293     "libOmxVdec.so",
    294     {
    295       "video_decoder.vp8"
    296     }
    297   },
    298    {
    299     "OMX.qcom.video.encoder.mpeg4",
    300     NULL, // Create instance function
    301     // Unique instance handle
    302     {
    303       NULL,
    304       NULL,
    305       NULL,
    306       NULL
    307     },
    308     NULL,   // Shared object library handle
    309     "libOmxVenc.so",
    310     {
    311       "video_encoder.mpeg4"
    312     }
    313   },
    314    {
    315     "OMX.qcom.video.encoder.h263",
    316     NULL, // Create instance function
    317     // Unique instance handle
    318     {
    319       NULL,
    320       NULL,
    321       NULL,
    322       NULL
    323     },
    324     NULL,   // Shared object library handle
    325     "libOmxVenc.so",
    326     {
    327       "video_encoder.h263"
    328     }
    329   },
    330   {
    331     "OMX.qcom.video.encoder.avc",
    332     NULL, // Create instance function
    333     // Unique instance handle
    334     {
    335       NULL,
    336       NULL,
    337       NULL,
    338       NULL
    339     },
    340     NULL,   // Shared object library handle
    341     "libOmxVenc.so",
    342     {
    343       "video_encoder.avc"
    344     }
    345   },
    346   {
    347     "OMX.qcom.video.encoder.avc.secure",
    348     NULL, // Create instance function
    349     // Unique instance handle
    350     {
    351       NULL,
    352       NULL,
    353       NULL,
    354       NULL
    355     },
    356     NULL,   // Shared object library handle
    357     "libOmxVenc.so",
    358     {
    359       "video_encoder.avc"
    360     }
    361   },
    362   {
    363     "OMX.qcom.video.encoder.vp8",
    364     NULL, // Create instance function
    365     // Unique instance handle
    366     {
    367       NULL,
    368       NULL,
    369       NULL,
    370       NULL
    371     },
    372     NULL,   // Shared object library handle
    373     "libOmxVenc.so",
    374     {
    375       "video_encoder.vp8"
    376     }
    377   },
    378   {
    379     "OMX.qti.video.encoder.hevc",
    380     NULL,   // Create instance function
    381     // Unique instance handle
    382     {
    383       NULL,
    384       NULL,
    385       NULL,
    386       NULL
    387     },
    388     NULL,   // Shared object library handle
    389     "libOmxSwVencHevc.so",
    390     {
    391       "video_encoder.hevc"
    392     }
    393   },
    394   {
    395     "OMX.qcom.audio.decoder.Qcelp13",
    396     NULL, // Create instance function
    397     // Unique instance handle
    398     {
    399       NULL,
    400       NULL,
    401       NULL,
    402       NULL
    403     },
    404     NULL,   // Shared object library handle
    405     "libOmxQcelp13Dec.so",
    406     {
    407       "audio_decoder.Qcelp13"
    408     }
    409   },
    410   {
    411     "OMX.qcom.audio.decoder.evrc",
    412     NULL, // Create instance function
    413     // Unique instance handle
    414     {
    415       NULL,
    416       NULL,
    417       NULL,
    418       NULL
    419     },
    420     NULL,   // Shared object library handle
    421     "libOmxEvrcDec.so",
    422     {
    423       "audio_decoder.evrc"
    424     }
    425   },
    426   {
    427     "OMX.qcom.audio.decoder.wma",
    428     NULL, // Create instance function
    429     // Unique instance handle
    430     {
    431      NULL,
    432      NULL,
    433      NULL,
    434      NULL
    435     },
    436     NULL,   // Shared object library handle
    437     "libOmxWmaDec.so",
    438     {
    439      "audio_decoder.wma"
    440     }
    441   },
    442   {
    443     "OMX.qcom.audio.decoder.wma10Pro",
    444     NULL,   // Create instance function
    445     // Unique instance handle
    446     {
    447      NULL,
    448      NULL,
    449      NULL,
    450      NULL
    451     },
    452     NULL,   // Shared object library handle
    453     "libOmxWmaDec.so",
    454     {
    455      "audio_decoder.wma"
    456     }
    457   },
    458   {
    459     "OMX.qcom.audio.decoder.wmaLossLess",
    460     NULL,   // Create instance function
    461     // Unique instance handle
    462     {
    463      NULL,
    464      NULL,
    465      NULL,
    466      NULL
    467     },
    468     NULL,   // Shared object library handle
    469     "libOmxWmaDec.so",
    470     {
    471      "audio_decoder.wma"
    472     }
    473   },
    474   {
    475     "OMX.qcom.audio.decoder.amrwbplus",
    476     NULL,   // Create instance function
    477     // Unique instance handle
    478     {
    479      NULL,
    480      NULL,
    481      NULL,
    482      NULL
    483     },
    484     NULL,   // Shared object library handle
    485     "libOmxAmrwbplusDec.so",
    486     {
    487      "audio_decoder.awbplus"
    488     }
    489   },
    490   {
    491     "OMX.qcom.audio.decoder.aac",
    492     NULL,   // Create instance function
    493     // Unique instance handle
    494     {
    495       NULL,
    496       NULL,
    497       NULL,
    498       NULL
    499     },
    500     NULL,   // Shared object library handle
    501     "libOmxAacDec.so",
    502     {
    503       "audio_decoder.aac"
    504     }
    505   },
    506   {
    507     "OMX.qcom.audio.encoder.aac",
    508     NULL, // Create instance function
    509     // Unique instance handle
    510     {
    511       NULL,
    512       NULL,
    513       NULL,
    514       NULL
    515     },
    516     NULL,  // Shared object library handle
    517     "libOmxAacEnc.so",
    518     {
    519       "audio_encoder.aac"
    520     }
    521   },
    522   {
    523     "OMX.qcom.audio.encoder.qcelp13",
    524     NULL,   // Create instance function
    525     // Unique instance handle
    526     {
    527       NULL,
    528       NULL,
    529       NULL,
    530       NULL
    531     },
    532     NULL,   // Shared object library handle
    533     "libOmxQcelp13Enc.so",
    534     {
    535       "audio_encoder.qcelp13"
    536     }
    537   },
    538   {
    539     "OMX.qcom.audio.encoder.evrc",
    540     NULL,   // Create instance function
    541     // Unique instance handle
    542     {
    543       NULL,
    544       NULL,
    545       NULL,
    546       NULL
    547     },
    548     NULL,   // Shared object library handle
    549     "libOmxEvrcEnc.so",
    550     {
    551       "audio_encoder.evrc"
    552     }
    553   },
    554   {
    555     "OMX.qcom.audio.encoder.amrnb",
    556     NULL,   // Create instance function
    557     // Unique instance handle
    558     {
    559       NULL,
    560       NULL,
    561       NULL,
    562       NULL
    563     },
    564     NULL,   // Shared object library handle
    565     "libOmxAmrEnc.so",
    566     {
    567       "audio_encoder.amrnb"
    568     }
    569   },
    570  {
    571     "OMX.qcom.audio.decoder.aac",
    572     NULL,   // Create instance function
    573     // Unique instance handle
    574     {
    575       NULL,
    576       NULL,
    577       NULL,
    578       NULL
    579     },
    580     NULL,   // Shared object library handle
    581     "libOmxAacDec.so",
    582     {
    583       "audio_decoder.aac"
    584     }
    585   },
    586  {
    587     "OMX.qcom.audio.decoder.multiaac",
    588     NULL,   // Create instance function
    589     // Unique instance handle
    590     {
    591       NULL,
    592       NULL,
    593       NULL,
    594       NULL
    595     },
    596     NULL,   // Shared object library handle
    597     "libOmxAacDec.so",
    598     {
    599       "audio_decoder.aac"
    600     }
    601   },
    602   {
    603     "AIV.play.generic",
    604     NULL, // Create instance function
    605     // Unique instance handle
    606     {
    607       NULL,
    608       NULL,
    609       NULL,
    610       NULL
    611     },
    612     NULL,  // Shared object library handle
    613     "libAivPlay.so",
    614     {
    615       "AIV.play.role.generic"
    616     }
    617   },
    618   {
    619     "OMX.qcom.file.muxer",
    620     NULL, // Create instance function
    621     // Unique instance handle
    622     {
    623       NULL,
    624       NULL,
    625       NULL,
    626       NULL
    627     },
    628     NULL,   // Shared object library handle
    629     "libOmxMux.so",
    630     {
    631       "container_muxer.mp2"
    632     }
    633   },
    634   {
    635     "OMX.qcom.video.postprocessing",
    636     NULL, // Create instance function
    637     // Unique instance handle
    638     {
    639       NULL,
    640       NULL,
    641       NULL,
    642       NULL
    643     },
    644     NULL,   // Shared object library handle
    645     "libOmxVdpp.so",
    646     {
    647       "videopostprocessing"
    648     }
    649   }
    650 };
    651 
    652 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    653 
    654 
    655