Home | History | Annotate | Download | only in 7630
      1 /*--------------------------------------------------------------------------
      2 Copyright (c) 2009,2011 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 met:
      6     * Redistributions of source code must retain the above copyright
      7       notice, this list of conditions and the following disclaimer.
      8     * Redistributions in binary form must reproduce the above copyright
      9       notice, this list of conditions and the following disclaimer in the
     10       documentation and/or other materials provided with the distribution.
     11     * Neither the name of The Linux Foundation nor
     12       the names of its contributors may be used to endorse or promote
     13       products derived from this software without specific prior written
     14       permission.
     15 
     16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     17 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     18 IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     19 NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     20 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     21 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     22 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
     23 OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     24 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     25 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
     26 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27 --------------------------------------------------------------------------*/
     28 /*============================================================================
     29                             O p e n M A X   w r a p p e r s
     30                              O p e n  M A X   C o r e
     31 
     32   This module contains the registry table for the QCOM's OpenMAX core.
     33 
     34 *//*========================================================================*/
     35 
     36 
     37 #include "qc_omx_core.h"
     38 #include "drmplay_version.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.mpeg4",
     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.mpeg4"
     72     }
     73   },
     74   {
     75     "OMX.qcom.video.decoder.vc1",
     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.vc1"
     88     }
     89   },
     90   {
     91     "OMX.qcom.video.decoder.wmv",
     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.vc1"
    104     }
    105   },
    106   {
    107     "OMX.qcom.video.decoder.h263",
    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.h263"
    120     }
    121   },
    122   {
    123     "OMX.qcom.video.decoder.divx4",
    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.divx"
    136     }
    137   },
    138   {
    139     "OMX.qcom.video.decoder.divx",
    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.divx"
    152     }
    153   },
    154    {
    155     "OMX.qcom.video.encoder.mpeg4",
    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     "libOmxVenc.so",
    166     {
    167       "video_encoder.mpeg4"
    168     }
    169   },
    170    {
    171     "OMX.qcom.video.encoder.h263",
    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     "libOmxVenc.so",
    182     {
    183       "video_encoder.h263"
    184     }
    185   },
    186    {
    187     "OMX.qcom.video.encoder.avc",
    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     "libOmxVenc.so",
    198     {
    199       "video_encoder.avc"
    200     }
    201   },
    202     {
    203     "OMX.qcom.audio.decoder.Qcelp13",
    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     "libOmxQcelp13Dec.so",
    214     {
    215       "audio_decoder.Qcelp13"
    216     }
    217   },
    218   {
    219     "OMX.qcom.audio.decoder.evrc",
    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     "libOmxEvrcDec.so",
    230     {
    231       "audio_decoder.evrc"
    232     }
    233   },
    234   {
    235     "OMX.qcom.audio.decoder.amrwbp",
    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     "libOmxAmrwbDec.so",
    246     {
    247       "audio_decoder.amrwbp"
    248     }
    249   },
    250   {
    251     "drm.play" DRMPLAY_API_VERSION,
    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     "libDrmPlay.so",
    262     {
    263       "drm.play" DRMPLAY_API_VERSION
    264     }
    265   },
    266   {
    267     "OMX.qcom.audio.decoder.wma",
    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     "libOmxWmaDec.so",
    278     {
    279       "audio_decoder.wma"
    280     }
    281   },
    282   {
    283     "OMX.qcom.audio.encoder.evrc",
    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     #ifdef _ANDROID_
    294     "libOmxEvrcEnc.so",
    295     #else
    296     "libmm-aenc-omxevrc.so.1",
    297     #endif
    298     {
    299       "audio_encoder.evrc"
    300     }
    301   },
    302   {
    303     "OMX.qcom.audio.encoder.qcelp13",
    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     #ifdef _ANDROID_
    314     "libOmxQcelp13Enc.so",
    315     #else
    316     "libmm-aenc-omxqcelp13.so.1",
    317     #endif
    318     {
    319       "audio_encoder.qcelp13"
    320     }
    321   },
    322 #ifndef _ANDROID_
    323      {
    324      "OMX.qcom.audio.decoder.aac",
    325      NULL, // Create instance function
    326      // Unique instance handle
    327      {
    328        NULL,
    329        NULL,
    330        NULL,
    331        NULL
    332      },
    333      NULL,   // Shared object library handle
    334      "libOmxAacDec.so",
    335      {
    336        "audio_decoder.aac"
    337      }
    338    },
    339    {
    340      "OMX.qcom.audio.decoder.amrnb",
    341      NULL, // Create instance function
    342      // Unique instance handle
    343      {
    344        NULL,
    345        NULL,
    346        NULL,
    347        NULL
    348      },
    349      NULL,   // Shared object library handle
    350      "libOmxAmrDec.so",
    351      {
    352        "audio_decoder.amrnb"
    353      }
    354    },
    355    {
    356      "OMX.qcom.audio.decoder.amrwb",
    357      NULL, // Create instance function
    358      // Unique instance handle
    359      {
    360        NULL,
    361        NULL,
    362        NULL,
    363        NULL
    364      },
    365      NULL,   // Shared object library handle
    366      "libOmxAmrwbDec.so",
    367      {
    368        "audio_decoder.amrwb"
    369      }
    370    },
    371   {
    372     "OMX.qcom.audio.decoder.tunneled.mp3",
    373     NULL, // Create instance function
    374     // Unique instance handle
    375     {
    376       NULL,
    377       NULL,
    378       NULL,
    379       NULL
    380     },
    381     NULL,   // Shared object library handle
    382     "libOmxMp3Dec.so",
    383     {
    384       "audio_decoder.mp3"
    385     }
    386   },
    387   {
    388     "OMX.qcom.audio.decoder.tunneled.aac",
    389     NULL, // Create instance function
    390     // Unique instance handle
    391     {
    392       NULL,
    393       NULL,
    394       NULL,
    395       NULL
    396     },
    397     NULL,   // Shared object library handle
    398     "libOmxAacDec.so",
    399     {
    400       "audio_decoder.aac"
    401     }
    402   },
    403     {
    404     "OMX.qcom.audio.decoder.tunneled.amrnb",
    405     NULL,   // Create instance function
    406     // Unique instance handle
    407     {
    408       NULL,
    409       NULL,
    410       NULL,
    411       NULL
    412     },
    413     NULL,   // Shared object library handle
    414     "libOmxAmrDec.so",
    415     {
    416       "audio_decoder.amrnb"
    417     }
    418   },
    419     {
    420     "OMX.qcom.audio.encoder.tunneled.aac",
    421     NULL, // Create instance function
    422     // Unique instance handle
    423     {
    424       NULL,
    425       NULL,
    426       NULL,
    427       NULL
    428     },
    429     NULL,   // Shared object library handle
    430     "libOmxAacEnc.so",
    431     {
    432       "audio_encoder.aac"
    433     }
    434   },
    435     {
    436     "OMX.qcom.audio.encoder.aac",
    437     NULL, // Create instance function
    438     // Unique instance handle
    439     {
    440       NULL,
    441       NULL,
    442       NULL,
    443       NULL
    444     },
    445     NULL,   // Shared object library handle
    446     "libOmxAacEnc.so",
    447     {
    448       "audio_encoder.aac"
    449     }
    450   },
    451   {
    452     "OMX.qcom.audio.decoder.tunneled.Qcelp13",
    453     NULL, // Create instance function
    454     // Unique instance handle
    455     {
    456       NULL,
    457       NULL,
    458       NULL,
    459       NULL
    460     },
    461     NULL,   // Shared object library handle
    462     "libOmxQcelp13Dec.so",
    463     {
    464       "audio_decoder.Qcelp13"
    465     }
    466   },
    467   {
    468     "OMX.qcom.audio.decoder.tunneled.evrc",
    469     NULL, // Create instance function
    470     // Unique instance handle
    471     {
    472       NULL,
    473       NULL,
    474       NULL,
    475       NULL
    476     },
    477     NULL,   // Shared object library handle
    478     "libOmxEvrcDec.so",
    479     {
    480       "audio_decoder.evrc"
    481     }
    482   },
    483   {
    484     "OMX.qcom.audio.encoder.tunneled.amr",
    485     NULL, // Create instance function
    486     // Unique instance handle
    487     {
    488       NULL,
    489       NULL,
    490       NULL,
    491       NULL
    492     },
    493     NULL,   // Shared object library handle
    494     "libOmxAmrEnc.so",
    495     {
    496       "audio_encoder.amr"
    497     }
    498   },
    499   {
    500     "OMX.qcom.audio.decoder.tunneled.wma",
    501     NULL, // Create instance function
    502     // Unique instance handle
    503     {
    504       NULL,
    505       NULL,
    506       NULL,
    507       NULL
    508     },
    509     NULL,   // Shared object library handle
    510     "libOmxWmaDec.so",
    511     {
    512       "audio_decoder.wma"
    513     }
    514   },
    515   {
    516     "OMX.qcom.audio.decoder.tunneled.amrwb",
    517     NULL,  // Create instance function
    518     // Unique instance handle
    519     {
    520       NULL,
    521       NULL,
    522       NULL,
    523       NULL
    524     }
    525     NULL,   // Shared object library handle
    526     "libOmxAmrwbDec.so",
    527     {
    528       "audio_decoder.amrwb"
    529     }
    530   },
    531   {
    532     "OMX.qcom.audio.decoder.tunneled.amrwbp",
    533     NULL,   // Create instance function
    534     // Unique instance handle
    535     {
    536       NULL,
    537       NULL,
    538       NULL,
    539       NULL
    540     },
    541      NULL,   // Shared object library handle
    542     "libOmxAmrwbDec.so",
    543     {
    544       "audio_decoder.amrwbp"
    545     }
    546   }
    547 #endif
    548 };
    549 
    550 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
    551 
    552 
    553