Home | History | Annotate | Download | only in 8660
      1 /*--------------------------------------------------------------------------
      2 Copyright (c) 2010-2012, 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 #ifdef ENABLE_DRMPLAY
     41 #include "drmplay_version.h"
     42 #endif
     43 
     44 omx_core_cb_type core[] =
     45 {
     46   {
     47     "OMX.qcom.video.decoder.avc",
     48     NULL, // Create instance function
     49     // Unique instance handle
     50     {
     51       NULL,
     52       NULL,
     53       NULL,
     54       NULL
     55     },
     56     NULL,   // Shared object library handle
     57     "libOmxVdec.so",
     58     {
     59       "video_decoder.avc"
     60     }
     61   },
     62   {
     63     "OMX.qcom.video.decoder.avc.secure",
     64     NULL, // Create instance function
     65     // Unique instance handle
     66     {
     67       NULL,
     68       NULL,
     69       NULL,
     70       NULL
     71     },
     72     NULL,   // Shared object library handle
     73     "libOmxVdec.so",
     74     {
     75       "video_decoder.avc"
     76     }
     77   },
     78   {
     79     "OMX.qcom.video.decoder.divx4",
     80     NULL,   // Create instance function
     81     // Unique instance handle
     82     {
     83       NULL,
     84       NULL,
     85       NULL,
     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.divx",
     96     NULL,   // Create instance function
     97     // Unique instance handle
     98     {
     99       NULL,
    100       NULL,
    101       NULL,
    102       NULL
    103     },
    104     NULL,   // Shared object library handle
    105     "libOmxVdec.so",
    106     {
    107       "video_decoder.divx"
    108     }
    109   },
    110   {
    111     "OMX.qcom.video.decoder.divx311",
    112     NULL,   // Create instance function
    113     // Unique instance handle
    114     {
    115       NULL,
    116       NULL,
    117       NULL,
    118       NULL
    119     },
    120     NULL,   // Shared object library handle
    121     "libOmxVdec.so",
    122     {
    123       "video_decoder.divx"
    124     }
    125   },
    126   {
    127     "OMX.qcom.video.decoder.mpeg4",
    128     NULL, // Create instance function
    129     // Unique instance handle
    130     {
    131       NULL,
    132       NULL,
    133       NULL,
    134       NULL
    135     },
    136     NULL,   // Shared object library handle
    137     "libOmxVdec.so",
    138     {
    139       "video_decoder.mpeg4"
    140     }
    141   },
    142   {
    143     "OMX.qcom.video.decoder.mpeg2",
    144     NULL, // Create instance function
    145     // Unique instance handle
    146     {
    147       NULL,
    148       NULL,
    149       NULL,
    150       NULL
    151     },
    152     NULL,   // Shared object library handle
    153     "libOmxVdec.so",
    154     {
    155       "video_decoder.mpeg2"
    156     }
    157   },
    158   {
    159     "OMX.qcom.video.decoder.vc1",
    160     NULL, // Create instance function
    161     // Unique instance handle
    162     {
    163       NULL,
    164       NULL,
    165       NULL,
    166       NULL
    167     },
    168     NULL,   // Shared object library handle
    169     "libOmxVdec.so",
    170     {
    171       "video_decoder.vc1"
    172     }
    173   },
    174   {
    175     "OMX.qcom.video.decoder.wmv",
    176     NULL, // Create instance function
    177     // Unique instance handle
    178     {
    179       NULL,
    180       NULL,
    181       NULL,
    182       NULL
    183     },
    184     NULL,   // Shared object library handle
    185     "libOmxVdec.so",
    186     {
    187       "video_decoder.vc1"
    188     }
    189   },
    190   {
    191     "OMX.qcom.video.decoder.h263",
    192     NULL, // Create instance function
    193     // Unique instance handle
    194     {
    195       NULL,
    196       NULL,
    197       NULL,
    198       NULL
    199     },
    200     NULL,   // Shared object library handle
    201     "libOmxVdec.so",
    202     {
    203       "video_decoder.h263"
    204     }
    205   },
    206    {
    207     "OMX.qcom.video.encoder.mpeg4",
    208     NULL, // Create instance function
    209     // Unique instance handle
    210     {
    211       NULL,
    212       NULL,
    213       NULL,
    214       NULL
    215     },
    216     NULL,   // Shared object library handle
    217     "libOmxVenc.so",
    218     {
    219       "video_encoder.mpeg4"
    220     }
    221   },
    222    {
    223     "OMX.qcom.video.encoder.h263",
    224     NULL, // Create instance function
    225     // Unique instance handle
    226     {
    227       NULL,
    228       NULL,
    229       NULL,
    230       NULL
    231     },
    232     NULL,   // Shared object library handle
    233     "libOmxVenc.so",
    234     {
    235       "video_encoder.h263"
    236     }
    237   },
    238    {
    239     "OMX.qcom.video.encoder.avc",
    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     "libOmxVenc.so",
    250     {
    251       "video_encoder.avc"
    252     }
    253   },
    254     {
    255     "OMX.qcom.audio.decoder.Qcelp13",
    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     "libOmxQcelp13Dec.so",
    266     {
    267       "audio_decoder.Qcelp13"
    268     }
    269   },
    270   {
    271     "OMX.qcom.audio.decoder.evrc",
    272     NULL, // Create instance function
    273     // Unique instance handle
    274     {
    275       NULL,
    276       NULL,
    277       NULL,
    278       NULL
    279     },
    280     NULL,   // Shared object library handle
    281     "libOmxEvrcDec.so",
    282     {
    283       "audio_decoder.evrc"
    284     }
    285   },
    286   {
    287     "OMX.qcom.audio.decoder.wma",
    288     NULL, // Create instance function
    289     // Unique instance handle
    290     {
    291      NULL,
    292      NULL,
    293      NULL,
    294      NULL
    295     },
    296     NULL,   // Shared object library handle
    297     "libOmxWmaDec.so",
    298     {
    299      "audio_decoder.wma"
    300     }
    301   },
    302   {
    303     "OMX.qcom.audio.decoder.wma10Pro",
    304     NULL,   // Create instance function
    305     // Unique instance handle
    306     {
    307      NULL,
    308      NULL,
    309      NULL,
    310      NULL
    311     },
    312     NULL,   // Shared object library handle
    313     "libOmxWmaDec.so",
    314     {
    315      "audio_decoder.wma"
    316     }
    317   },
    318   {
    319     "OMX.qcom.audio.decoder.wmaLossLess",
    320     NULL,   // Create instance function
    321     // Unique instance handle
    322     {
    323      NULL,
    324      NULL,
    325      NULL,
    326      NULL
    327     },
    328     NULL,   // Shared object library handle
    329     "libOmxWmaDec.so",
    330     {
    331      "audio_decoder.wma"
    332     }
    333   },
    334   {
    335     "OMX.qcom.audio.encoder.aac",
    336     NULL, // Create instance function
    337     // Unique instance handle
    338     {
    339       NULL,
    340       NULL,
    341       NULL,
    342       NULL
    343     },
    344     NULL,  // Shared object library handle
    345     "libOmxAacEnc.so",
    346     {
    347       "audio_encoder.aac"
    348     }
    349   },
    350   {
    351     "OMX.qcom.audio.encoder.qcelp13",
    352     NULL,   // Create instance function
    353     // Unique instance handle
    354     {
    355       NULL,
    356       NULL,
    357       NULL,
    358       NULL
    359     },
    360     NULL,   // Shared object library handle
    361     "libOmxQcelp13Enc.so",
    362     {
    363       "audio_encoder.qcelp13"
    364     }
    365   },
    366   {
    367     "OMX.qcom.audio.encoder.evrc",
    368     NULL,   // Create instance function
    369     // Unique instance handle
    370     {
    371       NULL,
    372       NULL,
    373       NULL,
    374       NULL
    375     },
    376     NULL,   // Shared object library handle
    377     "libOmxEvrcEnc.so",
    378     {
    379       "audio_encoder.evrc"
    380     }
    381   },
    382   {
    383     "OMX.qcom.audio.encoder.amrnb",
    384     NULL,   // Create instance function
    385     // Unique instance handle
    386     {
    387       NULL,
    388       NULL,
    389       NULL,
    390       NULL
    391     },
    392     NULL,   // Shared object library handle
    393     "libOmxAmrEnc.so",
    394     {
    395       "audio_encoder.amrnb"
    396     }
    397   },
    398  {
    399     "OMX.qcom.audio.decoder.aac",
    400     NULL,   // Create instance function
    401     // Unique instance handle
    402     {
    403       NULL,
    404       NULL,
    405       NULL,
    406       NULL
    407     },
    408     NULL,   // Shared object library handle
    409     "libOmxAacDec.so",
    410     {
    411       "audio_decoder.aac"
    412     }
    413   },
    414  {
    415     "OMX.qcom.audio.decoder.multiaac",
    416     NULL,   // Create instance function
    417     // Unique instance handle
    418     {
    419       NULL,
    420       NULL,
    421       NULL,
    422       NULL
    423     },
    424     NULL,   // Shared object library handle
    425     "libOmxAacDec.so",
    426     {
    427       "audio_decoder.aac"
    428     }
    429   },
    430 #ifdef ENABLE_DRMPLAY
    431   {
    432     "drm.play" DRMPLAY_API_VERSION,
    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     "libDrmPlay.so",
    443     {
    444       "drm.play" DRMPLAY_API_VERSION
    445     }
    446   },
    447   {
    448     "OMX.qcom.file.muxer",
    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     "libOmxMux.so",
    459     {
    460       "container_muxer.mp2"
    461     }
    462   }
    463 #endif
    464 };
    465 
    466 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    467 
    468 
    469