1c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 2c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Copyright (c) 2010 The Khronos Group Inc. 3c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 4c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Permission is hereby granted, free of charge, to any person obtaining 5c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * a copy of this software and associated documentation files (the 6c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * "Software"), to deal in the Software without restriction, including 7c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * without limitation the rights to use, copy, modify, merge, publish, 8c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * distribute, sublicense, and/or sell copies of the Software, and to 9c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * permit persons to whom the Software is furnished to do so, subject 10c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * to the following conditions: 11c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The above copyright notice and this permission notice shall be included 12c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * in all copies or substantial portions of the Software. 13c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 14c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 18c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 19c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 20c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 22c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 23c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 24c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** OMX_CoreExt.h - OpenMax IL version 1.1.2 25c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The OMX_CoreExt header file contains extensions to the definitions used 26c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * by both the application and the component to access common items. 27c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 28c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 29c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifndef OMX_CoreExt_h 30c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define OMX_CoreExt_h 31c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 32c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef __cplusplus 33c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevextern "C" { 34c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif /* __cplusplus */ 35c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 36c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* Each OMX header shall include all required header files to allow the 37c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * header to compile without errors. The includes below are required 38c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * for this header file to compile successfully 39c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 40c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include <OMX_Core.h> 41c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 42c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** Extensions to the standard IL errors. */ 43c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_ERROREXTTYPE 44c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 45c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ErrorInvalidMode = (OMX_S32) (OMX_ErrorKhronosExtensions + 0x00000001), 46c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ErrorExtMax = 0x7FFFFFFF 47c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_ERROREXTTYPE; 48c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 49c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 50c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** Event type extensions. */ 51c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_EVENTEXTTYPE 52c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 53c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_EventIndexSettingChanged = OMX_EventKhronosExtensions, /**< component signals the IL client of a change 54c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev in a param, config, or extension */ 55c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_EventExtMax = 0x7FFFFFFF 56c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_EVENTEXTTYPE; 57c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 58c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 59c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** Enable or disable a callback event. */ 60c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_CALLBACKREQUESTTYPE { 61c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; /**< size of the structure in bytes */ 62c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 63c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; /**< port that this structure applies to */ 64c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_INDEXTYPE nIndex; /**< the index the callback is requested for */ 65c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bEnable; /**< enable (OMX_TRUE) or disable (OMX_FALSE) the callback */ 66c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_CALLBACKREQUESTTYPE; 67c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 68c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef __cplusplus 69c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 70c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif /* __cplusplus */ 71c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 72c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif /* OMX_CoreExt_h */ 73c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* File EOF */ 74