Home | History | Annotate | Download | only in 8974
      1 /*--------------------------------------------------------------------------
      2 Copyright (c) 2012 - 2013, 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     },
     49     NULL,   // Shared object library handle
     50     "libOmxVdec.so",
     51     {
     52       "video_decoder.avc"
     53     }
     54   },
     55   {
     56     "OMX.qcom.video.decoder.avc.secure",
     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.avc"
     66     }
     67   },
     68   {
     69     "OMX.qcom.video.decoder.divx4",
     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.divx"
     79     }
     80   },
     81   {
     82     "OMX.qcom.video.decoder.divx",
     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.divx"
     92     }
     93   },
     94   {
     95     "OMX.qcom.video.decoder.divx311",
     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.divx"
    105     }
    106   },
    107   {
    108     "OMX.qcom.video.decoder.mpeg4",
    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.mpeg4"
    118     }
    119   },
    120   {
    121     "OMX.qcom.video.decoder.mpeg2",
    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.mpeg2"
    131     }
    132   },
    133   {
    134     "OMX.qcom.video.decoder.mpeg2.secure",
    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.mpeg2"
    144     }
    145   },
    146   {
    147     "OMX.qcom.video.decoder.vc1",
    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.video.decoder.wmv",
    161     NULL, // Create instance function
    162     // Unique instance handle
    163     {
    164       NULL
    165     },
    166     NULL,   // Shared object library handle
    167     "libOmxVdec.so",
    168     {
    169       "video_decoder.vc1"
    170     }
    171   },
    172   {
    173     "OMX.qcom.video.decoder.h263",
    174     NULL, // Create instance function
    175     // Unique instance handle
    176     {
    177       NULL
    178     },
    179     NULL,   // Shared object library handle
    180     "libOmxVdec.so",
    181     {
    182       "video_decoder.h263"
    183     }
    184   },
    185   {
    186     "OMX.qcom.video.decoder.hevc",
    187     NULL, // Create instance function
    188     // Unique instance handle
    189     {
    190       NULL
    191     },
    192     NULL,   // Shared object library handle
    193     "libOmxVdecHevc.so",
    194     {
    195       "video_decoder.hevc"
    196     }
    197   },
    198 {
    199     "OMX.qcom.video.decoder.hevchybrid",
    200     NULL,   // Create instance function
    201     // Unique instance handle
    202     {
    203       NULL
    204     },
    205     NULL,   // Shared object library handle
    206     "libOmxVdecHevc.so",
    207     {
    208       "video_decoder.hevc"
    209     }
    210   },
    211    {
    212     "OMX.qcom.video.decoder.hevcswvdec",
    213     NULL,   // Create instance function
    214     // Unique instance handle
    215     {
    216       NULL
    217     },
    218     NULL,   // Shared object library handle
    219     "libOmxVdecHevc.so",
    220     {
    221       "video_decoder.hevcswvdec"
    222     }
    223   },
    224   {
    225     "OMX.qcom.video.decoder.vp8",
    226     NULL, // Create instance function
    227     // Unique instance handle
    228     {
    229       NULL
    230     },
    231     NULL,   // Shared object library handle
    232     "libOmxVdec.so",
    233     {
    234       "video_decoder.vp8"
    235     }
    236   },
    237    {
    238     "OMX.qcom.video.encoder.mpeg4",
    239     NULL, // Create instance function
    240     // Unique instance handle
    241     {
    242       NULL
    243     },
    244     NULL,   // Shared object library handle
    245     "libOmxVenc.so",
    246     {
    247       "video_encoder.mpeg4"
    248     }
    249   },
    250    {
    251     "OMX.qcom.video.encoder.h263",
    252     NULL, // Create instance function
    253     // Unique instance handle
    254     {
    255       NULL
    256     },
    257     NULL,   // Shared object library handle
    258     "libOmxVenc.so",
    259     {
    260       "video_encoder.h263"
    261     }
    262   },
    263    {
    264     "OMX.qcom.video.encoder.avc",
    265     NULL, // Create instance function
    266     // Unique instance handle
    267     {
    268       NULL
    269     },
    270     NULL,   // Shared object library handle
    271     "libOmxVenc.so",
    272     {
    273       "video_encoder.avc"
    274     }
    275   },
    276    {
    277     "OMX.qcom.video.encoder.avc.secure",
    278     NULL, // Create instance function
    279     // Unique instance handle
    280     {
    281       NULL
    282     },
    283     NULL,   // Shared object library handle
    284     "libOmxVenc.so",
    285     {
    286       "video_encoder.avc"
    287     }
    288   },
    289 {
    290     "OMX.qcom.video.encoder.vp8",
    291     NULL, // Create instance function
    292     // Unique instance handle
    293     {
    294       NULL
    295     },
    296     NULL,   // Shared object library handle
    297     "libOmxVenc.so",
    298     {
    299       "video_encoder.vp8"
    300     }
    301   },
    302   {
    303     "OMX.qcom.video.encoder.hevc",
    304     NULL,   // Create instance function
    305     // Unique instance handle
    306     {
    307       NULL
    308     },
    309     NULL,   // Shared object library handle
    310     "libOmxVencHevc.so",
    311     {
    312       "video_encoder.hevc"
    313     }
    314   },
    315   {
    316     "OMX.qcom.audio.decoder.Qcelp13",
    317     NULL, // Create instance function
    318     // Unique instance handle
    319     {
    320       NULL
    321     },
    322     NULL,   // Shared object library handle
    323     "libOmxQcelp13Dec.so",
    324     {
    325       "audio_decoder.Qcelp13"
    326     }
    327   },
    328   {
    329     "OMX.qcom.audio.decoder.evrc",
    330     NULL, // Create instance function
    331     // Unique instance handle
    332     {
    333       NULL
    334     },
    335     NULL,   // Shared object library handle
    336     "libOmxEvrcDec.so",
    337     {
    338       "audio_decoder.evrc"
    339     }
    340   },
    341   {
    342     "OMX.qcom.audio.decoder.wma",
    343     NULL, // Create instance function
    344     // Unique instance handle
    345     {
    346      NULL
    347     },
    348     NULL,   // Shared object library handle
    349     "libOmxWmaDec.so",
    350     {
    351      "audio_decoder.wma"
    352     }
    353   },
    354   {
    355     "OMX.qcom.audio.decoder.wma10Pro",
    356     NULL,   // Create instance function
    357     // Unique instance handle
    358     {
    359      NULL
    360     },
    361     NULL,   // Shared object library handle
    362     "libOmxWmaDec.so",
    363     {
    364      "audio_decoder.wma"
    365     }
    366   },
    367   {
    368     "OMX.qcom.audio.decoder.wmaLossLess",
    369     NULL,   // Create instance function
    370     // Unique instance handle
    371     {
    372      NULL
    373     },
    374     NULL,   // Shared object library handle
    375     "libOmxWmaDec.so",
    376     {
    377      "audio_decoder.wma"
    378     }
    379   },
    380   {
    381     "OMX.qcom.audio.decoder.amrwbplus",
    382     NULL,   // Create instance function
    383     // Unique instance handle
    384     {
    385      NULL
    386     },
    387     NULL,   // Shared object library handle
    388     "libOmxAmrwbplusDec.so",
    389     {
    390      "audio_decoder.awbplus"
    391     }
    392   },
    393   {
    394     "OMX.qcom.audio.decoder.aac",
    395     NULL,   // Create instance function
    396     // Unique instance handle
    397     {
    398       NULL
    399     },
    400     NULL,   // Shared object library handle
    401     "libOmxAacDec.so",
    402     {
    403       "audio_decoder.aac"
    404     }
    405   },
    406   {
    407     "OMX.qcom.audio.encoder.aac",
    408     NULL, // Create instance function
    409     // Unique instance handle
    410     {
    411       NULL
    412     },
    413     NULL,  // Shared object library handle
    414     "libOmxAacEnc.so",
    415     {
    416       "audio_encoder.aac"
    417     }
    418   },
    419   {
    420     "OMX.qcom.audio.encoder.qcelp13",
    421     NULL,   // Create instance function
    422     // Unique instance handle
    423     {
    424       NULL
    425     },
    426     NULL,   // Shared object library handle
    427     "libOmxQcelp13Enc.so",
    428     {
    429       "audio_encoder.qcelp13"
    430     }
    431   },
    432   {
    433     "OMX.qcom.audio.encoder.evrc",
    434     NULL,   // Create instance function
    435     // Unique instance handle
    436     {
    437       NULL
    438     },
    439     NULL,   // Shared object library handle
    440     "libOmxEvrcEnc.so",
    441     {
    442       "audio_encoder.evrc"
    443     }
    444   },
    445   {
    446     "OMX.qcom.audio.encoder.amrnb",
    447     NULL,   // Create instance function
    448     // Unique instance handle
    449     {
    450       NULL
    451     },
    452     NULL,   // Shared object library handle
    453     "libOmxAmrEnc.so",
    454     {
    455       "audio_encoder.amrnb"
    456     }
    457   },
    458  {
    459     "OMX.qcom.audio.decoder.aac",
    460     NULL,   // Create instance function
    461     // Unique instance handle
    462     {
    463       NULL
    464     },
    465     NULL,   // Shared object library handle
    466     "libOmxAacDec.so",
    467     {
    468       "audio_decoder.aac"
    469     }
    470   },
    471  {
    472     "OMX.qcom.audio.decoder.multiaac",
    473     NULL,   // Create instance function
    474     // Unique instance handle
    475     {
    476       NULL
    477     },
    478     NULL,   // Shared object library handle
    479     "libOmxAacDec.so",
    480     {
    481       "audio_decoder.aac"
    482     }
    483   },
    484   {
    485     "AIV.play.generic",
    486     NULL, // Create instance function
    487     // Unique instance handle
    488     {
    489       NULL
    490     },
    491     NULL,  // Shared object library handle
    492     "libAivPlay.so",
    493     {
    494       "AIV.play.role.generic"
    495     }
    496   },
    497   {
    498     "OMX.qcom.file.muxer",
    499     NULL, // Create instance function
    500     // Unique instance handle
    501     {
    502       NULL
    503     },
    504     NULL,   // Shared object library handle
    505     "libOmxMux.so",
    506     {
    507       "container_muxer.mp2"
    508     }
    509   }
    510 };
    511 
    512 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    513 
    514 
    515