Home | History | Annotate | Download | only in 8226
      1 /*--------------------------------------------------------------------------
      2 Copyright (c) 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 /*============================================================================
     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 QCOM'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.secure",
     58     NULL, // Create instance function
     59     // Unique instance handle
     60     {
     61       NULL
     62     },
     63     NULL,   // Shared object library handle
     64     "libOmxVdec.so",
     65     {
     66       "video_decoder.avc"
     67     }
     68   },
     69   {
     70     "OMX.qcom.video.decoder.divx4",
     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.divx"
     80     }
     81   },
     82   {
     83     "OMX.qcom.video.decoder.divx",
     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.divx"
     93     }
     94   },
     95   {
     96     "OMX.qcom.video.decoder.divx311",
     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.divx"
    106     }
    107   },
    108   {
    109     "OMX.qcom.video.decoder.mpeg4",
    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.mpeg4"
    119     }
    120   },
    121   {
    122     "OMX.qcom.video.decoder.mpeg2",
    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.mpeg2"
    132     }
    133   },
    134   {
    135     "OMX.qcom.video.decoder.vc1",
    136     NULL, // Create instance function
    137     // Unique instance handle
    138     {
    139       NULL
    140     },
    141     NULL,   // Shared object library handle
    142     "libOmxVdec.so",
    143     {
    144       "video_decoder.vc1"
    145     }
    146   },
    147   {
    148     "OMX.qcom.video.decoder.wmv",
    149     NULL, // Create instance function
    150     // Unique instance handle
    151     {
    152       NULL
    153     },
    154     NULL,   // Shared object library handle
    155     "libOmxVdec.so",
    156     {
    157       "video_decoder.vc1"
    158     }
    159   },
    160   {
    161     "OMX.qcom.video.decoder.h263",
    162     NULL, // Create instance function
    163     // Unique instance handle
    164     {
    165       NULL
    166     },
    167     NULL,   // Shared object library handle
    168     "libOmxVdec.so",
    169     {
    170       "video_decoder.h263"
    171     }
    172   },
    173 {
    174     "OMX.qcom.video.decoder.hevc",
    175     NULL,   // Create instance function
    176     // Unique instance handle
    177     {
    178       NULL
    179     },
    180     NULL,   // Shared object library handle
    181     "libOmxVdecHevc.so",
    182     {
    183       "video_decoder.hevc"
    184     }
    185   },
    186   {
    187     "OMX.qcom.video.decoder.hevchybrid",
    188     NULL,   // Create instance function
    189     // Unique instance handle
    190     {
    191       NULL
    192     },
    193     NULL,   // Shared object library handle
    194     "libOmxVdecHevc.so",
    195     {
    196       "video_decoder.hevc"
    197     }
    198   },
    199   {
    200     "OMX.qcom.video.decoder.hevcswvdec",
    201     NULL,   // Create instance function
    202     // Unique instance handle
    203     {
    204       NULL
    205     },
    206     NULL,   // Shared object library handle
    207     "libOmxVdecHevc.so",
    208     {
    209       "video_decoder.hevcswvdec"
    210     }
    211   },
    212   {
    213     "OMX.qcom.video.decoder.vp8",
    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.vp8"
    223     }
    224   },
    225    {
    226     "OMX.qcom.video.encoder.mpeg4",
    227     NULL, // Create instance function
    228     // Unique instance handle
    229     {
    230       NULL
    231     },
    232     NULL,   // Shared object library handle
    233     "libOmxVenc.so",
    234     {
    235       "video_encoder.mpeg4"
    236     }
    237   },
    238    {
    239     "OMX.qcom.video.encoder.h263",
    240     NULL, // Create instance function
    241     // Unique instance handle
    242     {
    243       NULL
    244     },
    245     NULL,   // Shared object library handle
    246     "libOmxVenc.so",
    247     {
    248       "video_encoder.h263"
    249     }
    250   },
    251    {
    252     "OMX.qcom.video.encoder.avc",
    253     NULL, // Create instance function
    254     // Unique instance handle
    255     {
    256       NULL
    257     },
    258     NULL,   // Shared object library handle
    259     "libOmxVenc.so",
    260     {
    261       "video_encoder.avc"
    262     }
    263   },
    264    {
    265     "OMX.qcom.video.encoder.avc.secure",
    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.avc"
    275     }
    276   },
    277 {
    278     "OMX.qcom.video.encoder.vp8",
    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.vp8"
    288     }
    289   },
    290   {
    291     "OMX.qcom.audio.decoder.Qcelp13",
    292     NULL, // Create instance function
    293     // Unique instance handle
    294     {
    295       NULL
    296     },
    297     NULL,   // Shared object library handle
    298     "libOmxQcelp13Dec.so",
    299     {
    300       "audio_decoder.Qcelp13"
    301     }
    302   },
    303   {
    304     "OMX.qcom.audio.decoder.evrc",
    305     NULL, // Create instance function
    306     // Unique instance handle
    307     {
    308       NULL
    309     },
    310     NULL,   // Shared object library handle
    311     "libOmxEvrcDec.so",
    312     {
    313       "audio_decoder.evrc"
    314     }
    315   },
    316   {
    317     "OMX.qcom.audio.decoder.wma",
    318     NULL, // Create instance function
    319     // Unique instance handle
    320     {
    321      NULL
    322     },
    323     NULL,   // Shared object library handle
    324     "libOmxWmaDec.so",
    325     {
    326      "audio_decoder.wma"
    327     }
    328   },
    329   {
    330     "OMX.qcom.audio.decoder.amrwbplus",
    331     NULL,   // Create instance function
    332     // Unique instance handle
    333     {
    334      NULL
    335     },
    336     NULL,   // Shared object library handle
    337     "libOmxAmrwbplusDec.so",
    338     {
    339      "audio_decoder.awbplus"
    340     }
    341   },
    342   {
    343     "OMX.qcom.audio.decoder.wma10Pro",
    344     NULL,   // Create instance function
    345     // Unique instance handle
    346     {
    347      NULL
    348     },
    349     NULL,   // Shared object library handle
    350     "libOmxWmaDec.so",
    351     {
    352      "audio_decoder.wma"
    353     }
    354   },
    355   {
    356     "OMX.qcom.audio.decoder.wmaLossLess",
    357     NULL,   // Create instance function
    358     // Unique instance handle
    359     {
    360      NULL
    361     },
    362     NULL,   // Shared object library handle
    363     "libOmxWmaDec.so",
    364     {
    365      "audio_decoder.wma"
    366     }
    367   },
    368   {
    369     "OMX.qcom.audio.decoder.aac",
    370     NULL,   // Create instance function
    371     // Unique instance handle
    372     {
    373       NULL
    374     },
    375     NULL,   // Shared object library handle
    376     "libOmxAacDec.so",
    377     {
    378       "audio_decoder.aac"
    379     }
    380   },
    381   {
    382     "OMX.qcom.audio.encoder.aac",
    383     NULL, // Create instance function
    384     // Unique instance handle
    385     {
    386       NULL
    387     },
    388     NULL,  // Shared object library handle
    389     "libOmxAacEnc.so",
    390     {
    391       "audio_encoder.aac"
    392     }
    393   },
    394   {
    395     "OMX.qcom.audio.encoder.qcelp13",
    396     NULL,   // Create instance function
    397     // Unique instance handle
    398     {
    399       NULL
    400     },
    401     NULL,   // Shared object library handle
    402     "libOmxQcelp13Enc.so",
    403     {
    404       "audio_encoder.qcelp13"
    405     }
    406   },
    407   {
    408     "OMX.qcom.audio.encoder.evrc",
    409     NULL,   // Create instance function
    410     // Unique instance handle
    411     {
    412       NULL
    413     },
    414     NULL,   // Shared object library handle
    415     "libOmxEvrcEnc.so",
    416     {
    417       "audio_encoder.evrc"
    418     }
    419   },
    420   {
    421     "OMX.qcom.audio.encoder.amrnb",
    422     NULL,   // Create instance function
    423     // Unique instance handle
    424     {
    425       NULL
    426     },
    427     NULL,   // Shared object library handle
    428     "libOmxAmrEnc.so",
    429     {
    430       "audio_encoder.amrnb"
    431     }
    432   },
    433  {
    434     "OMX.qcom.audio.decoder.aac",
    435     NULL,   // Create instance function
    436     // Unique instance handle
    437     {
    438       NULL
    439     },
    440     NULL,   // Shared object library handle
    441     "libOmxAacDec.so",
    442     {
    443       "audio_decoder.aac"
    444     }
    445   },
    446  {
    447     "OMX.qcom.audio.decoder.multiaac",
    448     NULL,   // Create instance function
    449     // Unique instance handle
    450     {
    451       NULL
    452     },
    453     NULL,   // Shared object library handle
    454     "libOmxAacDec.so",
    455     {
    456       "audio_decoder.aac"
    457     }
    458   },
    459   {
    460     "AIV.play",
    461     NULL, // Create instance function
    462     // Unique instance handle
    463     {
    464       NULL
    465     },
    466     NULL,  // Shared object library handle
    467     "libAivPlay.so",
    468     {
    469       "AIV.play.101"
    470     }
    471   },
    472   {
    473     "OMX.qcom.file.muxer",
    474     NULL, // Create instance function
    475     // Unique instance handle
    476     {
    477       NULL
    478     },
    479     NULL,   // Shared object library handle
    480     "libOmxMux.so",
    481     {
    482       "container_muxer.mp2"
    483     }
    484   }
    485 };
    486 
    487 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    488 
    489 
    490