| /*-------------------------------------------------------------------------- |
| Copyright (c) 2011-2012 The Linux Foundation. All rights reserved. |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions are met: |
| * Redistributions of source code must retain the above copyright |
| notice, this list of conditions and the following disclaimer. |
| * Redistributions in binary form must reproduce the above copyright |
| notice, this list of conditions and the following disclaimer in the |
| documentation and/or other materials provided with the distribution. |
| * Neither the name of The Linux Foundation nor |
| the names of its contributors may be used to endorse or promote |
| products derived from this software without specific prior written |
| permission. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
| NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR |
| CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
| EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
| PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; |
| OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
| WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
| OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
| ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| --------------------------------------------------------------------------*/ |
| /*============================================================================ |
| O p e n M A X w r a p p e r s |
| O p e n M A X C o r e |
| |
| This module contains the registry table for the QCOM's OpenMAX core. |
| |
| *//*========================================================================*/ |
| |
| #include "qc_omx_core.h" |
| |
| omx_core_cb_type core[] = |
| { |
| { |
| "OMX.qcom.video.decoder.avc", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxH264Dec.so", |
| { |
| "video_decoder.avc" |
| } |
| }, |
| { |
| "OMX.ittiam.video.encoder.avc", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxIttiamVenc.so", |
| { |
| "video_encoder.avc" |
| } |
| }, |
| { |
| "OMX.ittiam.video.decoder.avc", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxIttiamVdec.so", |
| { |
| "video_decoder.avc" |
| } |
| }, |
| { |
| "OMX.qcom.video.decoder.mpeg4", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxMpeg4Dec.so", |
| { |
| "video_decoder.mpeg4" |
| } |
| }, |
| { |
| "OMX.ittiam.video.decoder.mpeg4", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxIttiamVdec.so", |
| { |
| "video_decoder.mpeg4" |
| } |
| }, |
| { |
| "OMX.qcom.video.decoder.divx", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxMpeg4Dec.so", |
| { |
| "video_decoder.divx" |
| } |
| }, |
| { |
| "OMX.qcom.video.decoder.divx4", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxMpeg4Dec.so", |
| { |
| "video_decoder.divx" |
| } |
| }, |
| { |
| "OMX.qcom.video.decoder.vc1", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxWmvDec.so", |
| { |
| "video_decoder.vc1" |
| } |
| }, |
| { |
| "OMX.qcom.video.decoder.real", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxrv9Dec.so", |
| { |
| "video_decoder.real" |
| } |
| }, |
| { |
| "OMX.qcom.video.decoder.h263", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxMpeg4Dec.so", |
| { |
| "video_decoder.h263" |
| } |
| }, |
| { |
| "OMX.qcom.video.encoder.mpeg4", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxVidEnc.so", |
| { |
| "video_encoder.mpeg4" |
| } |
| }, |
| { |
| "OMX.qcom.video.decoder.spark", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxMpeg4Dec.so", |
| { |
| "video_decoder.spark" |
| } |
| }, |
| { |
| "OMX.qcom.video.decoder.vp", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxOn2Dec.so", |
| { |
| "video_decoder.vp" |
| } |
| }, |
| { |
| "OMX.qcom.video.decoder.vp8", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxVp8Dec.so", |
| { |
| "video_decoder.vp8" |
| } |
| }, |
| { |
| "OMX.qcom.video.encoder.h263", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxVidEnc.so", |
| { |
| "video_encoder.h263", |
| } |
| }, |
| { |
| "OMX.qcom.video.encoder.avc", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxVidEnc.so", |
| { |
| "video_encoder.avc" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.mp3", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxMp3Dec.so", |
| #else |
| "libmm-adec-omxmp3.so.1", |
| #endif |
| { |
| "audio_decoder.mp3" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.aac", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxAacDec.so", |
| #else |
| "libmm-adec-omxaac.so.1", |
| #endif |
| { |
| "audio_decoder.aac" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.tunneled.mp3", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxMp3Dec.so", |
| #else |
| "libmm-adec-omxmp3.so.1", |
| #endif |
| { |
| "audio_decoder.mp3" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.tunneled.aac", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxAacDec.so", |
| #else |
| "libmm-adec-omxaac.so.1", |
| #endif |
| { |
| "audio_decoder.aac" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.amrnb", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxAmrDec.so", |
| #else |
| "libmm-adec-omxamr.so.1", |
| #endif |
| { |
| "audio_decoder.amrnb" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.tunneled.amrnb", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxAmrDec.so", |
| #else |
| "libmm-adec-omxamr.so.1", |
| #endif |
| { |
| "audio_decoder.amrnb" |
| } |
| }, |
| { |
| "OMX.qcom.audio.encoder.tunneled.aac", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxAacEnc.so", |
| #else |
| "libmm-aenc-omxaac.so.1", |
| #endif |
| { |
| "audio_encoder.aac" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.Qcelp13Hw", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxQcelpHwDec.so", |
| #else |
| "libmm-adec-omxQcelp13.so.1", |
| #endif |
| { |
| "audio_decoder.Qcelp13" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.tunneled.Qcelp13Hw", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxQcelpHwDec.so", |
| #else |
| "libmm-adec-omxQcelp13.so.1", |
| #endif |
| { |
| "audio_decoder.Qcelp13" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.evrchw", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxEvrcHwDec.so", |
| #else |
| "libmm-adec-omxevrc.so.1", |
| #endif |
| { |
| "audio_decoder.evrc" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.tunneled.evrc", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxEvrcHwDec.so", |
| #else |
| "libmm-adec-omxevrc.so.1", |
| #endif |
| { |
| "audio_decoder.evrc" |
| } |
| }, |
| { |
| "OMX.qcom.audio.encoder.tunneled.amr", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxAmrEnc.so", |
| #else |
| "libmm-aenc-omxamr.so.1", |
| #endif |
| { |
| "audio_encoder.amr" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.wma", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxWmaDec.so", |
| #else |
| "libmm-adec-omxwma.so.1", |
| #endif |
| { |
| "audio_decoder.wma" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.tunneled.wma", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxWmaDec.so", |
| #else |
| "libmm-adec-omxwma.so.1", |
| #endif |
| { |
| "audio_decoder.wma" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.wma10Pro", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxWmaDec.so", |
| #else |
| "libmm-adec-omxwma.so.1", |
| #endif |
| { |
| "audio_decoder.wma" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.tunneled.wma10Pro", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxWmaDec.so", |
| #else |
| "libmm-adec-omxwma.so.1", |
| #endif |
| { |
| "audio_decoder.wma" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.amrwb", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxAmrwbDec.so", |
| #else |
| "libmm-adec-omxamrwb.so.1", |
| #endif |
| { |
| "audio_decoder.amrwb" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.tunneled.amrwb", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxAmrwbDec.so", |
| #else |
| "libmm-adec-omxamrwb.so.1", |
| #endif |
| { |
| "audio_decoder.amrwb" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.amrwbp", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxAmrwbDec.so", |
| #else |
| "libmm-adec-omxamrwb.so.1", |
| #endif |
| { |
| "audio_decoder.amrwbp" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.tunneled.amrwbp", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxAmrwbDec.so", |
| #else |
| "libmm-adec-omxamrwb.so.1", |
| #endif |
| { |
| "audio_decoder.amrwbp" |
| } |
| }, |
| { |
| "OMX.qcom.audio.encoder.tunneled.qcelp13", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxQcelp13Enc.so", |
| #else |
| "libmm-aenc-omxqcelp13.so.1", |
| #endif |
| { |
| "audio_encoder.qcelp13" |
| } |
| }, |
| { |
| "OMX.qcom.audio.encoder.qcelp13", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxQcelp13Enc.so", |
| #else |
| "libmm-aenc-omxqcelp13.so.1", |
| #endif |
| { |
| "audio_encoder.qcelp13" |
| } |
| }, |
| { |
| "OMX.qcom.audio.encoder.tunneled.evrc", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxEvrcEnc.so", |
| #else |
| "libmm-aenc-omxevrc.so.1", |
| #endif |
| { |
| "audio_encoder.evrc" |
| } |
| }, |
| { |
| "OMX.qcom.audio.encoder.evrc", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| #ifdef _ANDROID_ |
| "libOmxEvrcEnc.so", |
| #else |
| "libmm-aenc-omxevrc.so.1", |
| #endif |
| { |
| "audio_encoder.evrc" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.ac3", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxAc3HwDec.so", |
| { |
| "audio_decoder.ac3" |
| } |
| }, |
| { |
| "OMX.qcom.audio.decoder.eac3", |
| NULL, // Create instance function |
| // Unique instance handle |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }, |
| NULL, // Shared object library handle |
| "libOmxAc3HwDec.so", |
| { |
| "audio_decoder.eac3" |
| } |
| }, |
| }; |
| |
| const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type); |
| |
| |