111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel/*-------------------------------------------------------------------------- 211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelCopyright (c) 2009, The Linux Foundation. All rights reserved. 311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelRedistribution and use in source and binary forms, with or without 511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelmodification, are permitted provided that the following conditions are met: 611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel * Redistributions of source code must retain the above copyright 711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel notice, this list of conditions and the following disclaimer. 811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel * Redistributions in binary form must reproduce the above copyright 911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel notice, this list of conditions and the following disclaimer in the 1011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel documentation and/or other materials provided with the distribution. 1111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel * Neither the name of The Linux Foundation nor 1211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel the names of its contributors may be used to endorse or promote 1311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel products derived from this software without specific prior written 1411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel permission. 1511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 1611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 1711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelIMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 1911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelNON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 2011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 2111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 2211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 2311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 2411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 2511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 2611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel--------------------------------------------------------------------------*/ 2811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel/*============================================================================ 2911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel O p e n M A X w r a p p e r s 3011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel O p e n M A X C o r e 3111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 3211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OpenMAX Core Macros interface. 3311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 3411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel============================================================================*/ 3511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 3611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel////////////////////////////////////////////////////////////////////////////// 3711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel// Include Files 3811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel////////////////////////////////////////////////////////////////////////////// 3911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel#ifndef OMX_CORE_CMP_H 4011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel#define OMX_CORE_CMP_H 4111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 4211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 4311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 4411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel#ifdef __cplusplus 4511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelextern "C" { 4611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel#endif 4711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 4811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 4911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelvoid * qc_omx_create_component_wrapper(OMX_PTR obj_ptr); 5011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 5111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 5211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 5311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_init(OMX_IN OMX_HANDLETYPE hComp, OMX_IN OMX_STRING componentName); 5411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 5511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 5611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 5711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_get_version(OMX_IN OMX_HANDLETYPE hComp, 5811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_OUT OMX_STRING componentName, 5911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_OUT OMX_VERSIONTYPE* componentVersion, 6011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_OUT OMX_VERSIONTYPE* specVersion, 6111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_OUT OMX_UUIDTYPE* componentUUID); 6211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 6311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 6411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_send_command(OMX_IN OMX_HANDLETYPE hComp, 6511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_COMMANDTYPE cmd, 6611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U32 param1, 6711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_PTR cmdData); 6811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 6911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 7011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_get_parameter(OMX_IN OMX_HANDLETYPE hComp, 7111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_INDEXTYPE paramIndex, 7211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_INOUT OMX_PTR paramData); 7311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 7411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 7511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_set_parameter(OMX_IN OMX_HANDLETYPE hComp, 7611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_INDEXTYPE paramIndex, 7711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_PTR paramData); 7811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 7911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 8011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_get_config(OMX_IN OMX_HANDLETYPE hComp, 8111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_INDEXTYPE configIndex, 8211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_INOUT OMX_PTR configData); 8311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 8411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 8511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_set_config(OMX_IN OMX_HANDLETYPE hComp, 8611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_INDEXTYPE configIndex, 8711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_PTR configData); 8811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 8911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 9011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_get_extension_index(OMX_IN OMX_HANDLETYPE hComp, 9111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_STRING paramName, 9211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_OUT OMX_INDEXTYPE* indexType); 9311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 9411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 9511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_get_state(OMX_IN OMX_HANDLETYPE hComp, 9611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_OUT OMX_STATETYPE* state); 9711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 9811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 9911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_tunnel_request(OMX_IN OMX_HANDLETYPE hComp, 10011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U32 port, 10111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_HANDLETYPE peerComponent, 10211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U32 peerPort, 10311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_INOUT OMX_TUNNELSETUPTYPE* tunnelSetup); 10411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 10511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 10611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_use_buffer(OMX_IN OMX_HANDLETYPE hComp, 10711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_INOUT OMX_BUFFERHEADERTYPE** bufferHdr, 10811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U32 port, 10911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_PTR appData, 11011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U32 bytes, 11111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U8* buffer); 11211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 11311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 11411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel// qc_omx_component_allocate_buffer -- API Call 11511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 11611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_allocate_buffer(OMX_IN OMX_HANDLETYPE hComp, 11711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_INOUT OMX_BUFFERHEADERTYPE** bufferHdr, 11811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U32 port, 11911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_PTR appData, 12011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U32 bytes); 12111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 12211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 12311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_free_buffer(OMX_IN OMX_HANDLETYPE hComp, 12411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U32 port, 12511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_BUFFERHEADERTYPE* buffer); 12611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 12711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 12811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_empty_this_buffer(OMX_IN OMX_HANDLETYPE hComp, 12911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_BUFFERHEADERTYPE* buffer); 13011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 13111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 13211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_fill_this_buffer(OMX_IN OMX_HANDLETYPE hComp, 13311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_BUFFERHEADERTYPE* buffer); 13411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 13511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 13611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_set_callbacks(OMX_IN OMX_HANDLETYPE hComp, 13711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_CALLBACKTYPE* callbacks, 13811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_PTR appData); 13911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 14011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 14111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_deinit(OMX_IN OMX_HANDLETYPE hComp); 14211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 14311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 14411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_use_EGL_image(OMX_IN OMX_HANDLETYPE hComp, 14511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_INOUT OMX_BUFFERHEADERTYPE** bufferHdr, 14611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U32 port, 14711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_PTR appData, 14811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN void* eglImage); 14911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 15011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry StrudelOMX_ERRORTYPE 15111e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudelqc_omx_component_role_enum(OMX_IN OMX_HANDLETYPE hComp, 15211e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_OUT OMX_U8* role, 15311e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel OMX_IN OMX_U32 index); 15411e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 15511e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel#ifdef __cplusplus 15611e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel} 15711e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel#endif 15811e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 15911e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel#endif 16011e4d07ddf6a35f55d6ad06edb850b015218c7acThierry Strudel 161