summaryrefslogtreecommitdiffstats
path: root/domx/omx_core
diff options
context:
space:
mode:
Diffstat (limited to 'domx/omx_core')
-rw-r--r--domx/omx_core/Android.mk24
-rw-r--r--domx/omx_core/Makefile99
-rwxr-xr-xdomx/omx_core/inc/OMX_ComponentExt.h61
-rwxr-xr-xdomx/omx_core/inc/OMX_ComponentRegistry.h68
-rwxr-xr-xdomx/omx_core/inc/OMX_CoreExt.h73
-rwxr-xr-xdomx/omx_core/inc/OMX_Core_Wrapper.h83
-rwxr-xr-xdomx/omx_core/inc/OMX_Debug.h170
-rwxr-xr-xdomx/omx_core/inc/OMX_DebugMem.h71
-rwxr-xr-xdomx/omx_core/inc/OMX_TI_Common.h221
-rwxr-xr-xdomx/omx_core/inc/OMX_TI_Core.h107
-rwxr-xr-xdomx/omx_core/inc/OMX_TI_IVCommon.h2657
-rwxr-xr-xdomx/omx_core/inc/OMX_TI_Image.h62
-rwxr-xr-xdomx/omx_core/inc/OMX_TI_Index.h245
-rwxr-xr-xdomx/omx_core/inc/OMX_TI_Video.h2587
-rwxr-xr-xdomx/omx_core/src/OMX_Core.c953
-rwxr-xr-xdomx/omx_core/src/OMX_Core_Wrapper.c168
16 files changed, 0 insertions, 7649 deletions
diff --git a/domx/omx_core/Android.mk b/domx/omx_core/Android.mk
deleted file mode 100644
index d52947a..0000000
--- a/domx/omx_core/Android.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- src/OMX_Core.c \
- src/OMX_Core_Wrapper.c
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/inc \
- $(LOCAL_PATH)/../mm_osal/inc \
- frameworks/native/include/media/openmax
-
-LOCAL_SHARED_LIBRARIES := \
- libdl \
- liblog \
- libmm_osal
-
-LOCAL_CFLAGS += -DSTATIC_TABLE -D_Android -DCHECK_SECURE_STATE
-
-LOCAL_MODULE := libOMX_Core
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/domx/omx_core/Makefile b/domx/omx_core/Makefile
deleted file mode 100644
index 5c6c563..0000000
--- a/domx/omx_core/Makefile
+++ /dev/null
@@ -1,99 +0,0 @@
-#
-# Copyright (C) Texas Instruments - http://www.ti.com/
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# ----------------------------------------------------------------------------
-# Revision History
-#
-#
-# REF=ORG
-# Original version.
-# ----------------------------------------------------------------------------
-
-#PROJROOT = ..
-
-include $(PROJROOT)/make/start.mk
-
-# Do not change above "include" line(s)
-
-# Arguments to tools, will move to make system once finalized.
-
-CFLAGS += -DSTATIC_TABLE
-CDEFS =
-ifeq ($(BUILD),udeb)
-CDEFS += DEBUG
-endif
-CDEFS +=
-
-EXEC_ARGS =
-ST_LIB_ARGS =
-SH_LIB_ARGS =
-
-# Define this macro if target runs in kernel mode
-#__KERNEL__ = 1
-
-# Target name and extension
-# static library (ST_LIB): filename.a
-# shared library soname (SH_LIB): filename.so.maj_ver.min_ver
-# executable (EXEC) : filename.out
-
-TARGETNAME = libomx_core
-
-
-# TARGETTYPE must be EXEC, ST_LIB or SH_LIB in upper case.
-
-TARGETTYPE = SH_LIB
-
-# install directory relative to the HOSTTARGET directory
-HOSTRELEASE = lib
-
-# install directory relative to the root filesystem
-ROOTFSRELEASE = lib
-
-# Folders in which gmake will run before building current target
-
-SUBMODULES = \
-
-# Filename must not begin with '.', '/' or '\'
-
-SOURCES = \
- src/OMX_Core.c \
-
-
-# Search path for include files
-
-INCLUDES = \
- $(PROJROOT)/omx_core/inc \
- $(PROJROOT)/mm_osal/inc \
-
-# Libraries needed for linking.
-
-ST_LIBS =
-#mm_osal omx_proxy_component
-SH_LIBS = mm_osal dl
-#pthread rt utils procmgr ipc rcm notify
-#SH_LIBS += sysmgr sysmemmgr
-
-
-# Search path for library (and linker command) files.
-# Current folder and target folder are included by default.
-
-LIBINCLUDES = $(PROJROOT)/mm_osal
-# $(PROJROOT)/video/omx_proxy_component/src
-
-
-# Do not change below "include" line(s)
-
-include $(PROJROOT)/make/build.mk
-
diff --git a/domx/omx_core/inc/OMX_ComponentExt.h b/domx/omx_core/inc/OMX_ComponentExt.h
deleted file mode 100755
index e32dcbe..0000000
--- a/domx/omx_core/inc/OMX_ComponentExt.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2010 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject
- * to the following conditions:
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-/** OMX_ComponentExt.h - OpenMax IL version 1.1.2
- * The OMX_ComponentExt header file contains extensions to the definitions used
- * by both the application and the component to access common items.
- */
-
-#ifndef OMX_ComponentExt_h
-#define OMX_ComponentExt_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* Each OMX header must include all required header files to allow the
- * header to compile without errors. The includes below are required
- * for this header file to compile successfully
- */
-#include <OMX_Types.h>
-
-
-/** Set/query the commit mode */
-typedef struct OMX_CONFIG_COMMITMODETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_BOOL bDeferred;
-} OMX_CONFIG_COMMITMODETYPE;
-
-/** Explicit commit */
-typedef struct OMX_CONFIG_COMMITTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
-} OMX_CONFIG_COMMITTYPE;
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* OMX_ComponentExt_h */
diff --git a/domx/omx_core/inc/OMX_ComponentRegistry.h b/domx/omx_core/inc/OMX_ComponentRegistry.h
deleted file mode 100755
index 7bedcfc..0000000
--- a/domx/omx_core/inc/OMX_ComponentRegistry.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-#include <dirent.h>
-
-#define MAX_ROLES 20
-#define MAX_TABLE_SIZE 50
-
-typedef struct _ComponentTable {
- OMX_STRING name;
- OMX_U16 nRoles;
- OMX_STRING pRoleArray[MAX_ROLES];
-}ComponentTable;
-
-
-OMX_API OMX_ERRORTYPE OMX_GetRolesOfComponent (
- OMX_IN OMX_STRING compName,
- OMX_INOUT OMX_U32 *pNumRoles,
- OMX_OUT OMX_U8 **roles);
-
-OMX_ERRORTYPE OMX_PrintComponentTable();
-OMX_ERRORTYPE OMX_BuildComponentTable();
-OMX_ERRORTYPE ComponentTable_EventHandler(
- OMX_IN OMX_HANDLETYPE hComponent,
- OMX_IN OMX_PTR pAppData,
- OMX_IN OMX_EVENTTYPE eEvent,
- OMX_IN OMX_U32 nData1,
- OMX_IN OMX_U32 nData2,
- OMX_IN OMX_PTR pEventData);
-
-OMX_ERRORTYPE ComponentTable_EmptyBufferDone(
- OMX_OUT OMX_HANDLETYPE hComponent,
- OMX_OUT OMX_PTR pAppData,
- OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
-
-OMX_ERRORTYPE ComponentTable_FillBufferDone(
- OMX_OUT OMX_HANDLETYPE hComponent,
- OMX_OUT OMX_PTR pAppData,
- OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
diff --git a/domx/omx_core/inc/OMX_CoreExt.h b/domx/omx_core/inc/OMX_CoreExt.h
deleted file mode 100755
index 5974d02..0000000
--- a/domx/omx_core/inc/OMX_CoreExt.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2010 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject
- * to the following conditions:
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-/** OMX_CoreExt.h - OpenMax IL version 1.1.2
- * The OMX_CoreExt header file contains extensions to the definitions used
- * by both the application and the component to access common items.
- */
-
-#ifndef OMX_CoreExt_h
-#define OMX_CoreExt_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* Each OMX header shall include all required header files to allow the
- * header to compile without errors. The includes below are required
- * for this header file to compile successfully
- */
-#include <OMX_Core.h>
-
-/** Extensions to the standard IL errors. */
-typedef enum OMX_ERROREXTTYPE
-{
- OMX_ErrorInvalidMode = (OMX_S32) (OMX_ErrorKhronosExtensions + 0x00000001),
- OMX_ErrorExtMax = 0x7FFFFFFF
-} OMX_ERROREXTTYPE;
-
-
-/** Event type extensions. */
-typedef enum OMX_EVENTEXTTYPE
-{
- OMX_EventIndexSettingChanged = OMX_EventKhronosExtensions, /**< component signals the IL client of a change
- in a param, config, or extension */
- OMX_EventExtMax = 0x7FFFFFFF
-} OMX_EVENTEXTTYPE;
-
-
-/** Enable or disable a callback event. */
-typedef struct OMX_CONFIG_CALLBACKREQUESTTYPE {
- OMX_U32 nSize; /**< size of the structure in bytes */
- OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
- OMX_U32 nPortIndex; /**< port that this structure applies to */
- OMX_INDEXTYPE nIndex; /**< the index the callback is requested for */
- OMX_BOOL bEnable; /**< enable (OMX_TRUE) or disable (OMX_FALSE) the callback */
-} OMX_CONFIG_CALLBACKREQUESTTYPE;
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* OMX_CoreExt_h */
-/* File EOF */
diff --git a/domx/omx_core/inc/OMX_Core_Wrapper.h b/domx/omx_core/inc/OMX_Core_Wrapper.h
deleted file mode 100755
index 567a357..0000000
--- a/domx/omx_core/inc/OMX_Core_Wrapper.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-/** OMX_Core.h
- * The OMX_Core header file contains the definitions used for PV core
- */
-
-#ifndef OMX_TI_Core_h
-#define OMX_TI_Core_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-/* Each OMX header shall include all required header files to allow the
- * header to compile without errors. The includes below are required
- * for this header file to compile successfully
- */
-
-#include <OMX_Core.h>
-OMX_API OMX_ERRORTYPE OMX_APIENTRY TIOMX_Init(void);
-OMX_API OMX_ERRORTYPE OMX_APIENTRY TIOMX_Deinit(void);
-OMX_API OMX_ERRORTYPE OMX_APIENTRY TIOMX_ComponentNameEnum(
- OMX_OUT OMX_STRING cComponentName,
- OMX_IN OMX_U32 nNameLength,
- OMX_IN OMX_U32 nIndex);
-OMX_API OMX_ERRORTYPE OMX_APIENTRY TIOMX_GetHandle(
- OMX_OUT OMX_HANDLETYPE* pHandle,
- OMX_IN OMX_STRING cComponentName,
- OMX_IN OMX_PTR pAppData,
- OMX_IN OMX_CALLBACKTYPE* pCallBacks);
-OMX_API OMX_ERRORTYPE OMX_APIENTRY TIOMX_FreeHandle(
- OMX_IN OMX_HANDLETYPE hComponent);
-OMX_API OMX_ERRORTYPE TIOMX_GetComponentsOfRole (
- OMX_IN OMX_STRING role,
- OMX_INOUT OMX_U32 *pNumComps,
- OMX_INOUT OMX_U8 **compNames);
-OMX_API OMX_ERRORTYPE OMX_APIENTRY TIOMX_SetupTunnel(
- OMX_IN OMX_HANDLETYPE hOutput,
- OMX_IN OMX_U32 nPortOutput,
- OMX_IN OMX_HANDLETYPE hInput,
- OMX_IN OMX_U32 nPortInput);
-OMX_API OMX_ERRORTYPE OMX_APIENTRY TIOMX_GetContentPipe(
- OMX_OUT OMX_HANDLETYPE *hPipe,
- OMX_IN OMX_STRING szURI);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
-/* File EOF */
-
diff --git a/domx/omx_core/inc/OMX_Debug.h b/domx/omx_core/inc/OMX_Debug.h
deleted file mode 100755
index 0ccc351..0000000
--- a/domx/omx_core/inc/OMX_Debug.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-#ifndef OMX_DEBUG_H
-#define OMX_DEBUG_H
-
-#include "OMX_DebugMem.h"
-
-#define OMX_NO_MESSAGES 0x00000000
-#define OMX_ALL_MESSAGES 0xffff0000
-
-#define OMX_MASK_FATAL 0x80000000
-#define OMX_MASK_ERROR 0x40000000
-#define OMX_MASK_WARN 0x20000000
-#define OMX_MASK_INFO 0x10000000
-#define OMX_MASK_DEBUG 0x08000000
-#define OMX_MASK_TRACE 0x04000000
-#define OMX_MASK_RESERVE1 0x02000000
-#define OMX_MASK_RESERVE2 0x01000000
-
-#define OMX_MASK_USERMASK 0x00FF0000
-
-#define OMX_OPTION_FILE 0x00000001
-#define OMX_OPTION_FUNC 0x00000002
-#define OMX_OPTION_LINE 0x00000004
-
-#define OMX_MASK_HANDLES 0x0000FFFF
-
-
-
-/*
- * ANSI escape sequences for outputing text in various colors
- */
-#define DBG_TEXT_WHITE "\x1b[1;37;40m"
-#define DBG_TEXT_YELLOW "\x1b[1;33;40m"
-#define DBG_TEXT_MAGENTA "\x1b[1;35;40m"
-#define DBG_TEXT_GREEN "\x1b[1;32;40m"
-#define DBG_TEXT_CYAN "\x1b[1;36;40m"
-#define DBG_TEXT_RED "\x1b[1;31;40m"
-
-
-/* Setup log format (adds newline if no newline provided) */
-// do not use this one directly....
-#define OMX_LOG_PRINT(HANDLE, STR, ARG...) \
- (OMX_Log(HANDLE, __FILE__, __LINE__, __FUNCTION__, STR, ##ARG))
-
-#ifdef OMX_DEBUG
- #define OMX_DPRINT(HANDLE, STR, ARG...) OMX_LOG_PRINT(OMX_MASK_DEBUG | HANDLE, STR, ##ARG)
- #define OMX_TPRINT(HANDLE, STR, ARG...) OMX_LOG_PRINT(OMX_MASK_TRACE | HANDLE, STR, ##ARG)
-#else
- #define OMX_DPRINT(HANDLE, STR, ARG...)
- #define OMX_TPRINT(HANDLE, STR, ARG...)
-#endif
-
-/* Later this will be able to be turned on/off separately as a trace */
-#define OMX_DENTER(handle) OMX_TPRINT((handle), "+++ENTERING")
-#define OMX_DEXIT(handle,retVal) OMX_TPRINT((handle), "---EXITING(0x%x)", (retVal))
-
-#define OMX_DBG_INT(handle, intVar) OMX_DPRINT(OMX_MASK_DEBUG | (handle), #intVar ": %d", (intVar))
-#define OMX_DBG_PTR(handle, ptrVar) OMX_DPRINT(OMX_MASK_DEBUG | (handle), #ptrVar ": 0x%08x", (ptrVar))
-#define OMX_DBG_STR(handle, strVar) OMX_DPRINT(OMX_MASK_DEBUG | (handle), #strVar ": %s", (strVar))
-
-
-/* Error/warning printing defines to be used by all sub-components */
-#define OMX_INFOPRINT(handle, str,arg...) (OMX_LOG_PRINT(OMX_MASK_INFO | (handle), "(INFO) "str, ##arg))
-#define OMX_WARNPRINT(handle, str,arg...) (OMX_LOG_PRINT(OMX_MASK_WARN | (handle), "(WARN) "str, ##arg))
-#define OMX_ERRPRINT(handle, str,arg...) (OMX_LOG_PRINT(OMX_MASK_ERROR | (handle), "(ERROR) "str, ##arg))
-#define OMX_FATALPRINT(handle, str,arg...) (OMX_LOG_PRINT(OMX_MASK_FATAL | (handle), "(FATAL) "str, ##arg))
-
-/* assert macros */
-#ifdef OMX_DEBUG
- #define OMX_ASSERT(COND) ((!(COND))?OMX_FATALPRINT(0,"OMX_ASSERT("#COND")"),abort():0)
-#else
- #define OMX_ASSERT(COND)
-#endif
-
-#define OMX_LOG_ADD_MASK(HANDLE,NEW_BITS) (OMX_Log_SetMask((HANDLE), OMX_Log_GetMask(HANDLE) | (NEW_BITS)))
-#define OMX_LOG_CLEAR_MASK(HANDLE,NEW_BITS) (OMX_Log_SetMask((HANDLE), OMX_Log_GetMask(HANDLE) & ~(NEW_BITS)))
-
-#define OMX_LOG_ADD_OPTIONS(HANDLE,NEW_BITS) (OMX_Log_SetOptions((HANDLE), OMX_Log_GetOptions(HANDLE) | (NEW_BITS)))
-#define OMX_LOG_CLEAR_OPTIONS(HANDLE,NEW_BITS) (OMX_Log_SetOptions((HANDLE), OMX_Log_GetOptions(HANDLE) & ~(NEW_BITS)))
-
-typedef unsigned int OMX_DBG_HANDLE;
-
-OMX_DBG_HANDLE OMX_Log_GetDebugHandle(const char *description);
-void OMX_Log_ReleaseDebugHandle(OMX_DBG_HANDLE hDebug);
-unsigned int OMX_Log_GetMask(OMX_DBG_HANDLE hDebug);
-unsigned int OMX_Log_SetMask(OMX_DBG_HANDLE hDebug, unsigned int uiNewMask);
-
-unsigned int OMX_Log_GetOptions(OMX_DBG_HANDLE hDebug);
-unsigned int OMX_Log_SetOptions(OMX_DBG_HANDLE hDebug, unsigned int uiNewOptions);
-
-void OMX_Log(unsigned int mask, const char *szFileName, int iLineNum,
- const char *szFunctionName, const char *strFormat, ...);
-
-const char *OMX_GetErrorString(OMX_ERRORTYPE error);
-
-OMX_ERRORTYPE OMX_Log_LoadConfigFile(char* szConfigFile);
-
-
-/*
- * The following macros are intended to make accessing a debug handle easier.
- *
- * For example, for the Util library, you would create a header file called
- * OMX_Util_Private.h. This file will be included in all source files
- * compiled into the Util library. The header file uses the 'define' macro
- * to generate a prototype for the getDebugHandle() function:
- *
- * DEFINE_DEBUG_HANDLE_FN(UTIL);
- *
- * Now, in your private header file, define easier macros for printing:
- *
- * #define UTIL_DPRINT(str,args...) OMX_DPRINT(ACCESS_DEBUG_HANDLE(UTIL),str,##args)
- * #define UTIL_WARNPRINT(str,args...) OMX_WARNPRINT(ACCESS_DEBUG_HANDLE(UTIL),str,##args)
- * #define UTIL_ERRPRINT(str,args...) OMX_ERRPRINT(ACCESS_DEBUG_HANDLE(UTIL),str,##args)
- *
- * Finally, in a source file which will be compiled into the lib, for example
- * OMX_Util_Private.c, you implement the function with the 'implement' macro:
- *
- * IMPLEMENT_DEBUG_HANDLE_FN(UTIL)
- *
- */
-#define DEFINE_DEBUG_HANDLE_FN(MOD) OMX_DBG_HANDLE getDebugHandle_##MOD(void);
-
-#define ACCESS_DEBUG_HANDLE(MOD) getDebugHandle_##MOD()
-
-#define IMPLMENT_DEBUG_HANDLE_FN(MOD) \
-OMX_DBG_HANDLE getDebugHandle_##MOD(void) \
-{ \
- static OMX_DBG_HANDLE hDebug = 0; \
- if(!hDebug) { \
- hDebug = OMX_Log_GetDebugHandle(#MOD); \
- OMX_DPRINT(0,"Component "#MOD": hDebug %d",hDebug); \
- } \
- return hDebug; \
-}
-
-
-
-#endif
-
diff --git a/domx/omx_core/inc/OMX_DebugMem.h b/domx/omx_core/inc/OMX_DebugMem.h
deleted file mode 100755
index f45cfe0..0000000
--- a/domx/omx_core/inc/OMX_DebugMem.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-#ifndef OMX_DEBUGMEM_H
-#define OMX_DEBUGMEM_H
-
-#include <stdlib.h> // for size_t
-
-#if OMX_DEBUG
-void* OMX_DebugMem_calloc(size_t num, size_t size,
- const char* file, const char* func, int line);
-void* OMX_DebugMem_malloc(size_t size,
- const char* file, const char* func, int line);
-void* OMX_DebugMem_realloc(void *ptr, size_t size,
- const char* file, const char* func, int line);
-void OMX_DebugMem_free(void* ptr,
- const char* file, const char* func, int line);
-int OMX_DebugMem_validate(void *ptr,
- const char* file, const char* func, int line);
-
-void OMX_DebugMem_dump(const char *file, const char *func, int line);
-#endif
-
-#define OMX_MASK_MEMORY 0x00010000 /** One of the reserved bits from OMX_MASK_USERMASK */
-
-#define MEM_DEBUG_HANDLE_DESCR "DebugMemory"
-
-#if OMX_DEBUG
- #define malloc(x) OMX_DebugMem_malloc(x,__FILE__,__FUNCTION__,__LINE__)
- #define calloc(n,s) OMX_DebugMem_calloc(n,s,__FILE__,__FUNCTION__,__LINE__)
- #define realloc(x,s) OMX_DebugMem_realloc(x,s,__FILE__,__FUNCTION__,__LINE__)
- #define free(x) OMX_DebugMem_free(x,__FILE__,__FUNCTION__ ,__LINE__)
- #define validate(x) OMX_DebugMem_validate(x, __FILE__,__FUNCTION__ ,__LINE__)
- #define dump() OMX_DebugMem_dump( __FILE__,__FUNCTION__ ,__LINE__)
-#else
- #define validate(x)
- #define dump()
-#endif
-
-
-#endif
-
diff --git a/domx/omx_core/inc/OMX_TI_Common.h b/domx/omx_core/inc/OMX_TI_Common.h
deleted file mode 100755
index 457adb6..0000000
--- a/domx/omx_core/inc/OMX_TI_Common.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-/**
- * @file omx_ti_common.h
- *
- *
- * @path \OMAPSW_SysDev\multimedia\omx\khronos1_1\omx_core\inc
- *
- * @rev 1.0
- */
-
-/*==============================================================
- *! Revision History
- *! ============================
- *! 20-Dec-2008 x0052661@ti.com, initial version
- *================================================================*/
-
-#ifndef _OMX_TI_COMMON_H_
-#define _OMX_TI_COMMON_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/******************************************************************
- * INCLUDE FILES
- ******************************************************************/
-#include <OMX_Core.h>
-
-/*******************************************************************
- * EXTERNAL REFERENCE NOTE: only use if not found in header file
- *******************************************************************/
-/*---------- function prototypes ------------------- */
-/*---------- data declarations ------------------- */
-/*******************************************************************
- * PUBLIC DECLARATIONS: defined here, used elsewhere
- *******************************************************************/
-/*---------- function prototypes ------------------- */
-/*---------- data declarations ------------------- */
-#define OMX_BUFFERHEADERFLAG_MODIFIED 0x00000100
-
-#define OMX_TI_BUFFERFLAG_READONLY 0x00000200
-
-/* TI extra data will be passed in the platform private structure rather than
- * appended at the end of the buffer. Adding a new custom flag to indicate
- * this.*/
-#define OMX_TI_BUFFERFLAG_DETACHEDEXTRADATA 0x00000400
-
-typedef struct OMX_CONFIG_CHANNELNAME {
-
- OMX_U32 nSize; /**< Size of the structure in bytes */
- OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
- OMX_U32 nPortIndex; /**< Index of the port */
- OMX_STRING cChannelName; /**< Channel name */
-
-} OMX_CONFIG_CHANNELNAME;
-
-typedef struct OMX_TI_PLATFORMPRIVATE
-{
- OMX_U32 nSize;
- OMX_PTR pExtendedPlatformPrivate;
- OMX_BOOL bReadViaCPU;
- OMX_BOOL bWriteViaCPU;
- OMX_PTR pMetaDataBuffer;
- OMX_U32 nMetaDataSize;
- OMX_PTR pAuxBuf1;
- OMX_U32 pAuxBufSize1;
-}OMX_TI_PLATFORMPRIVATE;
-
-/*===============================================================*/
-/** OMX_TI_PARAM_BUFFERPREANNOUNCE : This parameter is used to enable/disable
- * buffer pre announcement. Buffer pre
- * announcement is enabled by default i.e.
- * if buffer is being allocated by client
- * then the buffer ptrs will be made known
- * to the component at the time of
- * UseBuffer and these will not change in
- * lifetime of the component. If pre
- * announcement is disabled then new
- * buffers can be allocated by the client
- * at runtime and passed in ETB/FTB. This
- * parameter is valid only in cases where
- * client allocates the buffer
- * (i.e. UseBuffer cases).
- *
- * @ param nSize : Size of the structure.
- * @ param nVersion : Version.
- * @ param nPortIndex : Port index on which the parameter will
- * be applied.
- * @ param bEnabled : Whether buffer pre announcement is
- * enabled or not. Set to TRUE (enabled)
- * by default.
- */
-/*===============================================================*/
-typedef struct OMX_TI_PARAM_BUFFERPREANNOUNCE
-{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bEnabled;
-}OMX_TI_PARAM_BUFFERPREANNOUNCE;
-
-
-
-/*===============================================================*/
-/** OMX_TI_CONFIG_BUFFERREFCOUNTNOTIFYTYPE : This config is used to
- * enable/disable notification when
- * reference count of a buffer changes
- * This happens usually when buffers
- * are locked/unlocked by codecs. By
- * DEFAULT all notifications are
- * DISABLED.
- *
- * @ param nSize : Size of the structure.
- * @ param nVersion : Version.
- * @ param nPortIndex : Port index on which the config will
- * be applied.
- * @param bNotifyOnIncrease : Enable notification when reference
- * count is increased.
- * @ param bNotifyOnDecrease : Enable notification when reference
- * count is decreased.
- * @ param nCountForNotification : Count at which to trigger
- * notification. Count indicates no.
- * of copies of the buffer in
- * circulation e.g.
- * 1 - Only the original buffer is in
- * circulation i.e. no buffers are
- * currently locked.
- * 2 - There are two copies of the
- * buffer i.e. one original and
- * one copy which has been locked
- * by the codec.
- * And so on
- * SPECIAL CASE
- * 0 - Indicates notify always
- * irrespective of count value.
- */
-/*===============================================================*/
-typedef struct OMX_TI_CONFIG_BUFFERREFCOUNTNOTIFYTYPE
-{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bNotifyOnIncrease;
- OMX_BOOL bNotifyOnDecrease;
- OMX_U32 nCountForNotification;
-}OMX_TI_CONFIG_BUFFERREFCOUNTNOTIFYTYPE;
-
-
-
-
-
-/* OMX_TI_SEVERITYTYPE enumeration is used to indicate severity level of errors returned by TI OpenMax components.
- Critcal Requires reboot/reset DSP
- Severe Have to unload components and free memory and try again
- Major Can be handled without unloading the component
- Minor Essentially informational
-*/
-typedef enum OMX_TI_SEVERITYTYPE {
- OMX_TI_ErrorCritical=1,
- OMX_TI_ErrorSevere,
- OMX_TI_ErrorMajor,
- OMX_TI_ErrorMinor
-} OMX_TI_SEVERITYTYPE;
-
-/* ============================================================================= */
-/*
-@brief OMX_TI_PARAM_METADATABUFFERINFO : Structure to access metadata buffer info needed
- by proxy to allocate metadat buffers.
-
-*/
-/* ============================================================================= */
-typedef struct OMX_TI_PARAM_METADATABUFFERINFO {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bIsMetaDataEnabledOnPort;
- OMX_U32 nMetaDataSize;
-} OMX_TI_PARAM_METADATABUFFERINFO;
-
-/*******************************************************************
- * PRIVATE DECLARATIONS: defined here, used only here
- *******************************************************************/
-/*---------- data declarations ------------------- */
-/*---------- function prototypes ------------------- */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _OMX_TI_COMMON_H_ */
diff --git a/domx/omx_core/inc/OMX_TI_Core.h b/domx/omx_core/inc/OMX_TI_Core.h
deleted file mode 100755
index eb4993e..0000000
--- a/domx/omx_core/inc/OMX_TI_Core.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-/*
- * @file omx_ti_core.h
- * This file contains the vendor(TI) specific core extensions
- *
- * @path domx/system/omx_core/inc
- *
- * @rev 1.0
- */
-
-/*==============================================================
- *! Revision History
- *! ============================
- *! 19-Jul-2010 admonga@ti.com : Initial version
- *================================================================*/
-
-#ifndef _OMX_TI_CORE_H_
-#define _OMX_TI_CORE_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/******************************************************************
- INCLUDE FILES
- ******************************************************************/
-#include <OMX_Types.h>
-#include <OMX_Core.h>
-
-/*******************************************************************
- * EXTERNAL REFERENCE NOTE: only use if not found in header file
- *******************************************************************/
-/*---------- function prototypes ------------------- */
-/*---------- data declarations ------------------- */
-/*******************************************************************
- * PUBLIC DECLARATIONS: defined here, used elsewhere
- *******************************************************************/
-/*---------- function prototypes ------------------- */
-/*---------- data declarations ------------------- */
-
-
-
-typedef enum OMX_TI_ERRORTYPE
-{
- /* Vendor specific area for storing TI custom extended events */
-
- /*Control attribute is pending - Dio_Dequeue will not work until attribute
- is retreived*/
- OMX_TI_WarningAttributePending = (OMX_S32)((OMX_ERRORTYPE)OMX_ErrorVendorStartUnused + 1),
- /*Attribute buffer size is insufficient - reallocate the attribute buffer*/
- OMX_TI_WarningInsufficientAttributeSize,
- /*EOS buffer has been received*/
- OMX_TI_WarningEosReceived,
- /*Port enable is called on an already enabled port*/
- OMX_TI_ErrorPortIsAlreadyEnabled,
- /*Port disable is called on an already disabled port*/
- OMX_TI_ErrorPortIsAlreadyDisabled
-} OMX_TI_ERRORTYPE;
-
-
-
-typedef enum OMX_TI_EVENTTYPE
-{
- /* Vendor specific area for storing indices */
- /*Reference count for the buffer has changed. In the callback, nData1 will
- pBufferHeader, nData2 will be present count*/
- OMX_TI_EventBufferRefCount = (OMX_S32)((OMX_EVENTTYPE)OMX_EventVendorStartUnused + 1)
-}OMX_TI_EVENTTYPE;
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _OMX_TI_INDEX_H_ */
-
diff --git a/domx/omx_core/inc/OMX_TI_IVCommon.h b/domx/omx_core/inc/OMX_TI_IVCommon.h
deleted file mode 100755
index 84bcbac..0000000
--- a/domx/omx_core/inc/OMX_TI_IVCommon.h
+++ /dev/null
@@ -1,2657 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-/* -------------------------------------------------------------------------- *
- *
- * @file:OMX_TI_IVCommon.h
- * This header defines the structures specific to the config indices of msp_VPPM.
- *
- * @path ..\OMAPSW_SysDev\multimedia\omx\khronos1_1\omx_core\inc
- *
- * -------------------------------------------------------------------------- */
-
-/* ======================================================================== *!
- *! Revision History
- *! ==================================================================== */
-
-#ifndef OMX_TI_IVCommon_H
-#define OMX_TI_IVCommon_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#include <OMX_IVCommon.h>
-#include <OMX_Image.h>
-
-#define DCC_PATH "/data/misc/camera/"
-#define MAX_URI_LENGTH (OMX_MAX_STRINGNAME_SIZE)
-#define MAX_ALGOAREAS (35)
-
-/*======================================================================= */
-/* Enumerated values for operation mode for compressed image
- *
- * ENUMS:
- * Chunk : Chunk based operation
- * NonChunk : Non-chunk based operation
- */
- /* ======================================================================= */
-typedef enum OMX_JPEG_COMPRESSEDMODETYPE {
- OMX_JPEG_ModeChunk = 0,
- OMX_JPEG_ModeNonChunk
-}OMX_JPEG_COMPRESSEDMODETYPE ;
-
-
-/*======================================================================= */
-/* Enumerated values for operation mode for uncompressed image
- *
- * ENUMS:
- * Frame : Frame based operation
- * Slice : Slice based operation
- * Stitch : For stitching between image frames
- * Burst : For stitching between image frames
- */
- /* ======================================================================= */
-typedef enum OMX_JPEG_UNCOMPRESSEDMODETYPE {
- OMX_JPEG_UncompressedModeFrame = 0,
- OMX_JPEG_UncompressedModeSlice,
- OMX_JPEG_UncompressedModeStitch,
- OMX_JPEG_UncompressedModeBurst
-}OMX_JPEG_UNCOMPRESSEDMODETYPE;
-
-
-
-/*======================================================================= */
-/* Configuration structure for compressed image
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * eCompressedImageMode : Operating mode enumeration for compressed image
- */
- /*======================================================================= */
-typedef struct OMX_JPEG_PARAM_COMPRESSEDMODETYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_JPEG_COMPRESSEDMODETYPE eCompressedImageMode;
-}OMX_JPEG_PARAM_COMPRESSEDMODETYPE;
-
-
-
-/*======================================================================= */
-/* Uncompressed image Operating mode configuration structure
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nBurstLength : No of frames to be dumped in burst mode
- * eUncompressedImageMode : uncompressed image mode information
- * eSourceType : Image encode souce info
- * tRotationInfo : Rotation related information
- */
- /*======================================================================= */
-typedef struct OMX_JPEG_PARAM_UNCOMPRESSEDMODETYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nBurstLength;
- OMX_JPEG_UNCOMPRESSEDMODETYPE eUncompressedImageMode;
-}OMX_JPEG_PARAM_UNCOMPRESSEDMODETYPE;
-
-
-/*======================================================================= */
-/* Subregion Decode Parameter configuration structure
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nXOrg : Sectional decoding X origin
- * nYOrg : Sectional decoding Y origin
- * nXLength : Sectional decoding X length
- * nYLength : Sectional decoding Y length
- */
- /*======================================================================= */
-typedef struct OMX_IMAGE_PARAM_DECODE_SUBREGION{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nXOrg;
- OMX_U32 nYOrg;
- OMX_U32 nXLength;
- OMX_U32 nYLength;
-}OMX_IMAGE_PARAM_DECODE_SUBREGION;
-
-
-/**
- * sensor select types
- */
-typedef enum OMX_SENSORSELECT{
- OMX_PrimarySensor = 0,
- OMX_SecondarySensor,
- OMX_TI_StereoSensor,
- OMX_SensorTypeMax = 0x7fffffff
-}OMX_SENSORSELECT;
-
-/**
- *
- * Sensor Select
- */
-typedef struct OMX_CONFIG_SENSORSELECTTYPE {
-OMX_U32 nSize; /**< Size of the structure in bytes */
-OMX_VERSIONTYPE nVersion; /**< OMX specification version info */
-OMX_U32 nPortIndex; /**< Port that this struct applies to */
-OMX_SENSORSELECT eSensor; /**< sensor select */
-} OMX_CONFIG_SENSORSELECTTYPE;
-
-/**
- * Flicker cancellation types
- */
-typedef enum OMX_COMMONFLICKERCANCELTYPE{
- OMX_FlickerCancelOff = 0,
- OMX_FlickerCancelAuto,
- OMX_FlickerCancel50,
- OMX_FlickerCancel60,
- OMX_FlickerCancel100,
- OMX_FlickerCancel120,
- OMX_FlickerCancelMax = 0x7fffffff
-}OMX_COMMONFLICKERCANCELTYPE;
-
-typedef struct OMX_CONFIG_FLICKERCANCELTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_COMMONFLICKERCANCELTYPE eFlickerCancel;
-} OMX_CONFIG_FLICKERCANCELTYPE;
-
-
-/**
- * Sensor caleberation types
- */
-typedef enum OMX_SENSORCALTYPE{
- OMX_SensorCalFull = 0,
- OMX_SensorCalQuick,
- OMX_SensorCalMax = 0x7fffffff
-}OMX_SENSORCALTYPE;
-
-typedef struct OMX_CONFIG_SENSORCALTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_SENSORCALTYPE eSensorCal;
-} OMX_CONFIG_SENSORCALTYPE;
-
-/**
- * Scene mode types
- */
-typedef enum OMX_SCENEMODETYPE{
-
- OMX_Manual = 0,
- OMX_Closeup,
- OMX_Portrait,
- OMX_Landscape,
- OMX_Underwater,
- OMX_Sport,
- OMX_SnowBeach,
- OMX_Mood,
- OMX_NightPortrait,
- OMX_NightIndoor,
- OMX_Fireworks,
- OMX_Document, /**< for still image */
- OMX_Barcode, /**< for still image */
- OMX_SuperNight, /**< for video */
- OMX_Cine, /**< for video */
- OMX_OldFilm, /**< for video */
- OMX_TI_Action,
- OMX_TI_Beach,
- OMX_TI_Candlelight,
- OMX_TI_Night,
- OMX_TI_Party,
- OMX_TI_Portrait,
- OMX_TI_Snow,
- OMX_TI_Steadyphoto,
- OMX_TI_Sunset,
- OMX_TI_Theatre,
- OMX_SceneModeMax = 0x7fffffff
-}OMX_SCENEMODETYPE;
-
-typedef struct OMX_CONFIG_SCENEMODETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_SCENEMODETYPE eSceneMode;
-} OMX_CONFIG_SCENEMODETYPE;
-
- /**
- * Port specific capture trigger
- * useful for the usecases with multiple capture ports.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bExtCapturing : Start Captre at the specified port. Can be queried to know the status of a specific port.
- */
-typedef struct OMX_CONFIG_EXTCAPTURING {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bExtCapturing;
-} OMX_CONFIG_EXTCAPTURING;
-
-
- /**
- * Digital Zoom Speed
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nDigitalZoomSpeed : Optical zoom speed level. Special values:
- * 0 - stop current movement
- * values from 1 to 254 are mapped proportionally to supported zoom speeds inside optical zoom driver.
- * So 1 is slowest available optical zoom speed and 254 is fastest available optical zoom speed
- * 255 - default optical zoom speed value
- */
-typedef struct OMX_CONFIG_DIGITALZOOMSPEEDTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U8 nDigitalZoomSpeed;
-} OMX_CONFIG_DIGITALZOOMSPEEDTYPE;
-
-
- /**
- * Digital Zoom Target
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nDigitalZoomTarget : Default and minimum is 0. Maximum is determined by the current supported range
- */
-
-typedef struct OMX_CONFIG_DIGITALZOOMTARGETTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nDigitalZoomTarget;
-} OMX_CONFIG_DIGITALZOOMTARGETTYPE;
-
-
-/**
-* Scale quality enums
-*/
-typedef enum OMX_SCALEQUALITY{
- OMX_DefaultScaling = 0, /** <default scaling if nothing is specified > */
- OMX_BetterScaling, /** <better scaling> */
- OMX_BestScaling, /** <best scaling> */
- OMX_AutoScalingQuality, /** <auto scaling quality> */
- OMX_FastScaling, /** <fast scaling, prioritizes speed> */
- OMX_ScaleQualityMax = 0x7fffffff
-}OMX_SCALEQUALITY;
-
-/**
-* Scaling Quality Mode
-*/
-typedef enum OMX_SCALEQUALITYMODE{
- OMX_SingleFrameScalingMode = 0, /** <default > */
- OMX_MultiFrameScalingMode, /** <better scaling> */
- OMX_AutoScalingMode, /** <best scaling> */
- OMX_ScaleModeMax = 0x7fffffff
-}OMX_SCALEQUALITYMODE;
-
- /**
- * Rescale quality control type
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * eScaleQuality : controls the quality level.
- * eScaleQualityMode : controls the scaling algo types
- */
-typedef struct OMX_CONFIG_SCALEQUALITYTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_SCALEQUALITY eScaleQuality;
- OMX_SCALEQUALITYMODE eScaleQualityMode;
-} OMX_CONFIG_SCALEQUALITYTYPE;
-
-/**
-* Smooth Zoom mode enum
-* Starts or stops the Smooth Zoom. Selecting INCREASE will cause an increasing digital zoom factor (increased cropping),
-* with a shrinking viewable area and crop height percentage. Selecting DECREASE will cause a decreasing digital zoom (decreased cropping),
-* with a growing viewable area and crop height percentage. The CaptureCropHeight will continue to update based on the SmoothZoomRate until
-* the SmoothZoomMin or SmoothZoomMax zoom step is reached, the framework minimum zoom step is reached, the SmoothZoomRate becomes 0,
-* or the SmoothZoomMode is set to OFF.
-* NOTE: The message payload includes all parts of the message that is NOT part of the message header as listed for the CAM_SEND_DATA message.
-*/
-typedef enum OMX_SMOOTHZOOMMODE{
- OMX_Off=0, /**< default OFF */
- OMX_Increase,
- OMX_Decrease
-}OMX_SMOOTHZOOMMODE;
-
-
- /**
- * Rescale quality control type
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * eSmoothZoomMode : controls the smooth zoom feature.
- * nSmoothZoomRate : Values from 0 to 65535 which represents percentage to increase per second, where 65535 = 100%, and 0 = 0%.
- * nSmoothZoomQuantize:
- * nSmoothZoomThresh
- * nSmoothZoomMin
- * nSmoothZoomMax
- */
-typedef struct OMX_CONFIG_SMOOTHZOOMTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_SMOOTHZOOMMODE eSmoothZoomMode;
- OMX_U32 nSmoothZoomRate;
- OMX_U32 nSmoothZoomQuantize;
- OMX_U32 nSmoothZoomThresh;
- OMX_U32 nSmoothZoomMin;
- OMX_U32 nSmoothZoomMax;
-} OMX_CONFIG_SMOOTHZOOMTYPE;
-
-/**
- * Enumeration of possible Extended image filter types for OMX_CONFIG_IMAGEFILTERTYPE
- */
-typedef enum OMX_EXTIMAGEFILTERTYPE {
- OMX_ImageFilterSepia = 0x7F000001,
- OMX_ImageFilterGrayScale,
- OMX_ImageFilterNatural,
- OMX_ImageFilterVivid,
- OMX_ImageFilterColourSwap,
- OMX_ImageFilterOutOfFocus,
- OMX_ImageFilterWaterColour,
- OMX_ImageFilterPastel,
- OMX_ImageFilterFilm,
- OMX_TI_ImageFilterBlackWhite,
- OMX_TI_ImageFilterWhiteBoard,
- OMX_TI_ImageFilterBlackBoard,
- OMX_TI_ImageFilterAqua,
- OMX_TI_ImageFilterPosterize
-} OMX_EXTIMAGEFILTERTYPE;
-
-
-/**
- * Image filter configuration extended
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bBlemish : Enable/Disable Blemish correction
- */
-typedef struct OMX_CONFIG_BLEMISHTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bBlemish;
-} OMX_CONFIG_BLEMISHTYPE;
-
-/**
- * Enumeration of Bracket types
- * OMX_BracketExposureRelativeInEV:
- * Exposure value is changed relative to the value set by automatic exposure.
- * nBracketStartValue and nBracketStep are in Q16. Increment is additive.
- * OMX_BracketExposureAbsoluteMs:
- * Exposure value is changed in absolute value in ms.
- * nBracketStartValue and nBracketStep are in Q16. Increment is multiplicative.
- * OMX_BracketFocusRelative:
- * Focus is adjusted relative to the focus set by auto focus.
- * The value is S32 integer, and is the same as adjusting nFocusSteps of OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE relatively.
- * Increment is additive.
- * OMX_BracketFocusAbsolute:
- * Focus position is adjusted absolutely. It is the same as setting nFocusSteps of
- * OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE relatively for each captures.
- * The value should be interpreted as U32 value. Increment is additive.
- * OMX_BracketFlashPower:
- * Power of flash is adjusted relative to the automatic level. Increment is multiplicative.
- * OMX_BracketAperture:
- * Aperture number relative to the automatic setting. Data in Q16 format. Increment is multiplicative.
- * OMX_BracketTemporal:
- * To suppport temporal bracketing.
- */
-typedef enum OMX_BRACKETMODETYPE {
- OMX_BracketExposureRelativeInEV = 0,
- OMX_BracketExposureAbsoluteMs,
- OMX_BracketFocusRelative,
- OMX_BracketFocusAbsolute,
- OMX_BracketFlashPower,
- OMX_BracketAperture,
- OMX_BracketTemporal,
- OMX_BrackerTypeKhronosExtensions = 0x6f000000,
- OMX_BrackerTypeVendorStartUnused = 0x7f000000,
- OMX_BracketTypeMax = 0x7FFFFFFF
-} OMX_BRACKETMODETYPE;
-
-typedef struct OMX_CONFIG_BRACKETINGTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BRACKETMODETYPE eBracketMode;
- OMX_U32 nNbrBracketingValues;
- OMX_S32 nBracketValues[10]; /**< 10 can be assumed */
-} OMX_CONFIG_BRACKETINGTYPE;
-
-
-/**
- * Capture mode types
- * Note: this list could get extended modified based on the type of interenal use-case pipelines implemented within the camera component.
- *
- * OMX_CaptureImageHighSpeedBurst = 0,
- * OMX_CaptureImageHighSpeedTemporalBracketing,
- * OMX_CaptureImageProfileBase(Base):
- * Base one almost same as Highspeed one.
- * OMX_CaptureImageProfileLowLight1(LL1):
- * Includes NSF2 in addition to Base processing
- * OMX_CaptureImageProfileLowLight2(LL2):
- * Includes NSF2 and LBCE in addition to Base processing.
- * OMX_CaptureImageProfileOpticalCorr1(OC1):
- * Includes LDC in addition to Base processing.
- * OMX_CaptureImageProfileOpticalCorr2(OC2):
- * Includes LDC and CAC in addition to Base processing.
- * OMX_CaptureImageProfileExtended1(Ext1):
- * Includes NSF2, LBCE, LDC, and CAC in addition to Base
- * OMX_CaptureStereoImageCapture:
- * Stereo image capture use-case.
- * OMX_CaptureImageMemoryInput:
- * need to take sensor input from INPUT port.
- * OMX_CaptureVideo:
- * OMX_CaptureHighSpeedVideo:
- * OMX_CaptureVideoMemoryInput:
- *
- */
-typedef enum OMX_CAMOPERATINGMODETYPE {
- OMX_CaptureImageHighSpeedBurst = 0,
- OMX_CaptureImageHighSpeedTemporalBracketing,
- OMX_CaptureImageProfileBase,
- OMX_CaptureImageProfileLowLight1,
- OMX_CaptureImageProfileLowLight2,
- OMX_CaptureImageProfileOpticalCorr1,
- OMX_CaptureImageProfileOpticalCorr2,
- OMX_CaptureImageProfileExtended1,
- OMX_CaptureStereoImageCapture,
- OMX_CaptureImageMemoryInput,
- OMX_CaptureVideo,
- OMX_CaptureHighSpeedVideo,
- OMX_CaptureVideoMemoryInput,
- OMX_TI_CaptureDummy,
- OMX_TI_CaptureGestureRecognition,
- OMX_TI_CaptureImageProfileZeroShutterLag,
- OMX_CamOperatingModeMax = 0x7fffffff
-} OMX_CAMOPERATINGMODETYPE;
-/**
- * Capture mode setting: applicable to multi shot capture also including bracketing.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * eCamOperatingMode : specifies the camera operating mode.
- */
-typedef struct OMX_CONFIG_CAMOPERATINGMODETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_CAMOPERATINGMODETYPE eCamOperatingMode;
-} OMX_CONFIG_CAMOPERATINGMODETYPE;
-
-
-/**
- * Capture mode setting: applicable to multi shot capture also including bracketing.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nFrameRate : when bContinuous is FALSE, need to define the frame rate of the muti-shot scenario. Since this would be applicable to IMAGE domain port, there is no port specific frame rate.
- * nFrameBefore :
- * is specifying how many frames before the capture trigger shall be used.
- * It is implementation dependent how many is supported. This shall only be supported for images and not for video frames.
- * bPrepareCapture :
- * should be set to true when nFrameBefore is greater than zero and before capturing of before-frames should start.
- * The component is not allowed to deliver buffers until capturing starts. This shall only be supported for images and not for video frames.
- * bEnableBracketing :
- * should be enabled when bracketing is used. In bracketing mode, one parameter can be changed per each capture.
- * tBracketConfigType :
- * specifies bracket mode to use. Valid only when bEnableBracketing is set.
- */
-typedef struct OMX_CONFIG_EXTCAPTUREMODETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nFrameRate;
- OMX_U32 nFrameBefore;
- OMX_BOOL bPrepareCapture;
- OMX_BOOL bEnableBracketing;
- OMX_CONFIG_BRACKETINGTYPE tBracketConfigType;
-} OMX_CONFIG_EXTCAPTUREMODETYPE;
-
-/**
- * For Extended Focus region Type -
- */
-typedef struct OMX_CONFIG_EXTFOCUSREGIONTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nRefPortIndex;
- OMX_S32 nLeft;
- OMX_S32 nTop;
- OMX_U32 nWidth;
- OMX_U32 nHeight;
-} OMX_CONFIG_EXTFOCUSREGIONTYPE;
-
-/**
- * Digital Flash Control
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bDigitalFlash : Digital flash type Enable/Disable -
- * Specifies whether the digital flash algorithm is enabled or disabled. This overrides the contrast and brightness settings.
- */
-typedef struct OMX_CONFIG_DIGITALFLASHTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bDigitalFlash;
-} OMX_CONFIG_DIGITALFLASHTYPE;
-
-
-
-/**
- * Privacy Indicator Enable/Disable
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bPrivacyIndicator :
- * Specifies whether the flash should be used to indicate image or video capture. When flash is not used for exposure,
- * flash will be activated after exposure to indicate image capture.
- * If video light is not used, the flash can be blinking or constant at low intensity to indicate capture but not affect exposure.
- * Specifies whether the digital flash algorithm is enabled or disabled. This overrides the contrast and brightness settings.
- */
-typedef struct OMX_CONFIG_PRIVACYINDICATOR {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bPrivacyIndicator;
-} OMX_CONFIG_PRIVACYINDICATOR;
-
-
-/**
- * Privacy Indicator Enable/Disable
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bTorchMode :
- * Enable/Disable
- * nIntensityLevel : relative intensity from 0 - 100
- * nDuration : duration in msec
- */
-typedef struct OMX_CONFIG_TORCHMODETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bTorchMode;
- OMX_U32 nIntensityLevel;
- OMX_U32 nDuration;
-} OMX_CONFIG_TORCHMODETYPE;
-
-
-
-/**
- * Privacy Indicator Enable/Disable
- * DISABLE - Fire the xenon flash in the usual manner
- * ENABLE - Reduce the light intensity of the main flash (ex 1EV)
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bSlowSync :
- * Enable - OMX_TRUE/Disable - OMX_FALSE
- */
-typedef struct OMX_CONFIG_SLOWSYNCTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bSlowSync;
-} OMX_CONFIG_SLOWSYNCTYPE;
-
-
-/**
- * Focus control extended enums. use this along with OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE
- */
-typedef enum OMX_IMAGE_EXTFOCUSCONTROLTYPE {
- OMX_IMAGE_FocusControlAutoMacro = 0x7F000001, /**< Reserved region for introducing Vendor Extensions */
- OMX_IMAGE_FocusControlAutoInfinity,
- OMX_IMAGE_FocusControlHyperfocal,
- OMX_IMAGE_FocusControlPortrait, /**< from Xena */
- OMX_IMAGE_FocusControlExtended, /**< from Xena */
- OMX_IMAGE_FocusControlContinousNormal, /**< from Xena */
- OMX_IMAGE_FocusControlContinousExtended /**< from Xena */
-} OMX_IMAGE_EXTFOCUSCONTROLTYPE;
-
-
-
-/**
- * Specifies whether the LED can be used to assist in autofocus, due to low lighting conditions.
- * ENABLE means use as determined by the auto exposure algorithm.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bFocusAssist :
- * Enable - OMX_TRUE/Disable - OMX_FALSE
- */
-typedef struct OMX_CONFIG_FOCUSASSISTTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bFocusAssist;
-} OMX_CONFIG_FOCUSASSISTTYPE;
-
-
-
-/**
- *for locking the focus
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bFocusLock :
- * Enable - OMX_TRUE/Disable - OMX_FALSE
- */
-typedef struct OMX_CONFIG_FOCUSLOCKTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bFocusLock;
-} OMX_CONFIG_FOCUSLOCKTYPE;
-
-
-/**
- *for locking the White balance
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bWhiteBalanceLock :
- * Enable - OMX_TRUE/Disable - OMX_FALSE
- */
-typedef struct OMX_CONFIG_WHITEBALANCELOCKTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bWhiteBalanceLock;
-} OMX_CONFIG_WHITEBALANCELOCKTYPE;
-
-/**
- *for locking the Exposure
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bExposureLock :
- * Enable - OMX_TRUE/Disable - OMX_FALSE
- */
-typedef struct OMX_CONFIG_EXPOSURELOCKTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bExposureLock;
-} OMX_CONFIG_EXPOSURELOCKTYPE;
-
-/**
- *for locking the Exposure
- * Simultaneously lock focus, white balance and exposure (and relevant other settings).
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bAllLock :
- * Enable - OMX_TRUE/Disable - OMX_FALSE
- */
-typedef struct OMX_CONFIG_ALLLOCKTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bAllLock;
-} OMX_CONFIG_ALLLOCKTYPE;
-
-/**
- *for locking
- * Simultaneously lock focus, white balance and exposure (and relevant other settings).
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bLock :
- * Enable - OMX_TRUE/Disable - OMX_FALSE
- * bAtCapture:
- *
- */
-typedef struct OMX_IMAGE_CONFIG_LOCKTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bLock;
- OMX_BOOL bAtCapture;
-} OMX_IMAGE_CONFIG_LOCKTYPE;
-
-/**
- * processig level types enum
- */
-typedef enum OMX_PROCESSINGLEVEL{
- OMX_Min = 0,
- OMX_Low,
- OMX_Medium,
- OMX_High,
- OMX_Max,
- OMX_ProcessingLevelMax = 0x7fffffff
-}OMX_PROCESSINGLEVEL;
-
-/**
- *processing level type
- * Simultaneously lock focus, white balance and exposure (and relevant other settings).
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nLevel :
- * nLevel hinting processing amount. Range of values is -100 to 100.
- * 0 causes no change to the image. Increased values cause increased processing to occur, with 100 applying maximum processing.
- * Negative values have the opposite effect of positive values.
- * bAuto:
- * sets if the processing should be applied according to input data.
- It is allowed to combine the hint level with the auto setting,
- * i.e. to give a bias to the automatic setting. When set to false, the processing should not take input data into account.
- */
-
-typedef struct OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE {
-OMX_U32 nSize;
-OMX_VERSIONTYPE nVersion;
-OMX_U32 nPortIndex;
-OMX_S32 nLevel;
-OMX_BOOL bAuto;
-} OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE;
-
-
-/**
- * White Balance control type extended enums - to be used along with the structure @OMX_CONFIG_WHITEBALCONTROLTYPE
- *
- *
- *
- */
-typedef enum OMX_EXTWHITEBALCONTROLTYPE {
- OMX_WhiteBalControlFacePriorityMode = OMX_WhiteBalControlVendorStartUnused + 1, /**< */
- OMX_TI_WhiteBalControlSunset,
- OMX_TI_WhiteBalControlShade,
- OMX_TI_WhiteBalControlTwilight,
- OMX_TI_WhiteBalControlWarmFluorescent
-} OMX_EXTWHITEBALCONTROLTYPE;
-
-/**
- *white balance gain type
- * xWhiteBalanceGain and xWhiteBalanceOffset represents gain and offset for R, Gr, Gb, B channels respectively in Q16 format. \
- * For example, new red pixel value = xWhiteBalanceGain[1]* the current pixel value + xWhiteBalanceOffset[1].
- * All values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally.
- * nWhiteThreshhold represents thresholds for "white" area measurments in Q16 format.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- *
- */
-typedef struct OMX_CONFIG_WHITEBALGAINTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_S32 xWhiteBalanceGain[4];
- OMX_S32 xWhiteBalanceOffset[4];
- OMX_S32 nWhiteThreshhold[4];
-} OMX_CONFIG_WHITEBALGAINTYPE;
-
-/**
- * This structure represents linear color conversion from one space to another. For example, to conversion from one RGB color into another RGB color space can be represented as
- * R' = xColorMatrix[1][1]*R + xColorMatrix[1][2]*G + xColorMatrix[1][3]*B + xColorOffset[1]
- * G' = xColorMatrix[2][1]*R + xColorMatrix[2][2]*G + xColorMatrix[2][3]*B + xColorOffset[2]
- * B' = xColorMatrix[3][1]*R + xColorMatrix[3][2]*G + xColorMatrix[3][3]*B + xColorOffset[3]
- * Both xColorMatrix and xColorOffset are represented as Q16 value.
- * bFullColorRange represents represents whether valid range of color is 0 to 255 (when set to TRUE) or 16 to 235 (for FALSE).
- * Again all values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally.
- *
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- *
- */
-typedef struct OMX_CONFIG_EXT_COLORCONVERSIONTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_S32 xColorMatrix[3][3];
- OMX_S32 xColorOffset[3];
- OMX_BOOL bFullColorRange;
-}OMX_CONFIG_EXT_COLORCONVERSIONTYPE;
-
-
-/**
- * xGamma represents lool-up table for gamma correction in Q16 format.
- * All values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally.
- *
- *
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- *
- */
-typedef struct OMX_CONFIG_GAMMATABLETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 xGamma[3][256];
-}OMX_CONFIG_GAMMATABLETYPE;
-
-
-
-/**
- * processig types
- */
-typedef enum OMX_PROCESSINGTYPE{
- OMX_BloomingReduction = 0,
- OMX_Denoise,
- OMX_Sharpening,
- OMX_Deblurring,
- OMX_Demosaicing,
- OMX_ContrastEnhancement,
- OMX_ProcessingTypeMax = 0x7fffffff
-}OMX_PROCESSINGTYPE;
-
-
-typedef struct OMX_CONFIGPROCESSINGORDERTYPE {
-OMX_U32 nSize; /**< Size of the structure in bytes */
-OMX_VERSIONTYPE nVersion; /**< OMX specification version info */
-OMX_U32 nPortIndex; /**< Port that this struct applies to */
-OMX_U32 nIndex;
-OMX_PROCESSINGTYPE eProc;
-} OMX_CONFIGPROCESSINGORDERTYPE;
-
-/**
- * HIST TYPE
- */
-typedef enum OMX_HISTTYPE{
- OMX_HistControlLuminance = 0, /**< Luminance histogram is calculated (Y)*/
- OMX_HistControlColorComponents, /**< A histogram per color component (R, G, B) is calculated*/
- OMX_HistControlChrominanceComponents /**< A histogram per chrominance component (Cb, Cr) is calculated.*/
-}OMX_HISTTYPE;
-
-/**
- * Histogram Setting
- * nPortIndex is an output port. The port index decides on which port the extra data structur is sent on.
- * bFrameLimited is a Boolean used to indicate if measurement shall be terminated after the specified number of
- * frames if true frame limited measurement is enabled; otherwise the port does not terminate measurement until
- * instructed to do so by the client.
- * nFrameLimit is the limit on number of frames measured, this parameter is only valid if bFrameLimited is enabled.
- * bMeasure is a Boolean that should be set to true when measurement shall begin, otherwise set to false. Query will give status information on if measurement is ongoing or not.
- * nBins specifies the number of histogram bins. When queried with set to zero, the respons gives the maximum number of bins allowed.
- * nLeft is the leftmost coordinate of the measurement area rectangle.
- * nTop is the topmost coordinate of the measurement area rectangle.
- * nWidth is the width of the measurement area rectangle in pixels.
- * nHeight is the height of the measurement area rectangle in pixels.
- * eHistType is an enumeration specifying the histogram type
- *
- *
- */
-
-typedef struct OMX_CONFIG_HISTOGRAMTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bFrameLimited;
- OMX_U32 nFrameLimit;
- OMX_BOOL bMeasure;
- OMX_U32 nBins;
- OMX_S32 nLeft;
- OMX_S32 nTop;
- OMX_U32 nWidth;
- OMX_U32 nHeight;
- OMX_HISTTYPE eHistType;
-} OMX_CONFIG_HISTOGRAMTYPE;
-
-/**
- * Enums for HIST component type.
- */
-typedef enum OMX_HISTCOMPONENTTYPE{
- OMX_HISTCOMP_Y = 0, /**< Luminance histogram (Y) */
- OMX_HISTCOMP_YLOG, /**< Logarithmic luminance histogram (Y)*/
- OMX_HISTCOMP_R, /**< Red histogram component (R)*/
- OMX_HISTCOMP_G, /**< Green histogram component (G)*/
- OMX_HISTCOMP_B, /**< Blue histogram component (B)*/
- OMX_HISTCOMP_Cb, /**< Chroma blue histogram component (Cb)*/
- OMX_HISTCOMP_Cr /**< Chroma red histogram component (Cr) */
-}OMX_HISTCOMPONENTTYPE;
-
- /**
- * The OMX_TI_CAMERAVIEWTYPE enumeration is used to identify the
- * particular camera view that the rest of the data in the structure is
- * associated with.
- */
-typedef enum OMX_TI_CAMERAVIEWTYPE
-{
- OMX_2D, /**< Camera view in 2D sensor configuration */
- OMX_Left, /**< Left camera view in stereo sensor configuration */
- OMX_Right, /**< Right camera view in stereo sensor configuration */
- OMX_TI_CAMERAVIEWTYPE_32BIT_PATCH = 0x7FFFFFFF
-} OMX_TI_CAMERAVIEWTYPE;
-/**
- * nSize is the size of the structure including the length of data field containing
- * the histogram data.
- * nBins is the number of bins in the histogram.
- * eComponentType specifies the type of the histogram bins according to enum.
- * It can be selected to generate multiple component types, then the extradata struct
- * is repeated for each component type.
- * data[1] first byte of the histogram data
- */
-typedef struct OMX_HISTOGRAMTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_U32 nBins;
- OMX_HISTCOMPONENTTYPE eComponentType;
- OMX_U8 data[1];
-} OMX_HISTOGRAMTYPE;
-
-#define OMX_OTHER_EXTRADATATYPE_SIZE ( (OMX_U32)(((OMX_OTHER_EXTRADATATYPE*)0x0)->data) ) /**< Size of OMX_OTHER_EXTRADATATYPE**/
-/**
- * The extra data having ancillary data is described with the following structure.
- * This data contains single flags and values
- * (not arrays) that have general usage for camera applications.
- */
-typedef struct OMX_TI_ANCILLARYDATATYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_U32 nAncillaryDataVersion;
- OMX_U32 nFrameNumber;
- OMX_U32 nShotNumber;
- OMX_U16 nInputImageHeight;
- OMX_U16 nInputImageWidth;
- OMX_U16 nOutputImageHeight;
- OMX_U16 nOutputImageWidth;
- OMX_U16 nDigitalZoomFactor;
- OMX_S16 nCropCenterColumn;
- OMX_S16 nCropCenterRow;
- OMX_U16 nOpticalZoomValue;
- OMX_U8 nFlashConfiguration;
- OMX_U8 nFlashUsage;
- OMX_U32 nFlashStatus;
- OMX_U8 nAFStatus;
- OMX_U8 nAWBStatus;
- OMX_U8 nAEStatus;
- OMX_U32 nExposureTime;
- OMX_U16 nEVCompensation;
- OMX_U8 nDigitalGainValue;
- OMX_U8 nAnalogGainValue;
- OMX_U16 nCurrentISO;
- OMX_U16 nReferenceISO;
- OMX_U8 nApertureValue;
- OMX_U8 nPixelRange;
- OMX_U16 nPixelAspectRatio;
- OMX_U8 nCameraShake;
- OMX_U16 nFocalDistance;
- OMX_U64 nParameterChangeFlags;
- OMX_U8 nNumFacesDetected;
- OMX_U8 nConvergenceMode;
- OMX_U8 nConvergenceStatus;
- OMX_U8 nDCCStatus;
-} OMX_TI_ANCILLARYDATATYPE;
-
-typedef struct OMX_TI_WHITEBALANCERESULTTYPE {
- OMX_U32 nSize; /**< Size */
- OMX_VERSIONTYPE nVersion; /**< Version */
- OMX_U32 nPortIndex; /**< Port Index */
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_U16 nColorTemperature; /**< White Balance Color Temperature in Kelvins */
- OMX_U16 nGainR; /**< Bayer applied R color channel gain in (U13Q9) */
- OMX_U16 nGainGR; /**< Bayer applied Gr color channel gain in (U13Q9) */
- OMX_U16 nGainGB; /**< Bayer applied Gb color channel gain in (U13Q9) */
- OMX_U16 nGainB; /**< Bayer applied B color channel gain in (U13Q9) */
- OMX_S16 nOffsetR; /**< Bayer applied R color channel offset */
- OMX_S16 nOffsetGR; /**< Bayer applied Gr color channel offset */
- OMX_S16 nOffsetGB; /**< Bayer applied Gb color channel offset */
- OMX_S16 nOffsetB; /**< Bayer applied B color channel offset */
-} OMX_TI_WHITEBALANCERESULTTYPE;
-
-/**
- * Unsaturated Regions data
- * The extra data having unsaturated regions data is
- * described with the following structure..
- */
-typedef struct OMX_TI_UNSATURATEDREGIONSTYPE {
- OMX_U32 nSize; /**< Size */
- OMX_VERSIONTYPE nVersion; /**< Version */
- OMX_U32 nPortIndex; /**< Port Index */
- OMX_U16 nPaxelsX; /**< The number of paxels in the horizontal direction */
- OMX_U16 nPaxelsY; /**< The number of paxels in the vertical direction */
- OMX_U16 data[1]; /**< the first value of an array of values that represent */
-} OMX_TI_UNSATURATEDREGIONSTYPE;
-
-/**
- * OMX_BARCODETYPE
- */
-typedef enum OMX_BARCODETYPE{
- OMX_BARCODE1D = 0, /**< 1D barcode */
- OMX_BARCODE2D, /**< 2D barcode */
-}OMX_BARCODETYPE;
-/**
- * Brcode detection data
- * nLeft is the leftmost coordinate of the detected area rectangle.
- * nTop is the topmost coordinate of the detected area rectangle.
- * nWidth is the width of the detected area rectangle in pixels.
- * nHeight is the height of the detected area rectangle in pixels.
- * nOrientation is the orientation of the axis of the detected object. This refers to the angle between the vertical axis of barcode and the horizontal axis.
- * eBarcodetype is an enumeration specifying the barcode type, as listed in the given table.
- */
-typedef struct OMX_BARCODEDETECTIONTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_S32 nLeft;
- OMX_S32 nTop;
- OMX_U32 nWidth;
- OMX_U32 nHeight;
- OMX_S32 nOrientation;
- OMX_BARCODETYPE eBarcodetype;
- } OMX_BARCODEDETECTIONTYPE;
-
-/**
- * Front object detection data
- * nLeft is the leftmost coordinate of the detected area rectangle.
- * nTop is the topmost coordinate of the detected area rectangle.
- * nWidth is the width of the detected area rectangle in pixels.
- * nHeight is the height of the detected area rectangle in pixels.
- */
-typedef struct OMX_FRONTOBJDETECTIONTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_S32 nLeft;
- OMX_S32 nTop;
- OMX_U32 nWidth;
- OMX_U32 nHeight;
-} OMX_FRONTOBJDETECTIONTYPE;
-
-/**
- * Distance estimation data
- * nDistance is the estimated distance to the object in millimeters.
- * nLargestDiscrepancy is the estimated largest discrepancy of the distance to the object in millimeters. When equal to MAX_INT the discrepancy is unknown.
- */
-typedef struct OMX_DISTANCEESTIMATIONTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_U32 nDistance;
- OMX_U32 nLargestDiscrepancy;
-} OMX_DISTANCEESTIMATIONTYPE;
-
-/**
- * Distance estimation data
- * nDistance is the estimated distance to the object in millimeters.
- * nLargestDiscrepancy is the estimated largest discrepancy of the distance to the object in millimeters. When equal to MAX_INT the discrepancy is unknown.
- */
-
-typedef struct OMX_MOTIONESTIMATIONTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_S32 nPanX;
- OMX_S32 nPanY;
-} OMX_MOTIONESTIMATIONTYPE;
-
-
-/**
- * Focus region data
- * nRefPortIndex is the port the image frame size is defined on. This image frame size is used as reference for the focus region rectangle.
- * nLeft is the leftmost coordinate of the focus region rectangle.
- * nTop is the topmost coordinate of the focus region rectangle.
- * nWidth is the width of the focus region rectangle in pixels.
- * nHeight is the height of the focus region rectangle in pixels.
- *
- */
-typedef struct OMX_FOCUSREGIONTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_U32 nRefPortIndex;
- OMX_S32 nLeft;
- OMX_S32 nTop;
- OMX_U32 nWidth;
- OMX_U32 nHeight;
-} OMX_FOCUSREGIONTYPE;
-
-/**
- * OMX_ISOSETTINGTYPE: specifies its auto or manual setting
- *
- */
-typedef enum OMX_ISOSETTINGTYPE{
- OMX_Auto = 0, /**< */
- OMX_IsoManual /**< */
-}OMX_ISOSETTINGTYPE;
-
-/**
- * nSize is the size of the structure including the length of data field containing
- * the histogram data.
- * eISOMode:
- * specifies the ISO seetting mode - auto/manual
- * nISOSetting:
- * for manual mode client can specify the ISO setting.
- */
-
-typedef struct OMX_CONFIG_ISOSETTINGTYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_ISOSETTINGTYPE eISOMode;
- OMX_U32 nISOSetting;
-}OMX_CONFIG_ISOSETTINGTYPE;
-
-/**
- * custom RAW format
- */
-typedef struct OMX_CONFIG_RAWFORMATTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VERSIONTYPE nFormatVersion;
- OMX_STRING cVendorName;
-} OMX_CONFIG_RAWFORMATTYPE;
-
-/**
- * Sensor type
- */
-typedef struct OMX_CONFIG_SENSORTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VERSIONTYPE nSensorVersion;
- OMX_STRING cModelName;
-} OMX_CONFIG_SENSORTYPE;
-
-/**
- * Sensor custom data type
- */
-typedef struct OMX_CONFIG_SENSORCUSTOMDATATYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nDataLength;
- OMX_U8 xSensorData[1];
-} OMX_CONFIG_SENSORCUSTOMDATATYPE;
-
-/**
- * OMX_OBJDETECTQUALITY
- *
- */
-typedef enum OMX_OBJDETECTQUALITY{
- OMX_FastDetection = 0, /**< A detection that prioritizes speed*/
- OMX_Default, /**< The default detection, should be used when no control of the detection quality is given.*/
- OMX_BetterDetection, /**< A detection that levels correct detection with speed*/
- OMX_BestDtection, /**< A detection that prioritizes correct detection*/
- OMX_AUTODETECTION /**< Automatically decide which object detection quality is best.*/
-}OMX_OBJDETECTQUALITY;
-
-/**
- * OBJECT DETECTION Type
- * nPortIndex: is an output port. The port index decides on which port the extra data structur of detected object is sent on.
- * bEnable : this controls ON/OFF for this object detection algirithm.
- * bFrameLimited: is a Boolean used to indicate if detection shall be terminated after the specified number of frames if
- * true frame limited detection is enabled; otherwise the port does not terminate detection until instructed to do so by the client.
- * nFrameLimit: is the limit on number of frames detection is executed for, this parameter is only valid if bFrameLimited is enabled.
- * nMaxNbrObjects: specifies the maximum number of objects that should be found in each frame. It is implementation dependent which objects are found.
- * nLeft: is the leftmost coordinate of the detection area rectangle.
- * nTop: is the topmost coordinate of the detection area rectangle.
- * nWidth: is the width of the detection area rectangle in pixels.
- * nHeight: is the height of the detection area rectangle in pixels.
- * eObjDetectQuality: is an enumeration specifying the quality desired by the detection.
- * nPriority: represents priority of each object when there are multiple objects detected.
- */
-
-typedef struct OMX_CONFIG_OBJDETECTIONTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bEnable;
- OMX_BOOL bFrameLimited;
- OMX_U32 nFrameLimit;
- OMX_U32 nMaxNbrObjects;
- OMX_S32 nLeft;
- OMX_S32 nTop;
- OMX_U32 nWidth;
- OMX_U32 nHeight;
- OMX_OBJDETECTQUALITY eObjDetectQuality;
- OMX_U32 nPriority;
- OMX_U32 nDeviceOrientation;
- } OMX_CONFIG_OBJDETECTIONTYPE;
-
-
-/**
- * OMX_OBJDETECTQUALITY
- *
- */
-typedef enum OMX_DISTTYPE{
- OMX_DistanceControlFocus = 0, /**< focus objects distance type*/
- OMX_DISTANCECONTROL_RECT /**< Evaluated distance to the object found in the rectangelar area indicated as input region. */
-}OMX_DISTTYPE;
-
-
-/**
- * Distance mesurement
- * bStarted is a Boolean. The IL client sets it to true to start the measurement .
- * the IL client sets to false to stop the measurement. The IL client can query it to check if the measurement is ongoing.
- * nLeft : is the leftmost coordinate of the rectangle.
- * nTop : is the topmost coordinate of the rectangle.
- * nWidth: is the width of the rectangle in pixels.
- * nHeight: is the height of the rectangle in pixels.
- * eDistType: is an enumeration specifying the distance measurement type, as shown in
- */
-typedef struct OMX_CONFIG_DISTANCETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bStarted;
- OMX_S32 nLeft;
- OMX_S32 nTop;
- OMX_U32 nWidth;
- OMX_U32 nHeight;
- OMX_DISTTYPE eDistType;
-} OMX_CONFIG_DISTANCETYPE;
-
-
-/**
- * face detect data - face attribute
- * nARGBEyeColor: is the indicates a 32-bit eye color of the person, where bits 0-7 are blue,
- * bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha.
- * nARGBSkinColor: is the indicates a 32-bit skin color of the person, where bits 0-7 are blue,
- * bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha.
- * nARGBHairColor: is the indicates a 32-bit hair color of the person, where bits 0-7 are blue,
- * bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha.
- * nSmileScore: a smile detection score between 0 and 100, where 0 means not detecting,
- * 1 means least certain and 100 means most certain a smile is detected.
- * nBlinkScore: a eye-blink detection score between 0 and 100, where 0 means not detecting,
- * 1 means least certain and 100 means most certain an eye-blink is detected.
- * xIdentity: represents the identity of the face. With identity equal to zero this is not supported.
- * This can be used by a face recognition application. The component shall not reuse an identity value unless the same face.
- * Can be used to track detected faces when it moves between frames. Specific usage of this field is implementation dependent.
- * It can be some kind of ID.
- *
- */
-typedef struct OMX_FACEATTRIBUTE {
- OMX_U32 nARGBEyeColor;
- OMX_U32 nARGBSkinColor;
- OMX_U32 nARGBHairColor;
- OMX_U32 nSmileScore;
- OMX_U32 nBlinkScore;
- OMX_U32 xIdentity[4];
-} OMX_FACEATTRIBUTE;
-
-/**
- * xGamma represents lool-up table for gamma correction in Q16 format.
- * All values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally.
- *
- *
- *
- * STRUCT MEMBERS:
- * nScore: is a detection score between 0 and 100, where 0 means unknown score, 1 means least certain and 100 means most certain the detection is correct.
- * nLeft: is the leftmost coordinate of the detected area rectangle.
- * nTop: is the topmost coordinate of the detected area rectangle.
- * nWidth: is the width of the detected area rectangle in pixels.
- * nHeight: is the height of the detected area rectangle in pixels.
- * nOrientationRoll/Yaw/Pitch is the orientation of the axis of the detected object. Here roll angle is defined as the angle between the vertical axis of face and the horizontal axis. All angles can have the value of -180 to 180 degree in Q16 format. Some face detection algorithm may not be able to fill in the angles, this is denoted by the use of MAX_INT value.
- * nPriority represents priority of each object when there are multiple objects detected.
- * nFaceAttr describe the attributes of the detected face object with the following structure:
- *
- *
- */
-typedef struct OMX_TI_FACERESULT {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_U32 nScore;
- OMX_S32 nLeft;
- OMX_S32 nTop;
-OMX_U32 nWidth;
-OMX_U32 nHeight;
-OMX_S32 nOrientationRoll;
-OMX_S32 nOrientationYaw;
-OMX_S32 nOrientationPitch;
-OMX_U32 nPriority;
-OMX_FACEATTRIBUTE nFaceAttr;
-} OMX_TI_FACERESULT;
-
-
-/**
- * Face detection data
- * The extra data having face detection data is described with the following structure.
- * The parser should only assume that the first tFacePosition[ulFaceCount] of the 35 elements
- * of the array should contain valid data.
- */
-typedef struct OMX_FACEDETECTIONTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_U16 ulFaceCount;
- OMX_TI_FACERESULT tFacePosition[35];// 35 is max faces supported by FDIF
-} OMX_FACEDETECTIONTYPE;
-
-/**
- * MTIS Vendor Specific Motion estimation
- * The extra data having MTIS motion estimation data is
- * described with the following structure.
- */
-typedef struct OMX_TI_MTISTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_S32 nMaxMVh; /**< The maximum MV for horizontal direction */
- OMX_S32 nMaxMVv; /**< The maximum MV for vertical direction */
- OMX_U16 nMVRelY[9]; /**< The mask for MV reliability */
- OMX_U16 nMVRelX[9]; /**< The mask for MV reliability */
- OMX_S32 nMVh[9]; /**< The MVs for horizontal direction */
- OMX_S32 nMVv[9]; /**< The MVs for vertical direction */
-} OMX_TI_MTISTYPE;
-
-/**
- * The OMX_EXTRADATATYPE enumeration is used to define the
- * possible extra data payload types.
- */
-typedef enum OMX_EXT_EXTRADATATYPE
-{
- OMX_ExifAttributes = 0x7F000001, /**< Reserved region for introducing Vendor Extensions */
- OMX_AncillaryData, /**< 0x7F000002 ancillary data */
- OMX_WhiteBalance, /**< 0x7F000003 white balance resultant data */
- OMX_UnsaturatedRegions, /**< 0x7F000004 unsaturated regions data */
- OMX_FaceDetection, /**< face detect data */
- OMX_BarcodeDetection, /**< bar-code detct data */
- OMX_FrontObjectDetection, /**< Front object detection data */
- OMX_MotionEstimation, /**< motion Estimation data */
- OMX_TI_MTISType, /**< 0x7F000009 MTIS motion Estimation data */
- OMX_DistanceEstimation, /**< disctance estimation */
- OMX_Histogram, /**< histogram */
- OMX_FocusRegion, /**< focus region data */
- OMX_ExtraDataPanAndScan, /**< 0x7F00000D pan and scan data */
- OMX_RawFormat, /**< custom RAW data format */
- OMX_SensorType, /**< vendor & model of the sensor being used */
- OMX_SensorCustomDataLength, /**< vendor specific custom data length */
- OMX_SensorCustomData, /**< vendor specific data */
- OMX_TI_FrameLayout, /**< 0x7F000012 vendor specific data */
- OMX_TI_SEIinfo2004Frame1, /**< 0x7F000013 Used for 2004 SEI message to be provided by video decoders */
- OMX_TI_SEIinfo2004Frame2, /**< 0x7F000014 Used for 2004 SEI message to be provided by video decoders */
- OMX_TI_SEIinfo2010Frame1, /**< 0x7F000015 Used for 2010 SEI message to be provided by video decoders */
- OMX_TI_SEIinfo2010Frame2, /**< 0x7F000016 Used for 2010 SEI message to be provided by video decoders */
- OMX_TI_RangeMappingInfo, /**< 0x7F000017 Used for Range mapping info provided by Video Decoders */
- OMX_TI_RescalingInfo, /**< 0x7F000018 Used for width/height rescaling info provided by Video Decoders */
- OMX_TI_WhiteBalanceOverWrite, /**< 0x7F000019 Used for manual AWB settings */
- OMX_TI_ExtraData_Count,
- OMX_TI_ExtraData_Max = OMX_TI_ExtraData_Count - 1,
-} OMX_EXT_EXTRADATATYPE;
-
-
-/**
- * Enable Extra-data on a specific port.
- *
- *
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port on which this extra data to be assosiated
- * eExtraDataType : Extra data type
- * bEnable : Eneble/Disable this extra-data through port.
- *
- */
-typedef struct OMX_CONFIG_EXTRADATATYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_EXT_EXTRADATATYPE eExtraDataType;
- OMX_TI_CAMERAVIEWTYPE eCameraView;
- OMX_BOOL bEnable;
-} OMX_CONFIG_EXTRADATATYPE;
-
-/**
- * JPEG header type
- * */
-
-typedef enum OMX_JPEGHEADERTYPE{
- OMX_NoHeader = 0,
- OMX_JFIF,
- OMX_EXIF
-}OMX_JPEGHEADERTYPE;
-/**
- * Re-start marker configuration
- *
- *
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port on which this extra data to be assosiated
- * eJpegHeaderType : JPEG header type EXIF, JFIF, or No heeader.
- */
-
-typedef struct OMX_CONFIG_JPEGHEEADERTYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_JPEGHEADERTYPE eJpegHeaderType;
-}OMX_CONFIG_JPEGHEEADERTYPE;
-
-/**
- * Re-start marker configuration
- *
- *
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port on which this extra data to be assosiated
- * nRstInterval : interval at which RST markers are to be inserted.
- * bEnable : Eneble/Disable this RST marker insertion feature.
- *
- */
-
-typedef struct OMX_CONFIG_RSTMARKER{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nRstInterval;
- OMX_BOOL nEnable;
-}OMX_CONFIG_RSTMARKER;
-
-/**
- * Enable Extra-data on a specific port.
- *
- *
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nMaxSize : max size
- *
- *
- */
-typedef struct OMX_IMAGE_JPEGMAXSIZE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nMaxSize;
-} OMX_IMAGE_JPEGMAXSIZE;
-
-
-typedef enum OMX_IMAGESTAMPOPERATION{
- OMX_NewImageStamp = 0,
- OMX_Continuation
-}OMX_IMAGESTAMPOPERATION;
-
-
-/**
- * Enable Extra-data on a specific port.
- *
- *
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nMaxSize : max size
- *
- *
- */
-typedef struct OMX_PARAM_IMAGESTAMPOVERLAYTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_IMAGESTAMPOPERATION nOp;
- OMX_U32 nLeft;
- OMX_U32 nTop;
- OMX_U32 nHeight;
- OMX_U32 nWidth;
- OMX_COLOR_FORMATTYPE eFormat;
- OMX_U8 * pBitMap;
-} OMX_PARAM_IMAGESTAMPOVERLAYTYPE;
-
-
-/**
- * Enable Extra-data on a specific port.
- *
- *
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nMaxSize : max size
- *
- *
- */
-typedef struct OMX_PARAM_THUMBNAILTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nHeight;
- OMX_U32 nWidth;
- OMX_IMAGE_CODINGTYPE eCompressionFormat;
- OMX_COLOR_FORMATTYPE eColorFormat;
- OMX_U32 nQuality;
- OMX_U32 nMaxSize;
-} OMX_PARAM_THUMBNAILTYPE;
-
-/**
- * Red-Eye Removal Enum
- */
-typedef enum OMX_REDEYEREMOVALTYPE{
- OMX_RedEyeRemovalOff = 0, /** No red eye removal*/
- OMX_RedEyeRemovalOn, /** Red eye removal on*/
- OMX_RedEyeRemovalAuto, /** Red eye removal will be done automatically when detected*/
- OMX_RedEyeRemovalKhronosExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions*/
- OMX_RedEyeRemovalVendorStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions*/
- OMX_RedEyeRemovalMax = 0x7FFFFFFF
-}OMX_REDEYEREMOVALTYPE;
-
-/**
- * Enable Extra-data on a specific port.
- *
- *
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nLeft: is the leftmost coordinate of the detection area rectangle (such as face region).
- * nTop: is the topmost coordinate of the detection area rectangle (such as face region).
- * nWidth: is the width of the detection area rectangle in pixels.
- * nHeight: is the height of the detection area rectangle in pixels.
- * nARGBEyeColor indicates a 32-bit eye color to replace the red-eye, where bits 0-7 are blue, bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha. When all zero indicates automatic choice.
-
- *
- */
-typedef struct OMX_CONFIG_REDEYEREMOVALTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_S32 nLeft;
- OMX_S32 nTop;
- OMX_U32 nWidth;
- OMX_U32 nHeight;
- OMX_U32 nARGBEyeColor;
- OMX_REDEYEREMOVALTYPE eMode;
-} OMX_CONFIG_REDEYEREMOVALTYPE;
-
-
-
-
-
-
-/**
- * Video capture YUV Range Enum
- */
-typedef enum OMX_VIDEOYUVRANGETYPE{
- OMX_ITURBT601 = 0,
- OMX_Full8Bit,
- OMX_VideoYUVRangeKhronosExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions*/
- OMX_VideoYUVRangeVendorStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions*/
- OMX_VideoYUVRangeMax = 0x7FFFFFFF
-}OMX_VIDEOYUVRANGETYPE;
-
-/**
- * Enable Extra-data on a specific port.
- *
- *
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- *
- */
-typedef struct OMX_PARAM_VIDEOYUVRANGETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEOYUVRANGETYPE eYUVRange;
-} OMX_PARAM_VIDEOYUVRANGETYPE;
-
-/**
- * Video noise filter mode range enum
- */
-typedef enum OMX_VIDEONOISEFILTERMODETYPE{
- OMX_VideoNoiseFilterModeOff = 0,
- OMX_VideoNoiseFilterModeOn,
- OMX_VideoNoiseFilterModeAuto,
- OMX_VideoNoiseFilterModeExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */
- OMX_VideoNoiseFilterModeStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */
- OMX_VideoNoiseFilterModeMax = 0x7FFFFFFF
-} OMX_VIDEONOISEFILTERMODETYPE;
-
-/**
- * Enable video noise filter.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * eMode : Video noise filter mode (on/off/auto)
- */
-typedef struct OMX_PARAM_VIDEONOISEFILTERTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEONOISEFILTERMODETYPE eMode;
-} OMX_PARAM_VIDEONOISEFILTERTYPE;
-
-
-/**
- * High ISO Noise filter mode range enum
- */
-typedef enum OMX_ISONOISEFILTERMODETYPE{
- OMX_ISONoiseFilterModeOff = 0,
- OMX_ISONoiseFilterModeOn,
- OMX_ISONoiseFilterModeAuto,
- OMX_ISONoiseFilterModeExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */
- OMX_ISONoiseFilterModeStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */
- OMX_ISONoiseFilterModeMax = 0x7FFFFFFF
-} OMX_ISONOISEFILTERMODETYPE;
-
-/**
- * Enable ISO noise filter.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * eMode : ISO noise filter (NSF2 is used) mode (on/off/auto)
- */
-typedef struct OMX_PARAM_ISONOISEFILTERTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_ISONOISEFILTERMODETYPE eMode;
-} OMX_PARAM_ISONOISEFILTERTYPE;
-
-/**
- * Structure used to to call OMX_GetParams() for each
- * increment of "Index" starting with "0"
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nIndex : Index of the sDCCURI 0..MAX_URI_LENGTH
- * sDCCURI : Look-up table containing strings. Ends with '\0'
- */
-typedef struct OMX_TI_PARAM_DCCURIINFO {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nIndex;
- OMX_S8 sDCCURI[MAX_URI_LENGTH];
-} OMX_TI_PARAM_DCCURIINFO;
-
-/**
- * Structure used to configure DCC buffer
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nDCCURIBuffSize : Size of the pDCCURIBuff in bytes
- * pDCCURIBuff : Pointer to a buffer
- */
-typedef struct OMX_TI_PARAM_DCCURIBUFFER {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nDCCURIBuffSize;
- OMX_U8 *pDCCURIBuff;
-} OMX_TI_PARAM_DCCURIBUFFER;
-
-/**
- * Manual White Balance color temperature
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nColorTemperature : Color Temperature in K
- */
-typedef struct OMX_TI_CONFIG_WHITEBALANCECOLORTEMPTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nColorTemperature;
-} OMX_TI_CONFIG_WHITEBALANCECOLORTEMPTYPE;
-
-/**
- * Focus spot weighting range enum
- */
-typedef enum OMX_TI_CONFIG_FOCUSSPOTMODETYPE {
- OMX_FocusSpotDefault = 0, /** Makes CommonFocusRegion to be used. */
- OMX_FocusSpotSinglecenter,
- OMX_FocusSpotMultiNormal,
- OMX_FocusSpotMultiAverage,
- OMX_FocusSpotMultiCenter,
- OMX_FocusSpotExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */
- OMX_FocusSpotModeStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */
- OMX_FocusSpotModeMax = 0x7FFFFFFF
-} OMX_TI_CONFIG_FOCUSSPOTMODETYPE;
-
-/**
- * Focus Spot Weighting configuration.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * eMode : Spot Weighting mode
- */
-typedef struct OMX_TI_CONFIG_FOCUSSPOTWEIGHTINGTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_CONFIG_FOCUSSPOTMODETYPE eMode;
-} OMX_TI_CONFIG_FOCUSSPOTWEIGHTINGTYPE;
-
-/**
- * Enumeration of possible Exposure control types for OMX_EXPOSURECONTROLTYPE
- */
-typedef enum OMX_TI_EXTEXPOSURECONTROLTYPE {
- OMX_TI_ExposureControlVeryLong = OMX_ExposureControlVendorStartUnused + 1
-} OMX_TI_EXTEXPOSURECONTROLTYPE;
-
-/**
- * Variable frame rate configuration.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * xMinFramerate : Minimum variable frame rate value
- */
-typedef struct OMX_TI_PARAM_VARFRAMERATETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 xMinFramerate;
-} OMX_TI_PARAM_VARFRAMERATETYPE;
-
-/**
- * Exposure config for right frame
- */
-typedef struct OMX_TI_CONFIG_EXPOSUREVALUERIGHTTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */
- OMX_U32 nShutterSpeedMsec; /**< Shutterspeed in milliseconds */
- OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */
-} OMX_TI_CONFIG_EXPOSUREVALUERIGHTTYPE;
-
-/**
- * Auto Convergence mode enum
- */
-typedef enum OMX_TI_AUTOCONVERGENCEMODETYPE {
- OMX_TI_AutoConvergenceModeDisable,
- OMX_TI_AutoConvergenceModeFrame,
- OMX_TI_AutoConvergenceModeCenter,
- OMX_TI_AutoConvergenceModeFocusFaceTouch,
- OMX_TI_AutoConvergenceModeManual,
- OMX_TI_AutoConvergenceExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */
- OMX_TI_AutoConvergenceStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */
- OMX_TI_AutoConvergenceModeMax = 0x7FFFFFFF
-} OMX_TI_AUTOCONVERGENCEMODETYPE;
-
-/**
- * Variable farame rate configuration.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * eACMode : Auto convergence mode
- * nManualConverence : Manual Converence value
- * nACProcWinStartX : Start X AC Window
- * nACProcWinStartY : Start Y AC Window
- * nACProcWinWidth : Width of AC Window
- * nACProcWinHeight : Height of AC Window
- * bACStatus : output status from AL alg
- */
-typedef struct OMX_TI_CONFIG_CONVERGENCETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_AUTOCONVERGENCEMODETYPE eACMode;
- OMX_S32 nManualConverence;
- OMX_U32 nACProcWinStartX;
- OMX_U32 nACProcWinStartY;
- OMX_U32 nACProcWinWidth;
- OMX_U32 nACProcWinHeight;
- OMX_BOOL bACStatus;
-} OMX_TI_CONFIG_CONVERGENCETYPE;
-
-/**
- * Camera specific version.
- *
- * STRUCT MEMBERS:
- * nBranch : Branch
- * nCommitID : Commit ID
- * nBuildDateTime : Build date and time
- * nExtraInfo : rederved for future use
- */
-typedef struct OMX_TI_CAMERASPECVERSIONTYPE {
- OMX_U8 nBranch[64];
- OMX_U8 nCommitID[64];
- OMX_U8 nBuildDateTime[64];
- OMX_U8 nExtraInfo[64];
-} OMX_TI_CAMERASPECVERSIONTYPE;
-
-/**
- * Stereo frame layout enum
- */
-typedef enum OMX_TI_STEREOFRAMELAYOUTTYPE {
- OMX_TI_StereoFrameLayout2D,
- OMX_TI_StereoFrameLayoutTopBottom,
- OMX_TI_StereoFrameLayoutLeftRight,
- OMX_TI_StereoFrameLayoutMax = 0x7FFFFFFF
-} OMX_TI_STEREOFRAMELAYOUTTYPE;
-
-/**
- * Camera frame layout type.
- *
- * STRUCT MEMBERS:
- * eFrameLayout : frame layout
- * nSubsampleRatio : subsample ratio
- */
-typedef struct OMX_TI_FRAMELAYOUTTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_STEREOFRAMELAYOUTTYPE eFrameLayout;
- OMX_U32 nSubsampleRatio; /** Subsampling ratio, Q15.7 */
-} OMX_TI_FRAMELAYOUTTYPE;
-
-/**
- * The OMX_TI_COLOR_FORMATTYPE enumeration is used to define the
- * extended color format types.
- */
-typedef enum OMX_TI_COLOR_FORMATTYPE {
- OMX_TI_COLOR_FormatYUV420PackedSemiPlanarInterlaced =
- (OMX_COLOR_FORMATTYPE) OMX_COLOR_FormatVendorStartUnused + 1,
- OMX_TI_COLOR_FormatRawBayer10bitStereo =
- OMX_COLOR_FormatVendorStartUnused + 2, /**< 10 bit raw for stereo */
-/* OMX_TI_COLOR_FormatYUV420PackedSemiPlanar =
- (OMX_COLOR_FORMATTYPE) OMX_COLOR_FormatVendorStartUnused + 0x100, *//* 0x100 is used since it is the corresponding HAL pixel fromat */
-/* OMX_COLOR_FormatAndroidOpaque =
- (OMX_COLOR_FORMATTYPE) OMX_COLOR_FormatVendorStartUnused + 0x789 *//**< Platform specified opaque format set to unique value 0x789*/
-} OMX_TI_COLOR_FORMATTYPE;
-
-/**
- * The OMX_TI_EXIFTAGSTATUS enumeration is used to define the
- * tag status types.
- */
-typedef enum OMX_TI_EXIFTAGSTATUS {
- OMX_TI_TagReadOnly, /**< implies this tag is generated within omx-camera >*/
- OMX_TI_TagReadWrite, /**< implies this tag can be overwritten by client >*/
- OMX_TI_TagUpdated, /**< client has to use this to indicate the specific tag is overwritten >*/
- OMX_TI_ExifStatus_Max = 0x7fffffff
-} OMX_TI_EXIFTAGSTATUS;
-
-typedef struct OMX_TI_CONFIG_EXIF_TAGS {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_EXIFTAGSTATUS eStatusImageWidth;
- OMX_U32 ulImageWidth;
- OMX_TI_EXIFTAGSTATUS eStatusImageHeight;
- OMX_U32 ulImageHeight;
- OMX_TI_EXIFTAGSTATUS eStatusBitsPerSample;
- OMX_U16 usBitsPerSample[3];
- OMX_TI_EXIFTAGSTATUS eStatusCompression;
- OMX_U16 usCompression;
- OMX_TI_EXIFTAGSTATUS eStatusPhotometricInterpretation;
- OMX_U16 usPhotometricInterpretation;
- OMX_TI_EXIFTAGSTATUS eStatusOrientation;
- OMX_U16 usOrientation;
- OMX_TI_EXIFTAGSTATUS eStatusSamplesPerPixel;
- OMX_U16 usSamplesPerPixel;
- OMX_TI_EXIFTAGSTATUS eStatusPlanarConfiguration;
- OMX_U16 usPlanarConfiguration;
- OMX_TI_EXIFTAGSTATUS eStatusYCbCrSubSampling;
- OMX_U16 usYCbCrSubSampling[2];
- OMX_TI_EXIFTAGSTATUS eStatusYCbCrPositioning;
- OMX_U16 usYCbCrPositioning;
- OMX_TI_EXIFTAGSTATUS eStatusXResolution;
- OMX_U32 ulXResolution[2];
- OMX_TI_EXIFTAGSTATUS eStatusYResolution;
- OMX_U32 ulYResolution[2];
- OMX_TI_EXIFTAGSTATUS eStatusResolutionUnit;
- OMX_U16 usResolutionUnit;
-
- OMX_TI_EXIFTAGSTATUS eStatusRowsPerStrip;
- OMX_U32 ulRowsPerStrip;
- OMX_TI_EXIFTAGSTATUS eStatusDataSize;
- OMX_U32 ulDataSize;
-
- OMX_TI_EXIFTAGSTATUS eStatusTransferFunction;
- OMX_U16 usTransferFunction[3*256];
- OMX_TI_EXIFTAGSTATUS eStatusWhitePoint;
- OMX_U32 ulWhitePoint[4]; //2x2
- OMX_TI_EXIFTAGSTATUS eStatusPrimaryChromaticities;
- OMX_U32 ulPrimaryChromaticities[12]; //2x6
- OMX_TI_EXIFTAGSTATUS eStatusYCbCrCoefficients;
- OMX_U32 ulYCbCrCoefficients[6]; //2x3
- OMX_TI_EXIFTAGSTATUS eStatusReferenceBlackWhite;
- OMX_U32 ulReferenceBlackWhite[12]; //2x6
- OMX_TI_EXIFTAGSTATUS eStatusDateTime;
- OMX_S8* pDateTimeBuff;
- OMX_U32 ulDateTimeBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusImageDescription;
- OMX_S8* pImageDescriptionBuff;
- OMX_U32 ulImageDescriptionBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusMake;
- OMX_S8* pMakeBuff;
- OMX_U32 ulMakeBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusModel;
- OMX_S8* pModelBuff;
- OMX_U32 ulModelBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusSoftware;
- OMX_S8* pSoftwareBuff;
- OMX_U32 ulSoftwareBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusArtist;
- OMX_S8* pArtistBuff;
- OMX_U32 ulArtistBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusCopyright;
- OMX_S8* pCopyrightBuff;
- OMX_U32 ulCopyrightBuffSizeBytes;
-
- OMX_TI_EXIFTAGSTATUS eStatusExifVersion;
- OMX_S8 cExifVersion[4];
- OMX_TI_EXIFTAGSTATUS eStatusFlashpixVersion;
- OMX_S8 cFlashpixVersion[4];
- OMX_TI_EXIFTAGSTATUS eStatusColorSpace;
- OMX_U16 usColorSpace;
- OMX_TI_EXIFTAGSTATUS eStatusComponentsConfiguration;
- OMX_S8 cComponentsConfiguration[4];
- OMX_TI_EXIFTAGSTATUS eStatusCompressedBitsPerPixel;
- OMX_U32 ulCompressedBitsPerPixel[2];
- OMX_TI_EXIFTAGSTATUS eStatusPixelXDimension;
- OMX_U32 ulPixelXDimension;
- OMX_TI_EXIFTAGSTATUS eStatusPixelYDimension;
- OMX_U32 ulPixelYDimension;
- OMX_TI_EXIFTAGSTATUS eStatusMakerNote;
- OMX_S8* pMakerNoteBuff;
- OMX_U32 ulMakerNoteBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusUserComment;
- OMX_S8* pUserCommentBuff;
- OMX_U32 ulUserCommentBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusRelatedSoundFile;
- OMX_S8 cRelatedSoundFile[13];
- OMX_TI_EXIFTAGSTATUS eStatusDateTimeOriginal;
- OMX_S8* pDateTimeOriginalBuff;
- OMX_U32 ulDateTimeOriginalBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusDateTimeDigitized;
- OMX_S8* pDateTimeDigitizedBuff;
- OMX_U32 ulDateTimeDigitizedBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusSubSecTime;
- OMX_S8* pSubSecTimeBuff;
- OMX_U32 ulSubSecTimeBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusSubSecTimeOriginal;
- OMX_S8* pSubSecTimeOriginalBuff;
- OMX_U32 ulSubSecTimeOriginalBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusSubSecTimeDigitized;
- OMX_S8* pSubSecTimeDigitizedBuff;
- OMX_U32 ulSubSecTimeDigitizedBuffSizeBytes;
-
- OMX_TI_EXIFTAGSTATUS eStatusExposureTime;
- OMX_U32 ulExposureTime[2];
- OMX_TI_EXIFTAGSTATUS eStatusFNumber;
- OMX_U32 ulFNumber[2];
- OMX_TI_EXIFTAGSTATUS eStatusExposureProgram;
- OMX_U16 usExposureProgram;
- OMX_TI_EXIFTAGSTATUS eStatusSpectralSensitivity;
- OMX_S8* pSpectralSensitivityBuff;
- OMX_U32 ulSpectralSensitivityBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusISOCount;
- OMX_U16 usISOCount;
- OMX_TI_EXIFTAGSTATUS eStatusISOSpeedRatings;
- OMX_U16* pISOSpeedRatings;
- OMX_TI_EXIFTAGSTATUS eStatusOECF;
- OMX_S8* pOECFBuff;
- OMX_U32 ulOECFBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusShutterSpeedValue;
- OMX_S32 slShutterSpeedValue[2];
- OMX_TI_EXIFTAGSTATUS eStatusApertureValue;
- OMX_U32 ulApertureValue[2];
- OMX_TI_EXIFTAGSTATUS eStatusBrightnessValue;
- OMX_S32 slBrightnessValue[2];
- OMX_TI_EXIFTAGSTATUS eStatusExposureBiasValue;
- OMX_S32 slExposureBiasValue[2];
- OMX_TI_EXIFTAGSTATUS eStatusMaxApertureValue;
- OMX_U32 ulMaxApertureValue[2];
- OMX_TI_EXIFTAGSTATUS eStatusSubjectDistance;
- OMX_U32 ulSubjectDistance[2];
- OMX_TI_EXIFTAGSTATUS eStatusMeteringMode;
- OMX_U16 usMeteringMode;
- OMX_TI_EXIFTAGSTATUS eStatusLightSource;
- OMX_U16 usLightSource;
- OMX_TI_EXIFTAGSTATUS eStatusFlash;
- OMX_U16 usFlash;
- OMX_TI_EXIFTAGSTATUS eStatusFocalLength;
- OMX_U32 ulFocalLength[2];
- OMX_TI_EXIFTAGSTATUS eStatusSubjectArea;
- OMX_U16 usSubjectArea[4];
- OMX_TI_EXIFTAGSTATUS eStatusFlashEnergy;
- OMX_U32 ulFlashEnergy[2];
- OMX_TI_EXIFTAGSTATUS eStatusSpatialFrequencyResponse;
- OMX_S8* pSpatialFrequencyResponseBuff;
- OMX_U32 ulSpatialFrequencyResponseBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusFocalPlaneXResolution;
- OMX_U32 ulFocalPlaneXResolution[2];
- OMX_TI_EXIFTAGSTATUS eStatusFocalPlaneYResolution;
- OMX_U32 ulFocalPlaneYResolution[2];
- OMX_TI_EXIFTAGSTATUS eStatusFocalPlaneResolutionUnit;
- OMX_U16 usFocalPlaneResolutionUnit;
- OMX_TI_EXIFTAGSTATUS eStatusSubjectLocation;
- OMX_U16 usSubjectLocation[2];
- OMX_TI_EXIFTAGSTATUS eStatusExposureIndex;
- OMX_U32 ulExposureIndex[2];
- OMX_TI_EXIFTAGSTATUS eStatusSensingMethod;
- OMX_U16 usSensingMethod;
- OMX_TI_EXIFTAGSTATUS eStatusFileSource;
- OMX_S8 cFileSource;
- OMX_TI_EXIFTAGSTATUS eStatusSceneType;
- OMX_S8 cSceneType;
- OMX_TI_EXIFTAGSTATUS eStatusCFAPattern;
- OMX_S8* pCFAPatternBuff;
- OMX_U32 ulCFAPatternBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusCustomRendered;
- OMX_U16 usCustomRendered;
- OMX_TI_EXIFTAGSTATUS eStatusExposureMode;
- OMX_U16 usExposureMode;
- OMX_TI_EXIFTAGSTATUS eStatusWhiteBalance;
- OMX_U16 usWhiteBalance;
- OMX_TI_EXIFTAGSTATUS eStatusDigitalZoomRatio;
- OMX_U32 ulDigitalZoomRatio[2];
- OMX_TI_EXIFTAGSTATUS eStatusFocalLengthIn35mmFilm;
- OMX_U16 usFocalLengthIn35mmFilm;
- OMX_TI_EXIFTAGSTATUS eStatusSceneCaptureType;
- OMX_U16 usSceneCaptureType;
- OMX_TI_EXIFTAGSTATUS eStatusGainControl;
- OMX_U16 usGainControl;
- OMX_TI_EXIFTAGSTATUS eStatusContrast;
- OMX_U16 usContrast;
- OMX_TI_EXIFTAGSTATUS eStatusSaturation;
- OMX_U16 usSaturation;
- OMX_TI_EXIFTAGSTATUS eStatusSharpness;
- OMX_U16 usSharpness;
- OMX_TI_EXIFTAGSTATUS eStatusDeviceSettingDescription;
- OMX_S8* pDeviceSettingDescriptionBuff;
- OMX_U32 ulDeviceSettingDescriptionBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusSubjectDistanceRange;
- OMX_U16 usSubjectDistanceRange;
-
- OMX_TI_EXIFTAGSTATUS eStatusImageUniqueID;
- OMX_S8 cImageUniqueID[33];
- OMX_U8* pPrivateNextIFDPointer; //Should not be used by the application
- OMX_U8* pPrivateThumbnailSize; //Should not be used by the application
- OMX_U8* pPrivateTiffHeaderPointer; //Should not be used by the application
-
- OMX_TI_EXIFTAGSTATUS eStatusGpsVersionId;
- OMX_U8 ucGpsVersionId[4];
- OMX_TI_EXIFTAGSTATUS eStatusGpslatitudeRef;
- OMX_S8 cGpslatitudeRef[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsLatitude;
- OMX_U32 ulGpsLatitude[6];
- OMX_TI_EXIFTAGSTATUS eStatusGpsLongitudeRef;
- OMX_S8 cGpsLongitudeRef[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsLongitude;
- OMX_U32 ulGpsLongitude[6];
- OMX_TI_EXIFTAGSTATUS eStatusGpsAltitudeRef;
- OMX_U8 ucGpsAltitudeRef;
- OMX_TI_EXIFTAGSTATUS eStatusGpsAltitude;
- OMX_U32 ulGpsAltitude[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsTimeStamp;
- OMX_U32 ulGpsTimeStamp[6];
- OMX_TI_EXIFTAGSTATUS eStatusGpsSatellites;
- OMX_S8* pGpsSatellitesBuff;
- OMX_U32 ulGpsSatellitesBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusGpsStatus;
- OMX_S8 cGpsStatus[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsMeasureMode;
- OMX_S8 cGpsMeasureMode[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsDop;
- OMX_U32 ulGpsDop[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsSpeedRef;
- OMX_S8 cGpsSpeedRef[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsSpeed;
- OMX_U32 ulGpsSpeed[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsTrackRef;
- OMX_S8 cGpsTrackRef[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsTrack;
- OMX_U32 ulGpsTrack[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsImgDirectionRef;
- OMX_S8 cGpsImgDirectionRef[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsImgDirection;
- OMX_U32 ulGpsImgDirection[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsMapDatum;
- OMX_S8* pGpsMapDatumBuff;
- OMX_U32 ulGpsMapDatumBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusGpsDestLatitudeRef;
- OMX_S8 cGpsDestLatitudeRef[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsDestLatitude;
- OMX_U32 ulGpsDestLatitude[6];
- OMX_TI_EXIFTAGSTATUS eStatusGpsDestLongitudeRef;
- OMX_S8 cGpsDestLongitudeRef[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsDestLongitude;
- OMX_U32 ulGpsDestLongitude[6];
- OMX_TI_EXIFTAGSTATUS eStatusGpsDestBearingRef;
- OMX_S8 cGpsDestBearingRef[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsDestBearing;
- OMX_U32 ulGpsDestBearing[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsDestDistanceRef;
- OMX_S8 cGpsDestDistanceRef[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsDestDistance;
- OMX_U32 ulGpsDestDistance[2];
- OMX_TI_EXIFTAGSTATUS eStatusGpsProcessingMethod;
- OMX_S8* pGpsProcessingMethodBuff;
- OMX_U32 ulGpsProcessingMethodBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusGpsAreaInformation;
- OMX_S8* pGpsAreaInformationBuff;
- OMX_U32 ulGpsAreaInformationBuffSizeBytes;
- OMX_TI_EXIFTAGSTATUS eStatusGpsDateStamp;
- OMX_S8 cGpsDateStamp[11];
- OMX_TI_EXIFTAGSTATUS eStatusGpsDifferential;
- OMX_U16 usGpsDifferential;
-} OMX_TI_CONFIG_EXIF_TAGS;
-
-/**
- * Structure used to configure current OMX_TI_SENMOUNT_TYPE
- *
- * @param nSenId
- * @param nRotation
- */
-typedef struct OMX_TI_SENMOUNT_TYPE {
- OMX_U32 nSenId;
- OMX_U32 nRotation;
-}OMX_TI_SENMOUNT_TYPE;
-
-/**
- * Structure used to configure current OMX_TI_VARFPSTYPE
- *
- * @param nVarFPSMin Number of the smallest FPS supported.
- * @param nVarFPSMax Number of the biggest FPS supported.
- */
-typedef struct OMX_TI_VARFPSTYPE {
- OMX_U32 nVarFPSMin;
- OMX_U32 nVarFPSMax;
-} OMX_TI_VARFPSTYPE;
-
-/**
- * Structure used to configure current OMX_TI_CONFIG_SHAREDBUFFER
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nSharedBuffSize : Size of the pSharedBuff in bytes
- * pSharedBuff : Pointer to a buffer
- */
-typedef struct OMX_TI_CONFIG_SHAREDBUFFER {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nSharedBuffSize;
- OMX_U8* pSharedBuff;
-} OMX_TI_CONFIG_SHAREDBUFFER;
-
-/**
- * Structure used to configure current OMX_TI_CAPRESTYPE
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nWidthMin : Number of the smallest width supported
- * nHeightMin : Number of the smallest height supported
- * nWidthMax : Number of the biggest width supported
- * nHeightMax : Number of the biggest height supported
- */
-typedef struct OMX_TI_CAPRESTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nWidthMin; // smallest width supported
- OMX_U32 nHeightMin; // smallest height supported
- OMX_U32 nWidthMax; // biggest width supported
- OMX_U32 nHeightMax; // biggest height supported
-} OMX_TI_CAPRESTYPE;
-
-/**
- * Structure used to configure current OMX_TI_CAPTYPE
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * ulPreviewFormatCount : Number of the supported preview pixelformat count
- * ePreviewFormats : Array containing the supported preview pixelformat count
- * ulImageFormatCount : Number of the supported image pixelformat count
- * eImageFormats : Array containing the supported image pixelformat count
- * tPreviewResRange : Supported preview resolution range
- * tImageResRange : Supported image resolution range
- * tThumbResRange : Supported thumbnail resolution range
- * ulWhiteBalanceCount : Supported whitebalance mode count
- * eWhiteBalanceModes : Array containing the whitebalance modes
- * ulColorEffectCount : Supported effects count
- * eColorEffects : Array containing the supported effects
- * xMaxWidthZoom : Fixed point value stored as Q16 representing the maximum value for the Zoom allowed on Width
- * xMaxHeightZoom : Fixed point value stored as Q16 representing the maximum value for the Zoom allowed on Height
- * ulFlickerCount : Number of the supported anti-flicker modes
- * eFlicker : Array containing the supported anti-flicker modes
- * ulExposureModeCount : Number of the supported exposure modes
- * eExposureModes : Array containing the supported exposure modes
- * bLensDistortionCorrectionSupported : Flag for Lens Distortion Correction Algorithm support
- * bISONoiseFilterSupported : Flag for Noise Filter Algorithm support
- * xEVCompensationMin : Fixed point value stored as Q16 representing the EVCompensation minumum allowed value
- * xEVCompensationMax : Fixed point value stored as Q16 representing the EVCompensation maximum allowed value
- * nSensitivityMax : nSensitivityMax = 100 implies maximum supported equal to "ISO 100"
- * ulFocusModeCount : Number of the supported focus modes
- * eFocusModes : Array containing the supported focus modes
- * ulSceneCount : Number of the supported scenes
- * eSceneModes : Array containing the supported scenes
- * ulFlashCount : Number of the supported flash modes
- * eFlashModes : Array containing the supported flash modes
- * xFramerateMin : Fixed point value stored as Q16 representing the minimum framerate allowed
- * xFramerateMax : Fixed point value stored as Q16 representing the maximum framerate allowed
- * bContrastSupported : Flag showing if the contrast is supported
- * bSaturationSupported : Flag showing if the saturation is supported
- * bBrightnessSupported : Flag showing if the brightness is supported
- * bProcessingLevelSupported : Flag showing if the processing level is supported
- * bQFactorSupported : Flag showing if the QFactor is supported
- * ulPrvVarFPSModesCount : Number of preview FPS modes
- * tPrvVarFPSModes : Preview FPS modes
- * ulCapVarFPSModesCount : Number of capture FPS modes
- * tCapVarFPSModes : Capture FPS modes
- * tSenMounting : Sensor mount information
- */
-typedef struct OMX_TI_CAPTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U16 ulPreviewFormatCount; // supported preview pixelformat count
- OMX_COLOR_FORMATTYPE ePreviewFormats[100];
- OMX_U16 ulImageFormatCount; // supported image pixelformat count
- OMX_COLOR_FORMATTYPE eImageFormats[100];
- OMX_TI_CAPRESTYPE tPreviewResRange; // supported preview resolution range
- OMX_TI_CAPRESTYPE tImageResRange; // supported image resolution range
- OMX_TI_CAPRESTYPE tThumbResRange; // supported thumbnail resolution range
- OMX_U16 ulWhiteBalanceCount; // supported whitebalance mode count
- OMX_WHITEBALCONTROLTYPE eWhiteBalanceModes[100];
- OMX_U16 ulColorEffectCount; // supported effects count
- OMX_IMAGEFILTERTYPE eColorEffects[100];
- OMX_S32 xMaxWidthZoom; // Fixed point value stored as Q16
- OMX_S32 xMaxHeightZoom; // Fixed point value stored as Q16
- OMX_U16 ulFlickerCount; // supported anti-flicker mode count
- OMX_COMMONFLICKERCANCELTYPE eFlicker[100];
- OMX_U16 ulExposureModeCount; // supported exposure mode count
- OMX_EXPOSURECONTROLTYPE eExposureModes[100];
- OMX_BOOL bLensDistortionCorrectionSupported;
- OMX_BOOL bISONoiseFilterSupported;
- OMX_S32 xEVCompensationMin; // Fixed point value stored as Q16
- OMX_S32 xEVCompensationMax; // Fixed point value stored as Q16
- OMX_U32 nSensitivityMax; // nSensitivityMax = 100 implies maximum supported equal to "ISO 100"
- OMX_U16 ulFocusModeCount; // supported focus mode count
- OMX_IMAGE_FOCUSCONTROLTYPE eFocusModes[100];
- OMX_U16 ulSceneCount; // supported scene count
- OMX_SCENEMODETYPE eSceneModes[100];
- OMX_U16 ulFlashCount; // supported flash modes count
- OMX_IMAGE_FLASHCONTROLTYPE eFlashModes[100];
- OMX_U32 xFramerateMin; // Fixed point value stored as Q16
- OMX_U32 xFramerateMax; // Fixed point value stored as Q16
- OMX_BOOL bContrastSupported;
- OMX_BOOL bSaturationSupported;
- OMX_BOOL bBrightnessSupported;
- OMX_BOOL bProcessingLevelSupported;
- OMX_BOOL bQFactorSupported;
- OMX_U16 ulPrvVarFPSModesCount; // supported variable FPS preview modes count
- OMX_TI_VARFPSTYPE tPrvVarFPSModes[10];
- OMX_U16 ulCapVarFPSModesCount; // supported variable FPS capture modes count
- OMX_TI_VARFPSTYPE tCapVarFPSModes[10];
- OMX_TI_SENMOUNT_TYPE tSenMounting;
- OMX_U16 ulAlgoAreasFocusCount; // supported number of AlgoAreas for focus areas
- OMX_U16 ulAlgoAreasExposureCount; // supported number of AlgoAreas for exposure areas
-} OMX_TI_CAPTYPE;
-
-
-
-/**
- * Defines 3A Face priority mode.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bAwbFaceEnable : Enable Face priority for Auto White Balance
- * bAeFaceEnable : Enable Face priority for Auto Exposure
- * bAfFaceEnable : Enable Face priority for Auto Focus
- */
-typedef struct OMX_TI_CONFIG_3A_FACE_PRIORITY {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bAwbFaceEnable;
- OMX_BOOL bAeFaceEnable;
- OMX_BOOL bAfFaceEnable;
-} OMX_TI_CONFIG_3A_FACE_PRIORITY;
-
-/**
- * Defines 3A Region priority mode.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bAwbFaceEnable : Enable Region priority for Auto White Balance
- * bAeFaceEnable : Enable Region priority for Auto Exposure
- * bAfFaceEnable : Enable Region priority for Auto Focus
- */
-typedef struct OMX_TI_CONFIG_3A_REGION_PRIORITY {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bAwbRegionEnable;
- OMX_BOOL bAeRegionEnable;
- OMX_BOOL bAfRegionEnable;
-} OMX_TI_CONFIG_3A_REGION_PRIORITY;
-
-/*
-* STRUCT MEMBERS:
-* nSize : Size of the structure in bytes
-* nVersion : OMX specification version information
-* nPortIndex : Port that this structure applies to
-* bAutoConvergence : Enable/Disable Auto Convergence
-*/
-typedef struct OMX_TI_PARAM_AUTOCONVERGENCETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bAutoConvergence;
-} OMX_TI_PARAM_AUTOCONVERGENCETYPE;
-
-/**
- * Focus distance configuration
- *
- * STRUCT MEMBERS:
- * nSize: Size of the structure in bytes
- * nVersion: OMX specification version information
- * nPortIndex: Port that this structure applies to
- * nFocusDistanceNear : Specifies the near focus distance in mm ( 0 equals infinity )
- * nFocusDistanceOptimal : Specifies the optimal focus distance in mm ( 0 equals infinity )
- * nFocusDistanceFar : Specifies the far focus distance in mm ( 0 equals infinity )
- * nLensPosition : Specifies the current lens position in driver units
- */
-typedef struct OMX_TI_CONFIG_FOCUSDISTANCETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nFocusDistanceNear;
- OMX_U32 nFocusDistanceOptimal;
- OMX_U32 nFocusDistanceFar;
- OMX_S32 nLensPosition;
-} OMX_TI_CONFIG_FOCUSDISTANCETYPE;
-
-/*
-* STRUCT MEMBERS:
-* nSize : Size of the structure in bytes
-* nVersion : OMX specification version information
-* nPortIndex : Port that this structure applies to
-* pAAAskipBuff : Pointer to a buffer
-* AAAskipBuffId : Id of the send buffer
-* AAAskipBuffSize : Size of the sent buffer
-*/
-typedef struct OMX_TI_CONFIG_AAASKIPBUFFERTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_PTR pAAAskipBuff;
- OMX_U32 AAAskipBuffId;
- OMX_U32 AAAskipBuffSize;
-} OMX_TI_CONFIG_AAASKIPBUFFERTYPE;
-
-
-/**
- * The OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE enumeration is used to define the
- * brightness and contrast mode types.
- */
-typedef enum OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE {
- OMX_TI_BceModeOff = 0,
- OMX_TI_BceModeOn,
- OMX_TI_BceModeAuto,
- OMX_TI_BceModeMax = 0x7FFFFFFF
-} OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE;
-
-/**
- * Local and global brightness contrast type.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * eControl : Control field for GLBCE
- */
-typedef struct OMX_TI_CONFIG_LOCAL_AND_GLOBAL_BRIGHTNESSCONTRASTTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE eControl;
-} OMX_TI_CONFIG_LOCAL_AND_GLOBAL_BRIGHTNESSCONTRASTTYPE;
-
-/**
- * Uncompressed image operating mode configuration structure.
- *
- * @param nSize Size of the structure in bytes.
- * @param nVersion OMX specification version information.
- * @param xMin The minimum frame rate allowed.
- * Units are Q16 frames per second.
- * @param xMax The maximum frame rate allowed.
- * Units are Q16 frames per second.
- */
-
-typedef struct OMX_TI_CONFIG_VARFRMRANGETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 xMin;
- OMX_U32 xMax;
-} OMX_TI_CONFIG_VARFRMRANGETYPE;
-
-/**
-* A pointer to this struct is passed to the OMX_SetParameter when the extension
-* index for the 'OMX.google.android.index.enableAndroidNativeBuffers' extension
-* is given.
-* The corresponding extension Index is OMX_TI_IndexUseNativeBuffers.
-* This will be used to inform OMX about the presence of gralloc pointers instead
-* of virtual pointers
-*/
-typedef struct OMX_TI_PARAMUSENATIVEBUFFER {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bEnable;
-} OMX_TI_PARAMUSENATIVEBUFFER;
-
-/**
-* A pointer to this struct is passed to OMX_GetParameter when the extension
-* index for the 'OMX.google.android.index.getAndroidNativeBufferUsage'
-* extension is given.
-* The corresponding extension Index is OMX_TI_IndexAndroidNativeBufferUsage.
-* The usage bits returned from this query will be used to allocate the Gralloc
-* buffers that get passed to the useAndroidNativeBuffer command.
-*/
-typedef struct OMX_TI_PARAMNATIVEBUFFERUSAGE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nUsage;
-} OMX_TI_PARAMNATIVEBUFFERUSAGE;
-
-/*==========================================================================*/
-/*!
-@brief OMX_TI_PARAM_ENHANCEDPORTRECONFIG : Suport added to new port reconfig usage
-@param bUsePortReconfigForCrop Enables port reconfig for crop.
-@param bUsePortReconfigForPadding Enables port reconfig for padding
-*/
-/*==========================================================================*/
-
-typedef struct OMX_TI_PARAM_ENHANCEDPORTRECONFIG {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bUsePortReconfigForCrop;
- OMX_BOOL bUsePortReconfigForPadding;
-} OMX_TI_PARAM_ENHANCEDPORTRECONFIG;
-
-/**
-* Define the frames queue len for ZSL
-*
-* STRUCT MEMBERS:
-* nSize: Size of the structure in bytes
-* nVersion: OMX specification version information
-* nHistoryLen: History len in number of frames
-*/
-typedef struct OMX_TI_PARAM_ZSLHISTORYLENTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nHistoryLen;
-} OMX_TI_PARAM_ZSLHISTORYLENTYPE;
-
-/**
-* Define the frame delay in ms for ZSL
-*
-* STRUCT MEMBERS:
-* nSize: Size of the structure in bytes
-* nVersion: OMX specification version information
-* nDelay: Capture frame delay in ms
-*/
-typedef struct OMX_TI_CONFIG_ZSLDELAYTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_S32 nDelay;
-} OMX_TI_CONFIG_ZSLDELAYTYPE;
-
-/**
- * AlogAreas purpose
- * This type specifies the purpose of areas specified in OMX_ALGOAREASTYPE.
- * */
-typedef enum OMX_ALGOAREAPURPOSE{
- OMX_AlgoAreaFocus = 0, // Multi region focus
- OMX_AlgoAreaExposure,
-}OMX_ALGOAREAPURPOSE;
-
-typedef struct OMX_ALGOAREA {
- OMX_S32 nLeft; /**< The leftmost coordinate of the area rectangle */
- OMX_S32 nTop; /**< The topmost coordinate of the area rectangle */
- OMX_U32 nWidth; /**< The width of the area rectangle in pixels */
- OMX_U32 nHeight; /**< The height of the area rectangle in pixels */
- OMX_U32 nPriority; /**< Priority - ranges from 1 to 1000 */
-}OMX_ALGOAREA;
-
-/**
- * Algorythm areas type
- * This type defines areas for Multi Region Focus,
- * or another algorithm region parameters,
- * such as Multi Region Auto Exposure.
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port index
- * tAreaPosition : Area definition - coordinates and purpose - Multi Region Focus, Auto Exposure, etc.
- * nNumAreas : Number of areas defined in the array
- * nAlgoAreaPurpose : Algo area purpose - eg. Multi Region Focus is OMX_AlgoAreaFocus
- */
-typedef struct OMX_ALGOAREASTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
-
- OMX_U32 nNumAreas;
- OMX_ALGOAREA tAlgoAreas[MAX_ALGOAREAS];
- OMX_ALGOAREAPURPOSE nAlgoAreaPurpose;
-} OMX_ALGOAREASTYPE;
-
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
-
-
diff --git a/domx/omx_core/inc/OMX_TI_Image.h b/domx/omx_core/inc/OMX_TI_Image.h
deleted file mode 100755
index 4035218..0000000
--- a/domx/omx_core/inc/OMX_TI_Image.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-/*
- * @file:OMX_TI_Image.h
- * This header defines the structures specific to the param or config
- * indices of Openmax Image Component.
- *
- * @path domx/system/omx_core/inc
- *
- * @rev 1.0
- */
-
-/*==============================================================
- *! Revision History
- *! ============================
- *! 11-Oct-2010 KMotov x0106653@ti.com Initial Version
- *================================================================*/
-
-#ifndef OMX_TI_IMAGE_H
-#define OMX_TI_IMAGE_H
-
-/**
- * The OMX_TI_IMAGE_CODINGTYPE enumeration is used to define the
- * extended image coding types.
- */
-typedef enum OMX_TI_IMAGE_CODINGTYPE
-{
- OMX_TI_IMAGE_CodingJPS = OMX_IMAGE_CodingVendorStartUnused + 1, /**< JPS format */
- OMX_TI_IMAGE_CodingMPO /**< MPO format */
-} OMX_TI_IMAGE_CODINGTYPE;
-
-#endif /* OMX_TI_IMAGE_H */
diff --git a/domx/omx_core/inc/OMX_TI_Index.h b/domx/omx_core/inc/OMX_TI_Index.h
deleted file mode 100755
index 61b1e27..0000000
--- a/domx/omx_core/inc/OMX_TI_Index.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-/**
- * @file omx_ti_index.h
- * This file contains the vendor(TI) specific indexes
- *
- * @path \OMAPSW_SysDev\multimedia\omx\khronos1_1\omx_core\inc
- *
- * @rev 1.0
- */
-
-/*==============================================================
- *! Revision History
- *! ============================
- *! 20-Dec-2008 x0052661@ti.com, initial version
- *================================================================*/
-
-#ifndef _OMX_TI_INDEX_H_
-#define _OMX_TI_INDEX_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/******************************************************************
- * INCLUDE FILES
- ******************************************************************/
-#include <OMX_Types.h>
-
-/*******************************************************************
- * EXTERNAL REFERENCE NOTE: only use if not found in header file
- *******************************************************************/
-/*---------- function prototypes ------------------- */
-/*---------- data declarations ------------------- */
-/*******************************************************************
- * PUBLIC DECLARATIONS: defined here, used elsewhere
- *******************************************************************/
-/*---------- function prototypes ------------------- */
-/*---------- data declarations ------------------- */
-
-typedef enum OMX_TI_INDEXTYPE {
-
- OMX_IndexConfigAutoPauseAfterCapture = OMX_IndexAutoPauseAfterCapture,
-
- /* Vendor specific area for storing indices */
- OMX_TI_IndexConfigChannelName = ((OMX_INDEXTYPE)OMX_IndexVendorStartUnused + 1), /**< reference: OMX_CONFIG_CHANNELNAME */
-
- OMX_TI_IndexParamJPEGUncompressedMode, /**< reference: OMX_JPEG_PARAM_UNCOMPRESSEDMODETYPE */
- OMX_TI_IndexParamJPEGCompressedMode, /**< reference: OMX_JPEG_PARAM_COMPRESSEDMODETYPE */
- OMX_TI_IndexParamDecodeSubregion, /**< reference: OMX_IMAGE_PARAM_DECODE_SUBREGION */
-
- /* H264 Encoder Indices*/
- OMX_TI_IndexParamVideoDataSyncMode, //!< Refer to OMX_VIDEO_PARAM_DATASYNCMODETYPE structure
- OMX_TI_IndexParamVideoNALUsettings, //!< use OMX_VIDEO_PARAM_AVCNALUCONTROLTYPE to configure the type os NALU to send along with the Different Frame Types
- OMX_TI_IndexParamVideoMEBlockSize, //!< use OMX_VIDEO_PARAM_MEBLOCKSIZETYPE to specify the minimum block size used for motion estimation
- OMX_TI_IndexParamVideoIntraPredictionSettings, //!< use OMX_VIDEO_PARAM_INTRAPREDTYPE to configure the intra prediction modes used for different block sizes
- OMX_TI_IndexParamVideoEncoderPreset, //!< use OMX_VIDEO_PARAM_ENCODER_PRESETTYPE to select the encoding mode & rate control preset
- OMX_TI_IndexParamVideoFrameDataContentSettings, //!< use OMX_TI_VIDEO_PARAM_FRAMEDATACONTENTTYPE to configure the data content tpye
- OMX_TI_IndexParamVideoTransformBlockSize, //!< use OMX_VIDEO_PARAM_TRANSFORM_BLOCKSIZETYPE to specify the block size used for ttransformation
- OMX_TI_IndexParamVideoVUIsettings, //!use OMX_VIDEO_PARAM_VUIINFOTYPE
- OMX_TI_IndexParamVideoAdvancedFMO,
- OMX_TI_IndexConfigVideoPixelInfo, //!< Use OMX_VIDEO_CONFIG_PIXELINFOTYPE structure to know the pixel aspectratio & pixel range
- OMX_TI_IndexConfigVideoMESearchRange, //!< use OMX_VIDEO_CONFIG_MESEARCHRANGETYPE to specify the ME Search settings
- OMX_TI_IndexConfigVideoQPSettings, //!< use OMX_TI_VIDEO_CONFIG_QPSETTINGS to specify the ME Search settings
- OMX_TI_IndexConfigSliceSettings, //!<use OMX_VIDEO_CONFIG_SLICECODINGTYPE to specify the ME Search settings
- OMX_TI_IndexParamAVCInterlaceSettings, //!< use OMX_TI_VIDEO_PARAM_AVCINTERLACECODING to specify the ME Search settings
- OMX_TI_IndexParamStereoInfo2004Settings, //!< use OMX_TI_VIDEO_AVCENC_STEREOINFO2004 to specify the 2004 SEI for AVC Encoder
- OMX_TI_IndexParamStereoFramePacking2010Settings, //!< use OMX_TI_VIDEO_AVCENC_FRAMEPACKINGINFO2010 to specify 2010 SEI for AVC Encoder
-
-
- /* Camera Indices */
- OMX_TI_IndexConfigSensorSelect, /**< reference: OMX_CONFIG_SENSORSELECTTYPE */
- OMX_IndexConfigFlickerCancel, /**< reference: OMX_CONFIG_FLICKERCANCELTYPE */
- OMX_IndexConfigSensorCal, /**< reference: OMX_CONFIG_SENSORCALTYPE */
- OMX_IndexConfigISOSetting, /**< reference: OMX_CONFIG_ISOSETTINGTYPE */
- OMX_TI_IndexConfigSceneMode, /**< reference: OMX_CONFIG_SCENEMODETYPE */
-
- OMX_IndexConfigDigitalZoomSpeed, /**< reference: OMX_CONFIG_DIGITALZOOMSPEEDTYPE */
- OMX_IndexConfigDigitalZoomTarget, /**< reference: OMX_CONFIG_DIGITALZOOMTARGETTYPE */
-
- OMX_IndexConfigCommonScaleQuality, /**< reference: OMX_CONFIG_SCALEQUALITYTYPE */
-
- OMX_IndexConfigCommonDigitalZoomQuality, /**< reference: OMX_CONFIG_SCALEQUALITYTYPE */
-
- OMX_IndexConfigOpticalZoomSpeed, /**< reference: OMX_CONFIG_DIGITALZOOMSPEEDTYPE */
- OMX_IndexConfigOpticalZoomTarget, /**< reference: OMX_CONFIG_DIGITALZOOMTARGETTYPE */
-
- OMX_IndexConfigSmoothZoom, /**< reference: OMX_CONFIG_SMOOTHZOOMTYPE */
-
- OMX_IndexConfigBlemish, /**< reference: OMX_CONFIG_BLEMISHTYPE */
-
- OMX_IndexConfigExtCaptureMode, /**< reference: OMX_CONFIG_EXTCAPTUREMODETYPE */
- OMX_IndexConfigExtPrepareCapturing, /**< reference : OMX_CONFIG_BOOLEANTYPE */
- OMX_IndexConfigExtCapturing, /**< reference : OMX_CONFIG_EXTCAPTURING */
-
- OMX_IndexCameraOperatingMode, /**< OMX_CONFIG_CAMOPERATINGMODETYPE */
- OMX_IndexConfigDigitalFlash, /**< reference: OMX_CONFIG_BOOLEANTYPE */
- OMX_IndexConfigPrivacyIndicator, /**< reference: OMX_CONFIG_BOOLEANTYPE */
-
- OMX_IndexConfigTorchMode, /**< reference: OMX_CONFIG_TORCHMODETYPE */
-
- OMX_IndexConfigSlowSync, /**< reference: OMX_CONFIG_BOOLEANTYPE */
-
- OMX_IndexConfigExtFocusRegion, /**< reference : OMX_CONFIG_EXTFOCUSREGIONTYPE */
- OMX_IndexConfigFocusAssist, /**< reference: OMX_CONFIG_BOOLEANTYPE */
-
- OMX_IndexConfigImageFocusLock, /**< reference: OMX_IMAGE_CONFIG_LOCKTYPE */
- OMX_IndexConfigImageWhiteBalanceLock, /**< reference: OMX_IMAGE_CONFIG_LOCKTYPE */
- OMX_IndexConfigImageExposureLock, /**< reference: OMX_IMAGE_CONFIG_LOCKTYPE */
- OMX_IndexConfigImageAllLock, /**< reference: OMX_IMAGE_CONFIG_LOCKTYPE */
-
- OMX_IndexConfigImageDeNoiseLevel, /**< reference: OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE */
- OMX_IndexConfigSharpeningLevel, /**< reference: OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE */
- OMX_IndexConfigDeBlurringLevel, /**< reference: OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE */
- OMX_IndexConfigChromaCorrection, /**< reference: OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE */
- OMX_IndexConfigDeMosaicingLevel, /**< reference: OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE */
-
- OMX_IndexConfigCommonWhiteBalanceGain, /**< reference: OMX_CONFIG_WHITEBALGAINTYPE */
-
- OMX_IndexConfigCommonRGB2RGB, /**< reference: OMX_CONFIG_COLORCONVERSIONTYPE_II */
- OMX_IndexConfigCommonRGB2YUV, /**< reference: OMX_CONFIG_COLORCONVERSIONTYPE_II */
- OMX_IndexConfigCommonYUV2RGB, /**< reference : OMX_CONFIG_EXT_COLORCONVERSIONTYPE */
-
- OMX_IndexConfigCommonGammaTable, /**< reference: OMX_CONFIG_GAMMATABLETYPE */
-
- OMX_IndexConfigImageFaceDetection, /**< reference: OMX_CONFIG_OBJDETECTIONTYPE */
- OMX_IndexConfigImageBarcodeDetection, /**< reference: OMX_CONFIG_EXTRADATATYPE */
- OMX_IndexConfigImageSmileDetection, /**< reference: OMX_CONFIG_OBJDETECTIONTYPE */
- OMX_IndexConfigImageBlinkDetection, /**< reference: OMX_CONFIG_OBJDETECTIONTYPE */
- OMX_IndexConfigImageFrontObjectDetection, /**< reference: OMX_CONFIG_EXTRADATATYPE */
- OMX_IndexConfigHistogramMeasurement, /**< reference: OMX_CONFIG_HISTOGRAMTYPE */
- OMX_IndexConfigDistanceMeasurement, /**< reference: OMX_CONFIG_EXTRADATATYPE */
-
- OMX_IndexConfigSnapshotToPreview, /**< reference: OMX_CONFIG_BOOLEANTYPE */
-
- OMX_IndexConfigJpegHeaderType , /**< reference : OMX_CONFIG_JPEGHEEADERTYPE */
- OMX_IndexParamJpegMaxSize, /**< reference: OMX_IMAGE_JPEGMAXSIZE */
-
- OMX_IndexConfigRestartMarker, /**< reference: OMX_CONFIG_BOOLEANTYPE */
-
- OMX_IndexParamImageStampOverlay, /**< reference: OMX_PARAM_IMAGESTAMPOVERLAYTYPE */
- OMX_IndexParamThumbnail, /**< reference: OMX_PARAM_THUMBNAILTYPE */
- OMX_IndexConfigImageStabilization, /**< reference: OMX_CONFIG_BOOLEANTYPE */
- OMX_IndexConfigMotionTriggeredImageStabilisation, /**< reference : OMX_CONFIG_BOOLEANTYPE */
- OMX_IndexConfigRedEyeRemoval, /**< reference: OMX_CONFIG_REDEYEREMOVALTYPE */
- OMX_IndexParamHighISONoiseFiler, /**< reference: OMX_CONFIG_BOOLEANTYPE */
- OMX_IndexParamLensDistortionCorrection, /**< reference: OMX_CONFIG_BOOLEANTYPE */
- OMX_IndexParamLocalBrightnessAndContrast, /**< reference: OMX_CONFIG_BOOLEANTYPE */
- OMX_IndexConfigChromaticAberrationCorrection, /**< reference: OMX_CONFIG_BOOLEANTYPE */
- OMX_IndexParamVideoCaptureYUVRange, /**< reference: OMX_PARAM_VIDEOYUVRANGETYPE */
-
- OMX_IndexConfigFocusRegion, /**< reference: OMX_CONFIG_EXTFOCUSREGIONTYPE */
- OMX_IndexConfigImageMotionEstimation, /**< reference: OMX_CONFIG_OBJDETECTIONTYPE */
- OMX_IndexParamProcessingOrder, /**< reference: OMX_CONFIGPROCESSINGORDERTYPE */
- OMX_IndexParamFrameStabilisation, /**< reference: OMX_CONFIG_BOOLEANTYPE */
- OMX_IndexParamVideoNoiseFilter, /**< reference: OMX_PARAM_VIDEONOISEFILTERTYPE */
-
- OMX_IndexConfigOtherExtraDataControl, /**< reference: OMX_CONFIG_EXTRADATATYPE */
- OMX_TI_IndexParamBufferPreAnnouncement, /**< reference: OMX_TI_PARAM_BUFFERPREANNOUNCE */
- OMX_TI_IndexConfigBufferRefCountNotification, /**< reference: OMX_TI_CONFIG_BUFFERREFCOUNTNOTIFYTYPE */
- OMX_TI_IndexParam2DBufferAllocDimension, /**< reference: OMX_CONFIG_RECTTYPE */
- OMX_TI_IndexConfigWhiteBalanceManualColorTemp, /**< reference: OMX_TI_CONFIG_WHITEBALANCECOLORTEMPTPYPE */
- OMX_TI_IndexConfigFocusSpotWeighting, /**< reference: OMX_TI_CONFIG_FOCUSSPOTWEIGHTINGTYPE */
- OMX_TI_IndexParamSensorOverClockMode, /**< reference: OMX_CONFIG_BOOLEANTYPE */
- OMX_TI_IndexParamDccUriInfo, /**< reference: OMX_TI_PARAM_DCCURIINFO */
- OMX_TI_IndexParamDccUriBuffer, /**< reference: OMX_TI_PARAM_DCCURIBUFFER */
-
- /* MPEG4 and H264 encoder specific Indices */
- OMX_TI_IndexParamVideoIntraRefresh, /**< reference: OMX_TI_VIDEO_PARAM_INTRAREFRESHTYPE */
-
- OMX_TI_IndexConfigShutterCallback, /**< reference: OMX_CONFIG_BOOLEANTYPE */
- OMX_TI_IndexParamVarFrameRate, /**< reference: OMX_PARAM_VARFARAMERATETYPE */
- OMX_TI_IndexConfigAutoConvergence, /**< reference: OMX_TI_CONFIG_CONVERGENCETYPE */
- OMX_TI_IndexConfigRightExposureValue, /**< reference: OMX_TI_CONFIG_EXPOSUREVALUERIGHTTYPE */
- OMX_TI_IndexConfigExifTags, /**< reference: OMX_TI_CONFIG_SHAREDBUFFER */
- OMX_TI_IndexParamVideoPayloadHeaderFlag, /**< reference: OMX_TI_PARAM_PAYLOADHEADERFLAG */
- OMX_TI_IndexParamVideoIvfMode, /**< reference: OMX_TI_PARAM_IVFFLAG */
- OMX_TI_IndexConfigCamCapabilities, /**< reference: OMX_TI_CONFIG_SHAREDBUFFER */
- OMX_TI_IndexConfigFacePriority3a, /**< reference: OMX_TI_CONFIG_3A_FACE_PRIORITY */
- OMX_TI_IndexConfigRegionPriority3a, /**< reference: OMX_TI_CONFIG_3A_REGION_PRIORITY */
- OMX_TI_IndexParamAutoConvergence, /**< reference: OMX_TI_PARAM_AUTOCONVERGENCETYPE */
- OMX_TI_IndexConfigAAAskipBuffer, /**< reference: OMX_TI_CONFIG_AAASKIPBUFFERTYPE */
- OMX_TI_IndexParamStereoFrmLayout, /**< reference: OMX_TI_FRAMELAYOUTTYPE */
- OMX_TI_IndexConfigLocalBrightnessContrastEnhance, /**< reference: OMX_TI_CONFIG_LOCAL_AND_GLOBAL_BRIGHTNESSCONTRASTTYPE */
- OMX_TI_IndexConfigGlobalBrightnessContrastEnhance, /**< reference: OMX_TI_CONFIG_LOCAL_AND_GLOBAL_BRIGHTNESSCONTRASTTYPE */
- OMX_TI_IndexConfigVarFrmRange, /**< reference: OMX_TI_CONFIG_VARFRMRANGETYPE */
- OMX_TI_IndexParamAVCHRDBufferSizeSetting, /**< reference: OMX_TI_VIDEO_PARAM_AVCHRDBUFFERSETTING */
- OMX_TI_IndexConfigAVCHRDBufferSizeSetting, /**< reference: OMX_TI_VIDEO_CONFIG_AVCHRDBUFFERSETTING */
- OMX_TI_IndexConfigFocusDistance, /**< reference: OMX_TI_CONFIG_FOCUSDISTANCETYPE */
- OMX_TI_IndexUseNativeBuffers, /**< reference: OMX_TI_ParamUseNativeBuffer */
- OMX_TI_IndexParamUseEnhancedPortReconfig, /**< reference: OMX_TI_IndexParamUseEnhancedPortReconfig */
- OMX_TI_IndexEncoderStoreMetadatInBuffers,
- OMX_TI_IndexParamZslHistoryLen, /**< reference: OMX_TI_PARAM_ZSLHISTORYLENTYPE */
- OMX_TI_IndexConfigZslDelay, /**< reference: OMX_TI_CONFIG_ZSLDELAYTYPE */
- OMX_TI_IndexParamMetaDataBufferInfo, /***< reference: OMX_TI_PARAM_METADATABUFFERINFO */
- OMX_TI_IndexConfigZslFrameSelectMethod, /**< reference: OMX_TI_CONFIG_ZSLFRAMESELECTMETHODTYPE */
- OMX_TI_IndexAndroidNativeBufferUsage, /**< reference: OMX_TI_IndexAndroidNativeBufferUsage */
- OMX_TI_IndexConfigAlgoAreas, /**< reference: OMX_PARAM_SHAREDBUFFER (pSharedBuff is OMX_ALGOAREASTYPE) */
- OMX_TI_IndexConfigAutofocusEnable /**< reference: OMX_CONFIG_BOOLEANTYPE */
-} OMX_TI_INDEXTYPE;
-
-
-
-/*******************************************************************
- * PRIVATE DECLARATIONS: defined here, used only here
- *******************************************************************/
-/*---------- data declarations ------------------- */
-/*---------- function prototypes ------------------- */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _OMX_TI_INDEX_H_ */
-
diff --git a/domx/omx_core/inc/OMX_TI_Video.h b/domx/omx_core/inc/OMX_TI_Video.h
deleted file mode 100755
index 6e4989c..0000000
--- a/domx/omx_core/inc/OMX_TI_Video.h
+++ /dev/null
@@ -1,2587 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-/* -------------------------------------------------------------------------- */
-/*
- * @file:Omx_ti_video.h
- * This header defines the structures specific to the param or config indices of Openmax Video Component.
- *
- * @path:
- * \WTSD_DucatiMMSW\ omx\omx_il_1_x\omx_core\
-
- * -------------------------------------------------------------------------- */
-
-/* =========================================================================
- *!
- *! Revision History
- *! =====================================================================
- *! 24-Dec-2008 Navneet navneet@ti.com Initial Version
- *! 14-Jul-2009 Radha Purnima radhapurnima@ti.com
- *! 25-Aug-2009 Radha Purnima radhapurnima@ti.com
- *! 16-May-2009 Shivaraj Shetty shettyshivaraj@ti.com
- * =========================================================================*/
-
-
-#ifndef OMX_TI_VIDEO_H
-#define OMX_TI_VIDEO_H
-#define H264ENC_MAXNUMSLCGPS 2
-#define OMXH264E_MAX_SLICE_SUPPORTED 64
-#include <OMX_Core.h>
-
-/**
- * @brief mode selection for the data that is given to the Codec
- */
-
-typedef enum OMX_VIDEO_DATASYNCMODETYPE {
- OMX_Video_FixedLength, //!< Interms of multiples of 4K
- OMX_Video_SliceMode, //!< Slice mode
- OMX_Video_NumMBRows, //!< Number of rows, each row is 16 lines of video
- OMX_Video_EntireFrame //!< Processing of entire frame data
-} OMX_VIDEO_DATASYNCMODETYPE;
-
-
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_PARAM_DATAMODE :to configure how the input and output data is fed to the Codec
- @param nPortIndex to specify the index of the port
- @param eDataMode to specify the data mode
- @sa OMX_VIDEO_DATASYNCMODETYPE
- @param nNumDataUnits to specify the number of data units (where units are of type defined by eDataMode)
- */
-/* ==========================================================================*/
-typedef struct OMX_VIDEO_PARAM_DATASYNCMODETYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEO_DATASYNCMODETYPE eDataMode;
- OMX_U32 nNumDataUnits;
-} OMX_VIDEO_PARAM_DATASYNCMODETYPE;
-
-/**
- * @brief Aspect Ratio type selection for the encoded bit stream
- */
-typedef enum OMX_VIDEO_ASPECTRATIOTYPE{
- OMX_Video_AR_Unspecified, //!< Unspecified aspect ratio
- OMX_Video_AR_Square , //!< 1:1 (square) aspect ratio
- OMX_Video_AR_12_11 , //!< 12:11 aspect ratio
- OMX_Video_AR_10_11 , //!< 10:11 aspect ratio
- OMX_Video_AR_16_11 , //!< 16:11 aspect ratio
- OMX_Video_AR_40_33 , //!< 40:33 aspect ratio
- OMX_Video_AR_24_11 , //!< 24:11 aspect ratio
- OMX_Video_AR_20_11 , //!< 20:11 aspect ratio
- OMX_Video_AR_32_11 , //!< 32:11 aspect ratio
- OMX_Video_AR_80_33 , //!< 80:33 aspect ratio
- OMX_Video_AR_18_11 , //!< 18:11 aspect ratio
- OMX_Video_AR_15_15 , //!< 15:15 aspect ratio
- OMX_Video_AR_64_33 , //!< 64:33 aspect ratio
- OMX_Video_AR_160_99 , //!< 160:99 aspect ratio
- OMX_Video_AR_4_3 , //!< 4:3 aspect ratio
- OMX_Video_AR_3_2 , //!< 3:2 aspect ratio
- OMX_Video_AR_2_1 , //!< 2:1 aspect ratio
- OMX_Video_AR_Extended = 255, //!< Extended aspect ratio
- OMX_Video_AR_Extended_MAX = 0X7FFFFFFF
-}OMX_VIDEO_ASPECTRATIOTYPE;
-
-
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_PARAM_VUI_SELECT :to select the VUI Settings
- @param bAspectRatioPresent flag to indicate the insertion of aspect ratio information in VUI part of bit-stream
- @param ePixelAspectRatio to specify the Aspect Ratio
- @param bFullRange to indicate whether pixel value range is specified as full range or not (0 to 255)
-*/
-/* ==========================================================================*/
-typedef struct OMX_VIDEO_PARAM_VUIINFOTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bAspectRatioPresent;
- OMX_VIDEO_ASPECTRATIOTYPE ePixelAspectRatio;
- OMX_BOOL bFullRange;
-}OMX_VIDEO_PARAM_VUIINFOTYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_VIDEO_CONFIG_PIXELINFOTYPE :to specify the information related to the input pixel data (aspect ratio & range) to the Codec
- so that codec can incorporate this info in the coded bit stream
- @param nWidth to specify the Aspect ratio: width of the pixel
- @param nHeight to specify the Aspect ratio: height of the pixel
- */
-/* ==========================================================================*/
-typedef struct OMX_VIDEO_CONFIG_PIXELINFOTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nWidth;
- OMX_U32 nHeight;
-} OMX_VIDEO_CONFIG_PIXELINFOTYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_VIDEO_PARAM_AVCNALUCONTROLTYPE : to configure what NALU need to send along the frames of different types (Intra,IDR...etc)
- @param nStartofSequence to configure the different NALU (specified via enabling/disabling (1/0) the bit positions) that need to send along with the Start of sequence frame
- @param nEndofSequence to to configure the different NALU (specified via enabling/disabling (1/0) the bit positions) that need to send along with the End of sequence frame
- @param nIDR to to configure the different NALU (specified via enabling/disabling (1/0) the bit positions) that need to send along with the IDR frame
- @param nIntraPicture to to configure the different NALU (specified via enabling/disabling (1/0) the bit positions) that need to send along with the Intra frame
- @param nNonIntraPicture to to configure the different NALU (specified via enabling/disabling (1/0) the bit positions) that need to send along with the Non Intra frame
-
-Bit Position: 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0
-NALU TYPE: SPS_VUI|FILLER|EOSTREAM|EOSEQ|AUD|PPS|SPS|SEI|IDR_SLICE|SLICE_DP_C|SLICE_DP_B|SLICE_DP_A|SLICE|UNSPECIFIED \n
-*/
-/* ==========================================================================*/
-typedef struct OMX_VIDEO_PARAM_AVCNALUCONTROLTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nStartofSequence;
- OMX_U32 nEndofSequence;
- OMX_U32 nIDR;
- OMX_U32 nIntraPicture;
- OMX_U32 nNonIntraPicture;
-}OMX_VIDEO_PARAM_AVCNALUCONTROLTYPE;
-
-
-/* ========================================================================== */
-/*!
- @brief OMX_VIDEO_CONFIG_MESEARCHRANGETYPE : to configure Motion Estimation Parameters
- @param eMVAccuracy to specify the Motion Vector Accuracy
- @sa OMX_VIDEO_MOTIONVECTORTYPE
- @param sHorSearchRangeP to Specify the Horizontal Search range for P Frame
- @param sVerSearchRangeP to Specify the Vertical Search range for P Frame
- @param sHorSearchRangeB to Specify the Horizontal Search range for B Frame
- @param sVerSearchRangeB to Specify the Vertical Search range for B Frame
-*/
-/* ==========================================================================*/
-typedef struct OMX_VIDEO_CONFIG_MESEARCHRANGETYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEO_MOTIONVECTORTYPE eMVAccuracy;
- OMX_U32 nHorSearchRangeP;
- OMX_U32 nVerSearchRangeP;
- OMX_U32 nHorSearchRangeB;
- OMX_U32 nVerSearchRangeB;
-}OMX_VIDEO_CONFIG_MESEARCHRANGETYPE;
-
-/**
- * @brief Block size specification
- */
-typedef enum OMX_VIDEO_BLOCKSIZETYPE {
- OMX_Video_Block_Size_16x16=0,
- OMX_Video_Block_Size_8x8,
- OMX_Video_Block_Size_8x4,
- OMX_Video_Block_Size_4x8,
- OMX_Video_Block_Size_4x4,
- OMX_Video_Block_Size_MAX = 0X7FFFFFFF
-}OMX_VIDEO_BLOCKSIZETYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_VIDEO_PARAM_MEBLOCKSIZETYPE : to configure the Min Motion Estimation block size for P and B frames
- @param eMinBlockSizeP to specify the Min Block size used for Motion Estimation incase of P Frames
- @sa OMX_VIDEO_BLOCKSIZETYPE
- @param eMinBlockSizeB to specify the Min Block size used for Motion Estimation incase of B Frames
-*/
-/* ==========================================================================*/
-typedef struct OMX_VIDEO_PARAM_MEBLOCKSIZETYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEO_BLOCKSIZETYPE eMinBlockSizeP;
- OMX_VIDEO_BLOCKSIZETYPE eMinBlockSizeB;
-}OMX_VIDEO_PARAM_MEBLOCKSIZETYPE;
-
-/**
- * @brief to select the chroma component used for Intra Prediction
- */
-typedef enum OMX_VIDEO_CHROMACOMPONENTTYPE {
- OMX_Video_Chroma_Component_Cr_Only=0, //!< consider only Cr chroma component for Intra prediction
- OMX_Video_Chroma_Component_Cb_Cr_Both, //!< consider both (Cb & Cr) chroma components for Intra prediction
- OMX_Video_Chroma_Component_MAX = 0X7FFFFFFF
-}OMX_VIDEO_CHROMACOMPONENTTYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_VIDEO_PARAM_INTRAPREDTYPE : to configure the Modes for the different block sizes during Intra Prediction
- @param nLumaIntra4x4Enable to configure the Modes for 4x4 block size during luma intra prediction: bit position specifies the modes that are enabled/disabled
- HOR_UP|VERT_LEFT|HOR_DOWN|VERT_RIGHT|DIAG_DOWN_RIGHT|DIAG_DOWN_LEFT|DC|HOR|VER
- @param nLumaIntra8x8Enable to configure the Modes for 4x4 block size during luma intra prediction
- HOR_UP|VERT_LEFT|HOR_DOWN|VERT_RIGHT|DIAG_DOWN_RIGHT|DIAG_DOWN_LEFT|DC|HOR|VER
- @param nLumaIntra16x16Enable to configure the Modes for 4x4 block size during luma intra prediction
- PLANE|DC|HOR|VER
- @param nChromaIntra8x8Enable to configure the Modes for 4x4 block size during luma intra prediction
- PLANE|DC|HOR|VER
- @param eChromaComponentEnable to select the chroma components used for the intra prediction
- @sa OMX_VIDEO_CHROMACOMPONENTTYPE
-*/
-/* ==========================================================================*/
-typedef struct OMX_VIDEO_PARAM_INTRAPREDTYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nLumaIntra4x4Enable;
- OMX_U32 nLumaIntra8x8Enable;
- OMX_U32 nLumaIntra16x16Enable;
- OMX_U32 nChromaIntra8x8Enable;
- OMX_VIDEO_CHROMACOMPONENTTYPE eChromaComponentEnable;
-}OMX_VIDEO_PARAM_INTRAPREDTYPE;
-
-
-/**
- * @brief Encoding Mode Preset
- */
-typedef enum OMX_VIDEO_ENCODING_MODE_PRESETTYPE {
- OMX_Video_Enc_Default=0, //!< for all the params default values are taken
- OMX_Video_Enc_High_Quality, //!< todo: mention the parameters that takes specific values depending on this selection
- OMX_Video_Enc_User_Defined,
- OMX_Video_Enc_High_Speed_Med_Quality,
- OMX_Video_Enc_Med_Speed_Med_Quality,
- OMX_Video_Enc_Med_Speed_High_Quality,
- OMX_Video_Enc_High_Speed,
- OMX_Video_Enc_Preset_MAX = 0X7FFFFFFF
-}OMX_VIDEO_ENCODING_MODE_PRESETTYPE;
-
-/**
- * @brief Rate Control Preset
- */
-typedef enum OMX_VIDEO_RATECONTROL_PRESETTYPE {
- OMX_Video_RC_Low_Delay, //!<todo: mention the parameters that takes specific values depending on this selection
- OMX_Video_RC_Storage,
- OMX_Video_RC_Twopass,
- OMX_Video_RC_None,
- OMX_Video_RC_User_Defined,
- OMX_Video_RC_MAX = 0X7FFFFFFF
-}OMX_VIDEO_RATECONTROL_PRESETTYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_VIDEO_PARAM_ENCODER_PRESETTYPE : to select the preset for Encoding Mode & Rate Control
- @param eEncodingModePreset to specify Encoding Mode Preset
- @sa OMX_VIDEO_ENCODING_MODE_PRESETTYPE
- @param eRateControlPreset to specify Rate Control Preset
- @sa OMX_VIDEO_RATECONTROL_PRESETTYPE
-*/
-/* ==========================================================================*/
-typedef struct OMX_VIDEO_PARAM_ENCODER_PRESETTYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEO_ENCODING_MODE_PRESETTYPE eEncodingModePreset;
- OMX_VIDEO_RATECONTROL_PRESETTYPE eRateControlPreset;
-}OMX_VIDEO_PARAM_ENCODER_PRESETTYPE;
-
-
-/**
- * @brief input content type
- */
-typedef enum OMX_TI_VIDEO_FRAMECONTENTTYPE {
- OMX_TI_Video_Progressive = 0, //!<Progressive frame
- OMX_TI_Video_Interlace_BothFieldsTogether = 1, //!<Interlaced frame
- OMX_TI_Video_Interlace_OneField = 2,
- OMX_TI_Video_AVC_2004_StereoInfoType = 3,
- OMX_TI_Video_AVC_2010_StereoFramePackingType = 4,
- OMX_TI_Video_FrameContentType_MAX = 0x7FFFFFFF
-}OMX_TI_VIDEO_FRAMECONTENTTYPE;
-
-/**
- * @brief Specifies the type of interlace content
- */
-typedef enum OMX_TI_VIDEO_AVC_INTERLACE_CODINGTYPE {
- OMX_TI_Video_Interlace_PICAFF = 0, //!< PicAFF type of interlace coding
- OMX_TI_Video_Interlace_MBAFF, //!< MBAFF type of interlace coding
- OMX_TI_Video_Interlace_Fieldonly, //!< Field only coding
- OMX_TI_Video_Interlace_Fieldonly_MRF=OMX_TI_Video_Interlace_Fieldonly,
- OMX_TI_Video_Interlace_Fieldonly_ARF,
- OMX_TI_Video_Interlace_Fieldonly_SPF, //!< Field only coding where codec decides the partiy of the field to be used based upon content
- OMX_Video_Interlace_MAX = 0x7FFFFFFF
-}OMX_TI_VIDEO_AVC_INTERLACE_CODINGTYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_PARAM_FRAMEDATACONTENTTYPE : to configure the data content
- @param eContentType to specify Content type
- @sa OMX_VIDEO_FRAMECONTENTTYPE
-*/
-/* ==========================================================================*/
-typedef struct OMX_TI_VIDEO_PARAM_FRAMEDATACONTENTTYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_VIDEO_FRAMECONTENTTYPE eContentType;
-}OMX_TI_VIDEO_PARAM_FRAMEDATACONTENTTYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_PARAM_AVCINTERLACECODING : to configure the interlace encoding related settings
- @param eInterlaceCodingType to specify the settings of interlace content
- @sa OMX_VIDEO_INTERLACE_CODINGTYPE
- @param bTopFieldFirst to specify the first field sent is top or bottom
- @param bBottomFieldIntra to specify codec that encode bottomfield also as intra or not
-*/
-/* ==========================================================================*/
-typedef struct OMX_TI_VIDEO_PARAM_AVCINTERLACECODING{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_VIDEO_AVC_INTERLACE_CODINGTYPE eInterlaceCodingType;
- OMX_BOOL bTopFieldFirst;
- OMX_BOOL bBottomFieldIntra;
-}OMX_TI_VIDEO_PARAM_AVCINTERLACECODING;
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_PARAM_AVCENC_STEREOINFO2004 : to configure the 2004 related stereo information type
-*/
-/* ==========================================================================*/
-
-typedef struct OMX_TI_VIDEO_PARAM_AVCENC_STEREOINFO2004
-{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL btopFieldIsLeftViewFlag;
- OMX_BOOL bViewSelfContainedFlag;
-} OMX_TI_VIDEO_AVCENC_STEREOINFO2004;
-
-typedef enum OMX_TI_VIDEO_AVCSTEREO_FRAMEPACKTYPE{
- OMX_TI_Video_FRAMEPACK_CHECKERBOARD = 0,
- OMX_TI_Video_FRAMEPACK_COLUMN_INTERLEAVING = 1,
- OMX_TI_Video_FRAMEPACK_ROW_INTERLEAVING = 2,
- OMX_TI_Video_FRAMEPACK_SIDE_BY_SIDE = 3,
- OMX_TI_Video_FRAMEPACK_TOP_BOTTOM = 4,
- OMX_TI_Video_FRAMEPACK_TYPE_DEFAULT = OMX_TI_Video_FRAMEPACK_SIDE_BY_SIDE,
- OMX_TI_Video_FRAMEPACK_TYPE_MAX = 0x7FFFFFFF
-} OMX_TI_VIDEO_AVCSTEREO_FRAMEPACKTYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_PARAM_AVCENC_FRAMEPACKINGINFO2010 : to configure the 2010 related stereo information type
-*/
-/* ==========================================================================*/
-
-typedef struct OMX_TI_VIDEO_PARAM_AVCENC_FRAMEPACKINGINFO2010
-{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_VIDEO_AVCSTEREO_FRAMEPACKTYPE eFramePackingType;
- OMX_U8 nFrame0PositionX;
- OMX_U8 nFrame0PositionY;
- OMX_U8 nFrame1PositionX;
- OMX_U8 nFrame1PositionY;
-}OMX_TI_VIDEO_PARAM_AVCENC_FRAMEPACKINGINFO2010;
-
-/**
- * @brief Specifies Transform Block Size
- */
-typedef enum OMX_VIDEO_TRANSFORMBLOCKSIZETYPE {
- OMX_Video_Transform_Block_Size_4x4 =0, //!< Transform blocks size is 8x8 : Valid for only High Profile
- OMX_Video_Transform_Block_Size_8x8, //!< Transform blocks size is 4x4
- OMX_Video_Transform_Block_Size_Adaptive, //!< Adaptive transform block size : encoder decides as per content
- OMX_Video_Transform_Block_Size_MAX = 0X7FFFFFFF
-}OMX_VIDEO_TRANSFORMBLOCKSIZETYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_VIDEO_PARAM_TRANSFORM_BLOCKSIZETYPE : to select the Block Size used for transformation
- @param eTransformBlocksize to specify Block size used for transformation
- @sa OMX_VIDEO_TRANSFORMBLOCKSIZETYPE
-*/
-/* ==========================================================================*/
-
-typedef struct OMX_VIDEO_PARAM_TRANSFORM_BLOCKSIZETYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEO_TRANSFORMBLOCKSIZETYPE eTransformBlocksize;
-}OMX_VIDEO_PARAM_TRANSFORM_BLOCKSIZETYPE;
-
-
-/* ========================================================================== */
-/*!
- @brief OMX_VIDEO_CONFIG_SLICECODINGTYPE : to configure the Slice Settings
- @param eSliceMode to specify the Slice mode
- @sa OMX_VIDEO_AVCSLICEMODETYPE
- @param nSlicesize to specify the sliceSize
-*/
-/* ==========================================================================*/
-
-typedef struct OMX_VIDEO_CONFIG_SLICECODINGTYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEO_AVCSLICEMODETYPE eSliceMode;
- OMX_U32 nSlicesize;
-}OMX_VIDEO_CONFIG_SLICECODINGTYPE;
-
-/**
- * @brief Specifies Slice Group Change Direction Flag
- */
-typedef enum OMX_VIDEO_SLIGRPCHANGEDIRTYPE{
- OMX_Video_Raster_Scan = 0 , //!< 0 : Raster scan order
- OMX_Video_Clockwise = 0 , //!< 0 : Clockwise (used for BOX OUT FMO Params)
- OMX_Video_Right = 0 , //!< 0 : RIGHT (Used for Wipe FMO type)
- OMX_Video_Reverse_Raster_Scan= 1 , //!< 1 : Reverse Raster Scan Order
- OMX_Video_Counter_Clockwise = 1 , //!< 1 : Counter Clockwise (used for BOX OUT FMO Params)
- OMX_Video_Left = 1, //!< 1 : LEFT (Used for Wipe FMO type)
- OMX_Video_Left_MAX = 0X7FFFFFFF
-} OMX_VIDEO_SLICEGRPCHANGEDIRTYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_PARAM_FMO_ADVANCEDSETTINGS : to configure the FMO Settings
- @param
-*/
-/* ==========================================================================*/
-typedef struct OMX_VIDEO_PARAM_AVCADVANCEDFMOTYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U8 nNumSliceGroups;
- OMX_U8 nSliceGroupMapType;
- OMX_VIDEO_SLICEGRPCHANGEDIRTYPE eSliceGrpChangeDir;
- OMX_U32 nSliceGroupChangeRate;
- OMX_U32 nSliceGroupChangeCycle;
- OMX_U32 nSliceGroupParams[H264ENC_MAXNUMSLCGPS] ;
-}OMX_VIDEO_PARAM_AVCADVANCEDFMOTYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_CONFIG_QPSETTINGS : to configure the Qp Settings of I, P &B Frames
- @param nQpI
-*/
-/* ==========================================================================*/
-
-typedef struct OMX_VIDEO_CONFIG_QPSETTINGSTYPE{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nQpI;
- OMX_U32 nQpMaxI;
- OMX_U32 nQpMinI;
- OMX_U32 nQpP;
- OMX_U32 nQpMaxP;
- OMX_U32 nQpMinP;
- OMX_U32 nQpOffsetB;
- OMX_U32 nQpMaxB;
- OMX_U32 nQpMinB;
-}OMX_VIDEO_CONFIG_QPSETTINGSTYPE;
-
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_PARAM_AVCHRDBUFFERSETTING : to configure the HRD
- (Hypothetical Reference Decoder) related params
- @param nInitialBufferLevel Initial buffer level for HRD compliance
- @param nHRDBufferSize Hypothetical Reference Decoder buffer size
- @param nTargetBitrate Target bitrate to encode with
-*/
-/* ==========================================================================*/
-
-typedef struct OMX_TI_VIDEO_PARAM_AVCHRDBUFFERSETTING {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nInitialBufferLevel;
- OMX_U32 nHRDBufferSize;
- OMX_U32 nTargetBitrate;
-} OMX_TI_VIDEO_PARAM_AVCHRDBUFFERSETTING;
-
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_CONFIG_AVCHRDBUFFERSETTING : to configure the HRD
- (Hypothetical Reference Decoder) related params
- @param nHRDBufferSize Hypothetical Reference Decoder Buffer Size
- @param nEncodeBitrate Target bitrate to encode with
-
-*/
-/* ==========================================================================*/
-
-typedef struct OMX_TI_VIDEO_CONFIG_AVCHRDBUFFERSETTING {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nHRDBufferSize;
- OMX_U32 nEncodeBitrate;
-} OMX_TI_VIDEO_CONFIG_AVCHRDBUFFERSETTING;
-
-/* ========================================================================= */
-/*!
- @brief OMX_TI_VIDEO_CODINGTYPE :
- Extension to video coding type enum for VP6 and VP7
- @param
-*/
-/* ==========================================================================*/
-
-typedef enum OMX_TI_VIDEO_CODINGTYPE {
- OMX_VIDEO_CodingVP6 =
- (OMX_VIDEO_CODINGTYPE) OMX_VIDEO_CodingVendorStartUnused +1, /* VP6 */
- OMX_VIDEO_CodingVP7, /* VP7 */
- OMX_TI_VIDEO_CodingSORENSONSPK, /* Sorenson spark*/
- OMX_VIDEO_CodingSVC, /**< H.264/SVC */
-}OMX_TI_VIDEO_CODINGTYPE;
-
-
-/* ========================================================================= */
-/*!
- @brief OMX_TI_VIDEO_MPEG4LEVELTYPE:
- Extension to MPEG-4 level to cater to level 6
- @param
-*/
-/* ==========================================================================*/
-typedef enum OMX_TI_VIDEO_MPEG4LEVELTYPE {
- OMX_TI_VIDEO_MPEG4Level6 =
- (OMX_VIDEO_MPEG4LEVELTYPE) OMX_VIDEO_MPEG4LevelVendorStartUnused + 1
-} OMX_TI_VIDEO_MPEG4LEVELTYPE;
-
-
-
-/**
- * @brief Specifies various intra refresh methods
- */
-typedef enum OMX_TI_VIDEO_INTRAREFRESHTYPE {
- OMX_TI_VIDEO_IntraRefreshNone = 0,
- OMX_TI_VIDEO_IntraRefreshCyclicMbs,
- OMX_TI_VIDEO_IntraRefreshCyclicRows,
- OMX_TI_VIDEO_IntraRefreshMandatory,
- OMX_TI_VIDEO_IntraRefreshMax = 0x7FFFFFFF
-} OMX_TI_VIDEO_INTRAREFRESHTYPE;
-
-
-/* ========================================================================== */
-/*!
- @brief OMX_TI_VIDEO_PARAM_INTRAREFRESHTYPE : Configuration parameters for
- intra refresh settings
- @param eRefreshMode Various refresh modes supported
- @param nIntraRefreshRate Intra refresh rate
-*/
-/* ==========================================================================*/
-
-typedef struct OMX_TI_VIDEO_PARAM_INTRAREFRESHTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_TI_VIDEO_INTRAREFRESHTYPE eRefreshMode;
- OMX_U32 nIntraRefreshRate;
-} OMX_TI_VIDEO_PARAM_INTRAREFRESHTYPE;
-
-
-/* ============================================================================= */
-/*!
- @brief OMX_TI_STEREODECINFO : Structure to access 2004 SEI message generated by
- H264 decoder as metatadata on its output port.
- */
-/* ============================================================================= */
-
-typedef struct OMX_TI_STEREODECINFO {
- OMX_U32 nFieldViewsFlag;
- OMX_U32 nTopFieldIsLeftViewFlag;
- OMX_U32 nCurrentFrameIsLeftViewFlag;
- OMX_U32 nNextFrameIsSecondViewFlag;
- OMX_U32 nLeftViewSelfContainedFlag;
- OMX_U32 nRightViewSelfContainedFlag;
-} OMX_TI_STEREODECINFO;
-
-typedef struct OMX_TI_FRAMEPACKINGDECINFO {
- OMX_U32 nFramePackingArrangementId;
- OMX_U32 nFramePackingArrangementRepetitionPeriod;
- OMX_U8 nFramePackingArrangementCancelFlag;
- OMX_U8 nFramePackingArrangementType;
- OMX_U8 nQuincunxSamplingFlag;
- OMX_U8 nContentInterpretationType;
- OMX_U8 nSpatialFlippingFlag;
- OMX_U8 nFrame0FlippedFlag;
- OMX_U8 nFieldViewsFlag;
- OMX_U8 nCurrentFrameIsFrame0Flag;
- OMX_U8 nFrame0SelfContainedFlag;
- OMX_U8 nFrame1SelfContainedFlag;
- OMX_U8 nFrame0GridPositionX;
- OMX_U8 nFrame0GridPositionY;
- OMX_U8 nFrame1GridPositionX;
- OMX_U8 nFrame1GridPositionY;
- OMX_U8 nFramePackingArrangementReservedByte;
- OMX_U8 nFramePackingArrangementExtensionFlag;
-} OMX_TI_FRAMEPACKINGDECINFO;
-
-/* ============================================================================= */
-/*!
- @brief OMX_TI_VIDEO_RANGEMAPPING : Structure to access luma and chroma range
- mapping generated by decoders as
- metatadata on its output port.
- @param nRangeMappingLuma Luma scale factor for range mapping.
- @param nRangeMappingChroma Chroma scale factor for range mapping.
-*/
-/* ============================================================================= */
-
-typedef struct OMX_TI_VIDEO_RANGEMAPPING {
- OMX_U32 nRangeMappingLuma;
- OMX_U32 nRangeMappingChroma;
-} OMX_TI_VIDEO_RANGEMAPPING;
-
-/* ============================================================================= */
-/*!
- @brief OMX_TI_VIDEO_RESCALINGMATRIX : Structure to access rescaled
- width/height generated by decoders
- as metatadata on its output port.
- @param nScaledHeight Scaled image width for post processing for decoder.
- @param nScaledWidth Scaled image height for post processing for decoder.
-*/
-/* ============================================================================= */
-
-typedef struct OMX_TI_VIDEO_RESCALINGMATRIX {
- OMX_U32 nScaledHeight;
- OMX_U32 nScaledWidth;
-} OMX_TI_VIDEO_RESCALINGMATRIX;
-
-
-/*==========================================================================*/
-/*!
- @brief OMX_TI_PARAM_PAYLOADHEADERFLAG : To specify the payload headerflag
- for VP6/VP7 decoder.
- @param bPayloadHeaderFlag Flag - TRUE indicates that frame length and
- timestamp(for IVF format) will be part of
- frame input buffer.
- Flag - FALSE indecates that frame length and
- timestamp(for IVF format) will not be part of
- the input buffer.
-*/
-/*==========================================================================*/
-
-typedef struct OMX_TI_PARAM_PAYLOADHEADERFLAG {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_BOOL bPayloadHeaderFlag;
-} OMX_TI_PARAM_PAYLOADHEADERFLAG;
-
-
-/*==========================================================================*/
-/*!
-@brief OMX_TI_PARAM_IVFFLAG : Suport added to handle IVF header Decoding Mode
-@param bIvfFlag TRUE enables IVF decoding mode.
- FALSE indicates bitstream format is non-IVF.
-*/
-/*==========================================================================*/
-
-typedef struct OMX_TI_PARAM_IVFFLAG {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_BOOL bIvfFlag;
-} OMX_TI_PARAM_IVFFLAG;
-
-// A pointer to this struct is passed to OMX_SetParameter() when the extension
-// index "OMX.google.android.index.storeMetaDataInBuffers"
-// is given.
-//
-// When meta data is stored in the video buffers passed between OMX clients
-// and OMX components, interpretation of the buffer data is up to the
-// buffer receiver, and the data may or may not be the actual video data, but
-// some information helpful for the receiver to locate the actual data.
-// The buffer receiver thus needs to know how to interpret what is stored
-// in these buffers, with mechanisms pre-determined externally. How to
-// interpret the meta data is outside of the scope of this method.
-//
-// Currently, this is specifically used to pass meta data from video source
-// (camera component, for instance) to video encoder to avoid memcpying of
-// input video frame data. To do this, bStoreMetaDta is set to OMX_TRUE.
-// If bStoreMetaData is set to false, real YUV frame data will be stored
-// in the buffers. In addition, if no OMX_SetParameter() call is made
-// with the corresponding extension index, real YUV data is stored
-// in the buffers.
-typedef struct OMX_VIDEO_STOREMETADATAINBUFFERSPARAMS {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bStoreMetaData;
-} OMX_VIDEO_STOREMETADATAINBUFFERSPARAMS;
-
-
-/**
- * Interlaced Video Content format
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nFormat : bitmapped value indentifying the interlaced formats supported by component
- * nTimeStamp : temporal timestamp information for the second field
- */
-typedef struct OMX_TI_INTERLACEFORMATTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nFormat;
- OMX_TICKS nTimeStamp;
-} OMX_TI_INTERLACEFORMATTYPE;
-
-/**
- * Interlace format types
- */
-typedef enum OMX_TI_INTERLACETYPE {
- OMX_InterlaceFrameProgressive= 0x00,
- OMX_InterlaceInterleaveFrameTopFieldFirst= 0x01,
- OMX_InterlaceInterleaveFrameBottomFieldFirst= 0x02,
- OMX_InterlaceFrameTopFieldFirst= 0x04,
- OMX_InterlaceFrameBottomFieldFirst= 0x08,
- OMX_InterlaceInterleaveFieldTop= 0x10,
- OMX_InterlaceInterleaveFieldBottom= 0x20,
- OMX_InterlaceFmtMask= 0x7FFFFFFF
-} OMX_TI_INTERLACETYPE;
-
-/**
- * To query if the stream contains interlaced or progressive conten
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * bInterlaceFormat : whether the stream contains interlace or progressive content
- * OMX_TRUE indicates interlace and OMX_FALSE indicates progressive
- * nInterlaceFormats : bitmapped value identifying the interlace formats detected within the stream
- */
-typedef struct OMX_TI_STREAMINTERLACEFORMATTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bInterlaceFormat;
- OMX_U32 nInterlaceFormats;
-} OMX_TI_STREAMINTERLACEFORMAT;
-
-/*
-@brief OMX_TI_VIDEO_CONFIG_PICSIZECONTROLINFO : Structure to provide the configuration to compute min and max picture size
-@param minPicSizeRatio : This ratio is used to compute minimum picture size in the following manner,
-minPicSize = averagePicSize >> minPicSizeRatio. Allowed values are 1 to 4. Setting this to 0 will enable encoder chosen ratio.
-@param maxPicSizeRatio : This ratio is used to compute maximum picture size in the following manner,
-maxPicSize = averagePicSize * maxPicSizeRatio. Allowed values are 2 to 30. Setting this to 0 or 1 will enable encoder chosen ratio.
-*/
-/* ============================================================================= */
-typedef struct OMX_TI_VIDEO_CONFIG_PICSIZECONTROLINFO {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U16 minPicSizeRatio;
- OMX_U16 maxPicSizeRatio;
-} OMX_TI_VIDEO_CONFIG_PICSIZECONTROLINFO;
-
-
-/*!====================================================================!
-
- Currently we only support SVC baseline profile
-
- * !====================================================================!*/
- typedef enum OMX_TI_VIDEO_SVCPROFILETYPE {
- OMX_VIDEO_SVCProfileBaseline = 0x01, /**< Baseline profile */
- OMX_VIDEO_SVCProfileHigh = 0x02, /**< High profile */
- OMX_VIDEO_SVCProfileHighIntra = 0x03, /**< High Intra profile */
- OMX_VIDEO_SVCProfileMax = 0x7FFFFFFF
- } OMX_TI_VIDEO_SVCPROFILETYPE;
-
-
-/*!====================================================================!
-
- Currently we support only SVC baseline profile upto level 4 for SVC encoder.
-
- * !====================================================================!*/
- typedef enum OMX_TI_VIDEO_SVCLEVELTYPE {
- OMX_VIDEO_SVCLevel1 = 0x01, /**< Level 1 */
- OMX_VIDEO_SVCLevel1b = 0x02, /**< Level 1b */
- OMX_VIDEO_SVCLevel11 = 0x04, /**< Level 1.1 */
- OMX_VIDEO_SVCLevel12 = 0x08, /**< Level 1.2 */
- OMX_VIDEO_SVCLevel13 = 0x10, /**< Level 1.3 */
- OMX_VIDEO_SVCLevel2 = 0x20, /**< Level 2 */
- OMX_VIDEO_SVCLevel21 = 0x40, /**< Level 2.1 */
- OMX_VIDEO_SVCLevel22 = 0x80, /**< Level 2.2 */
- OMX_VIDEO_SVCLevel3 = 0x100, /**< Level 3 */
- OMX_VIDEO_SVCLevel31 = 0x200, /**< Level 3.1 */
- OMX_VIDEO_SVCLevel32 = 0x400, /**< Level 3.2 */
- OMX_VIDEO_SVCLevel4 = 0x800, /**< Level 4 */
- OMX_VIDEO_SVCLevel41 = 0x1000, /**< Level 4.1 */
- OMX_VIDEO_SVCLevel42 = 0x2000, /**< Level 4.2 */
- OMX_VIDEO_SVCLevel5 = 0x4000, /**< Level 5 */
- OMX_VIDEO_SVCLevel51 = 0x8000, /**< Level 5.1 */
- OMX_VIDEO_SVCLevelMax = 0x7FFFFFFF
- } OMX_TI_VIDEO_SVCLEVELTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_STD_PARAMS {
- OMX_U32 nSliceHeaderSpacing;
- OMX_U32 nPFrames;
- OMX_U32 nBFrames;
- OMX_BOOL bUseHadamard;
- OMX_U32 nRefFrames;
- OMX_U32 nRefIdx10ActiveMinus1;
- OMX_U32 nRefIdx11ActiveMinus1;
- OMX_BOOL bEnableUEP;
- /* Not needed as per SVC encoder requirements
- OMX_BOOL bEnableFMO;
- OMX_BOOL bEnableASO;
- OMX_BOOL bEnableRS;
- */
- OMX_VIDEO_AVCLOOPFILTERTYPE eLoopFilterMode;
- OMX_U32 nAllowedPictureTypes;
- OMX_BOOL bFrameMBsOnly;
- OMX_BOOL bMBAFF;
- OMX_BOOL bEntropyCodingCABAC;
- OMX_BOOL bWeightedPPrediction;
- OMX_U32 nWeightedBipredicitonMode;
- OMX_BOOL bconstIpred;
- OMX_BOOL bDirect8x8Inference;
- OMX_BOOL bDirectSpatialTemporal;
- OMX_U32 nCabacInitIdc;
- } OMX_VIDEO_SVC_STD_PARAMS;
-
-
- typedef struct OMX_VIDEO_SVC_RECTTYPE {
- OMX_S32 nLeft;
- OMX_S32 nTop;
- OMX_U32 nWidth;
- OMX_U32 nHeight;
- } OMX_VIDEO_SVC_RECTTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_BITRATETYPE {
- OMX_VIDEO_CONTROLRATETYPE eControlRate;
- OMX_U32 nTargetBitrate;
- } OMX_VIDEO_SVC_BITRATETYPE;
-
-
- typedef struct OMX_VIDEO_SVC_MOTIONVECTORTYPE {
- OMX_VIDEO_MOTIONVECTORTYPE eAccuracy;
- OMX_BOOL bUnrestrictedMVs;
- OMX_BOOL bFourMV;
- OMX_S32 sXSearchRange;
- OMX_S32 sYSearchRange;
- } OMX_VIDEO_SVC_MOTIONVECTORTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_QUANTIZATIONTYPE {
- OMX_U32 nQpI;
- OMX_U32 nQpP;
- OMX_U32 nQpB;
- } OMX_VIDEO_SVC_QUANTIZATIONTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_INTRAREFRESHTYPE {
- OMX_VIDEO_INTRAREFRESHTYPE eRefreshMode;
- OMX_U32 nAirMBs;
- OMX_U32 nAirRef;
- OMX_U32 nCirMBs;
- } OMX_VIDEO_SVC_INTRAREFRESHTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_VBSMCTYPE {
- OMX_BOOL b16x16;
- OMX_BOOL b16x8;
- OMX_BOOL b8x16;
- OMX_BOOL b8x8;
- OMX_BOOL b8x4;
- OMX_BOOL b4x8;
- OMX_BOOL b4x4;
- } OMX_VIDEO_SVC_VBSMCTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_NALUCONTROLTYPE {
- OMX_U32 nStartofSequence;
- OMX_U32 nEndofSequence;
- OMX_U32 nIDR;
- OMX_U32 nIntraPicture;
- OMX_U32 nNonIntraPicture;
- }OMX_VIDEO_SVC_NALUCONTROLTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_MEBLOCKSIZETYPE {
- OMX_VIDEO_BLOCKSIZETYPE eMinBlockSizeP;
- OMX_VIDEO_BLOCKSIZETYPE eMinBlockSizeB;
- }OMX_VIDEO_SVC_MEBLOCKSIZETYPE;
-
-
- typedef struct OMX_VIDEO_SVC_INTRAPREDTYPE {
- OMX_U32 nLumaIntra4x4Enable;
- OMX_U32 nLumaIntra8x8Enable;
- OMX_U32 nLumaIntra16x16Enable;
- OMX_U32 nChromaIntra8x8Enable;
- OMX_VIDEO_CHROMACOMPONENTTYPE eChromaComponentEnable;
- }OMX_VIDEO_SVC_INTRAPREDTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_ENCODER_PRESETTYPE {
- OMX_VIDEO_ENCODING_MODE_PRESETTYPE eEncodingModePreset;
- OMX_VIDEO_RATECONTROL_PRESETTYPE eRateControlPreset;
- }OMX_VIDEO_SVC_ENCODER_PRESETTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_VUIINFOTYPE {
- OMX_BOOL bAspectRatioPresent;
- OMX_VIDEO_ASPECTRATIOTYPE ePixelAspectRatio;
- OMX_BOOL bFullRange;
- }OMX_VIDEO_SVC_VUIINFOTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_HRDBUFFERSETTING {
- OMX_U32 nInitialBufferLevel;
- OMX_U32 nHRDBufferSize;
- OMX_U32 nTargetBitrate;
- }OMX_VIDEO_SVC_HRDBUFFERSETTING;
-
-
- typedef struct OMX_VIDEO_SVC_INTRAPERIOD {
- OMX_U32 nIDRPeriod;
- OMX_U32 nPFrames;
- } OMX_VIDEO_SVC_INTRAPERIOD;
-
-
- typedef struct OMX_VIDEO_SVC_PIXELINFOTYPE {
- OMX_U32 nWidth;
- OMX_U32 nHeight;
- } OMX_VIDEO_SVC_PIXELINFOTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_MESEARCHRANGETYPE {
- OMX_VIDEO_MOTIONVECTORTYPE eMVAccuracy;
- OMX_U32 nHorSearchRangeP;
- OMX_U32 nVerSearchRangeP;
- OMX_U32 nHorSearchRangeB;
- OMX_U32 nVerSearchRangeB;
- }OMX_VIDEO_SVC_MESEARCHRANGETYPE;
-
-
- typedef struct OMX_VIDEO_SVC_QPSETTINGSTYPE {
- OMX_U32 nQpI;
- OMX_U32 nQpMaxI;
- OMX_U32 nQpMinI;
- OMX_U32 nQpP;
- OMX_U32 nQpMaxP;
- OMX_U32 nQpMinP;
- OMX_U32 nQpOffsetB;
- OMX_U32 nQpMaxB;
- OMX_U32 nQpMinB;
- }OMX_VIDEO_SVC_QPSETTINGSTYPE;
-
-
- typedef struct OMX_VIDEO_SVC_SLICECODINGTYPE {
- OMX_VIDEO_AVCSLICEMODETYPE eSliceMode;
- OMX_U32 nSlicesize;
- }OMX_VIDEO_SVC_SLICECODINGTYPE;
-
-
- typedef struct OMX_VIDEO_EXEC_SVC_HRDBUFFERSETTING {
- OMX_U32 nHRDBufferSize;
- OMX_U32 nEncodeBitrate;
- }OMX_VIDEO_EXEC_SVC_HRDBUFFERSETTING;
-
-/**
- * SVC params
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nSliceHeaderSpacing : Number of macroblocks between slice header, put
- * zero if not used
- * nPFrames : Number of P frames between each I frame
- * nBFrames : Number of B frames between each I frame
- * bUseHadamard : Enable/disable Hadamard transform
- * nRefFrames : Max number of reference frames to use for inter
- * motion search (1-16)
- * nRefIdxTrailing : Pic param set ref frame index (index into ref
- * frame buffer of trailing frames list), B frame
- * support
- * nRefIdxForward : Pic param set ref frame index (index into ref
- * frame buffer of forward frames list), B frame
- * support
- * bEnableUEP : Enable/disable unequal error protection. This
- * is only valid of data partitioning is enabled.
- * bEnableFMO : Enable/disable flexible macroblock ordering
- * bEnableASO : Enable/disable arbitrary slice ordering
- * bEnableRS : Enable/disable sending of redundant slices
- * eProfile : AVC profile(s) to use
- * eLevel : AVC level(s) to use
- * nAllowedPictureTypes : Specifies the picture types allowed in the
- * bitstream
- * bFrameMBsOnly : specifies that every coded picture of the
- * coded video sequence is a coded frame
- * containing only frame macroblocks
- * bMBAFF : Enable/disable switching between frame and
- * field macroblocks within a picture
- * bEntropyCodingCABAC : Entropy decoding method to be applied for the
- * syntax elements for which two descriptors appear
- * in the syntax tables
- * bWeightedPPrediction : Enable/disable weighted prediction shall not
- * be applied to P and SP slices
- * nWeightedBipredicitonMode : Default weighted prediction is applied to B
- * slices
- * bconstIpred : Enable/disable intra prediction
- * bDirect8x8Inference : Specifies the method used in the derivation
- * process for luma motion vectors for B_Skip,
- * B_Direct_16x16 and B_Direct_8x8 as specified
- * in subclause 8.4.1.2 of the AVC spec
- * bDirectSpatialTemporal : Flag indicating spatial or temporal direct
- * mode used in B slice coding (related to
- * bDirect8x8Inference) . Spatial direct mode is
- * more common and should be the default.
- * nCabacInitIdx : Index used to init CABAC contexts
- * eLoopFilterMode : Enable/disable loop filter
- */
- typedef struct OMX_TI_VIDEO_PARAM_SVCTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
-
- OMX_U32 nActualFrameWidth;
- OMX_U32 nActualFrameHeight;
- OMX_S32 nStride;
- OMX_U32 xFramerate;
- OMX_COLOR_FORMATTYPE eColorFormat;
- OMX_VIDEO_SVC_RECTTYPE sRecType;
-
- OMX_VIDEO_SVC_STD_PARAMS sBasicParams;
-
- OMX_U32 nRefFrames;
- OMX_TI_VIDEO_SVCPROFILETYPE eProfile;
- OMX_TI_VIDEO_SVCLEVELTYPE eLevel;
-
- OMX_U32 xEncodeFramerate;
- OMX_VIDEO_SVC_BITRATETYPE sBitRateParams;
-
- OMX_VIDEO_SVC_MOTIONVECTORTYPE sMotionVectorParams;
- OMX_VIDEO_SVC_QUANTIZATIONTYPE sQuantizationParams;
- OMX_VIDEO_SVC_INTRAREFRESHTYPE sIntraRefreshParams;
- OMX_VIDEO_SVC_VBSMCTYPE sVBSMCParams;
-
- //OMX_NALUFORMATSTYPE eNaluFormat;
- OMX_VIDEO_SVC_NALUCONTROLTYPE sNalUnitParams;
-
- OMX_VIDEO_SVC_MEBLOCKSIZETYPE sMEBlockSizeParams;
- OMX_VIDEO_SVC_INTRAPREDTYPE sIntraPredParams;
- OMX_VIDEO_SVC_ENCODER_PRESETTYPE sEncPresetParams;
- OMX_VIDEO_TRANSFORMBLOCKSIZETYPE eTransformBlocksize;
- OMX_VIDEO_SVC_VUIINFOTYPE sVUIInfoParams;
- OMX_VIDEO_SVC_HRDBUFFERSETTING sHRDBufferParams;
-
- OMX_U32 nNumTemporalLayers;
- OMX_S32 nDependencyID;
- OMX_S32 nQualityID;
- //OMX_VIDEO_SVC_ENCODE_MODE eModeOfEncode;
-
- OMX_U32 nErrorConcealmentMode;
- OMX_U32 nDeblockFilterMode;
- } OMX_TI_VIDEO_PARAM_SVCTYPE;
-
- typedef struct OMX_TI_VIDEO_CONFIG_SVCLAYERDETAILS {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
-
- OMX_U32 nNumLayers;
- OMX_U32 nLayerId;
- OMX_U8 nPriorityId;
- OMX_U8 nDependencyId;
- OMX_U8 nQualityId;
- OMX_U8 nTemporalId;
- OMX_U8 nBitrateInfoPresentFlag;
- OMX_U8 nFramerateInfoPresentFlag;
- OMX_U8 nFramesizeInfoPresentFlag;
- OMX_U16 nAvgBitrate;
- OMX_U16 nMaxBitrate;
- OMX_U16 nAvgFramerate;
- OMX_U32 nFrameWidth;
- OMX_U32 nFrameHeight;
-
- OMX_U32 nLayerIndex; /* Used to query for individual layer details */
-
-} OMX_TI_VIDEO_CONFIG_SVCLAYERDETAILS;
-
-typedef struct OMX_TI_VIDEO_CONFIG_SVCTARGETLAYER {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
-
- OMX_U32 nSvcTargetLayerDID;
- OMX_U32 nSvcTargetLayerTID;
- OMX_U32 nSvcTargetLayerQID;
-
-} OMX_TI_VIDEO_CONFIG_SVCTARGETLAYER;
-/* ========================================================================== */
-/*!
-@brief OMX_TI_VIDEO_SLICEDATAINFO : to configure the Slice Settings
-@param nNumofSlices number of validfields to be read
-@param nSliceSizeConfigured variable that indicates the MaxSlice configured
- & (n*nSliceSizeConfigured) gives the buff offset
- for nth slice in the o/p buffer
-@param nSliceSize gives the SliceSize
-*/
-/* ==========================================================================*/
-typedef struct OMX_TI_VIDEO_SLICEDATAINFO {
- OMX_U32 nNumofSlices;
- OMX_U32 nSliceSizeConfigured;
- OMX_U32 nSliceSize[OMXH264E_MAX_SLICE_SUPPORTED];
-} OMX_TI_VIDEO_SLICEDATAINFO;
-/**
-* @brief mode selection for the data that is given to the Codec
- */
-
-typedef enum _OMX_VIDEO_AVCLTRMODE {
- OMX_H264ENC_LTRP_NONE = 0,
- /**< No longterm refernce frame in the sequnce
- */
- OMX_H264ENC_LTRP_REFERTOIDR = 1,
- /**< Mark all the I frames as long term-reference frames and
- * based on the frame control IH264ENC_Control, refere to
- * a long-term reference frame (I frame).
- */
- OMX_H264ENC_LTRP_REFERTOP_PROACTIVE =2,
- /**< Two long term frames are supported in this schme and
- * long-term index marking and refernce frame update is done based
- * the IH264ENC_Control values
- */
- OMX_H264ENC_LTRP_REFERTOP_REACTIVE = 3
- /**< This is not supported in the current version of encoder
- */
-} OMX_VIDEO_AVCLTRMODE;
-
-
-/* ============================================================================= */
-/*
-@brief OMX_TI_VIDEO_PARAM_AVC_LTRP : Structure to enable the configuration of Long Term reference Picture feature in H264 Encoder for the session
-Enabling this parameter will instruct encoder to keep its recent I/IDR frame in its reference buffer list.
-So it increases the DDR foot print by one frame buffer
-@param eLTRMode : enables the LongTerm Reference Picture, possible modes: 0, 1, 2
-@param nLTRInterval : interval of the write indicating to codec interms of the frame number
-*/
-/* ============================================================================= */
-typedef struct OMX_TI_VIDEO_PARAM_AVC_LTRP{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEO_AVCLTRMODE eLTRMode;
- OMX_U32 nLTRInterval;
-} OMX_TI_VIDEO_PARAM_AVC_LTRP;
-
-/*
-@brief OMX_TI_VIDEO_CONFIG_AVC_LTRP : Structure to provide the configuration to acknowledge successful decode of previous LTR
-@param eLTRFrameDecoded : tells the decoder that the LTR has been decoded successfully when set to TRUE
-*/
-/* ============================================================================= */
-typedef struct OMX_TI_VIDEO_CONFIG_AVC_LTRP{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bEnableNextLTR;
-} OMX_TI_VIDEO_CONFIG_AVC_LTRP;
-
-/* ============================================================================= */
-/*
-@brief OMX_TI_VIDEO_CONFIG_AVC_LTRP_INTERVAL : Structure to enable the update of the LTRP
-Interval during runtime
-@param nLTRInterval : interval of the write indicating to codec interms of the frame number
-*/
-/* ============================================================================= */
-typedef struct OMX_TI_VIDEO_CONFIG_AVC_LTRP_INTERVAL{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nLTRInterval;
-} OMX_TI_VIDEO_CONFIG_AVC_LTRP_INTERVAL;
-
-/* ============================================================================= */
-/*
-@brief OMX_TI_VIDEO_CONFIG_AVC_LTRP_INTERVAL : Structure to enable timestamps in decode order
- at i/p of decoders.
-*/
-/* ============================================================================= */
-typedef struct OMX_TI_PARAM_TIMESTAMP_IN_DECODE_ORDER{
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_BOOL bEnabled;
-} OMX_TI_PARAM_TIMESTAMP_IN_DECODE_ORDER;
-
-/* ============================================================================= */
-/*
-@brief OMX_TI_VIDEO_PARAM_AUTO_FRAMERATE_UPDATE : Structure to enable dynamic update of frame rate
-*/
-/* ============================================================================= */
-typedef struct OMX_TI_VIDEO_PARAM_AUTO_FRAMERATE_UPDATE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bEnableAutoVFRUpdate;
- OMX_U32 nDiffThresholdtoUpdate;
- OMX_U32 nMaxSessionFrameRate;
-} OMX_TI_VIDEO_PARAM_AUTO_FRAMERATE_UPDATE;
-
-/* ============================================================================= */
-/*
-@brief OMX_TI_PARAM_SKIP_GREY_OUTPUT_FRAMES : Structure to enable feature to skip grey output
- frames which doesn't have proper reference.
-*/
-/* ============================================================================= */
-typedef struct OMX_TI_PARAM_SKIP_GREY_OUTPUT_FRAMES {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_BOOL bEnabled;
-} OMX_TI_PARAM_SKIP_GREY_OUTPUT_FRAMES;
-
-/* ============================================================================= */
-/*
-@brief OMX_TI_PARAM_DECMETADATA : Structure to enable different codec metadata
- for video decoders.
-*/
-/* ============================================================================= */
-typedef struct OMX_TI_PARAM_DECMETADATA {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bEnableMBInfo;
- OMX_BOOL bEnableTranscodeMode;
- OMX_BOOL bEnableSEIInfo;
- OMX_BOOL bEnableVUIInfo;
-} OMX_TI_PARAM_DECMETADATA;
-
-/**
- ******************************************************************************
- * @enum OMX_TI_VIDEO_MBERRSTATUS
- * @brief This enum indicates if a MB was in error or not
- *
- ******************************************************************************
-*/
-typedef enum {
- OMX_TI_VIDEO_MB_NOERROR = 0,
- /**
- * MB was non-erroneous
- */
- OMX_TI_VIDEO_MB_ERROR = 1
- /**
- * MB was erroneous
- */
-} OMX_TI_VIDEO_MBERRSTATUS;
-
-
-/**
- * Macro definitions required for SEI support: HRD sequence parameter set
- */
-#define OMX_TI_VIDEO_H264VDEC_MAXCPBCNT 32
-
-/**
- * Macro definitions required for SEI support: HRD sequence parameter set
- */
-#define OMX_TI_VIDEO_H264VDEC_MAXUSERDATA_PAYLOAD 300
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_HrdParams
- *
- * @brief This structure contains the HRD parameter elements.
- *
- * @param cpb_cnt_minus1 : Number of alternative CPB specifications in the
- * bit-stream
- * @param bit_rate_scale : Together with bit_rate_value[i], it specifies the
- * maximum input bit-rate for the ith CPB.
- * @param cpb_size_scale : Together with cpb_size_value[i], specifies the
- * maximum CPB size for the ith CPB.
- * @param bit_rate_value_minus1[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT] :Maximum input bitrate
- * for the ith CPB
- * @param cpb_size_value_minus1[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT] :Maximum CPB size for the
- * ith CPB
- * @param vbr_cbr_flag[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT] :Specifies the ith CPB is operated
- * in Constant Bit-rate mode or variable bit-rate mode
- * @param initial_cpb_removal_delay_length_minus1 :Length in bits of
- * initial_cpb_removal_length syntax element
- * @param cpb_removal_delay_length_minus1 :Length in bits of
- * cpb_removal_delay_length syntax element
- * @param dpb_output_delay_length_minus1 :Length in bits of
- * dpb_output_delay_length syntax element
- * @param time_offset_length : Length in bits of time_offset syntax element
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_HrdParams {
- OMX_U32 cpb_cnt_minus1;
- OMX_U8 bit_rate_scale;
- OMX_U8 cpb_size_scale;
- OMX_U32 bit_rate_value_minus1[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT];
- OMX_U32 cpb_size_value_minus1[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT];
- OMX_U8 vbr_cbr_flag[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT];
- OMX_U8 initial_cpb_removal_delay_length_minus1;
- OMX_U8 cpb_removal_delay_length_minus1;
- OMX_U8 dpb_output_delay_length_minus1;
- OMX_U8 time_offset_length;
-} OMX_TI_VIDEO_H264VDEC_HrdParams;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SVCVuiParams
- *
- * @brief This structure contains VUI message syntax elements for scalable
- * video stream
- *
- * @param parsed_flag :1 - Indicates that in the current process call, c
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- *
- * @param svc_vui_ext_num_entries_minus1:(svc_vui_ext_num_entries_minus1 + 1)
- * specifies the number of information
- * entries that are present in the SVC
- * VUI parameters extension syntax
- * structure
- * @param svc_vui_ext_dependency_id:indicate the max value of DId for the
- * i-th subset of coded video sequences
- * @param svc_vui_ext_quality_id:indicate the max value of QId for the
- * i-th subset of coded video sequences
- * @param svc_vui_ext_temporal_id: indicate the max value of TId for the
- * i-th subset of coded video sequences
- * @param svc_vui_ext_timing_info_present_flag: Flag to tells that
- * svc_vui_ext_num_units_in_tick,
- * svc_vui_ext_time_scale,
- * svc_vui_ext_fixed_frame_rate_flag
- * are present for current coded
- * sequence or not.
- * @param svc_vui_ext_num_units_in_tick: specifies the value of num_units_in_tick
- * @param svc_vui_ext_time_scale: specifies the value of time_scale
- * @param svc_vui_ext_fixed_frame_rate_flag: specifies the value of
- * fixed_frame_rate_flag
- * @param svc_vui_ext_nal_hrd_parameters_present_flag:specifies the
- * value of nal_hrd_parameters_present_flag
- * @param svc_vui_ext_vcl_hrd_parameters_present_flag: ] specifies the
- * value of vcl_hrd_parameters_present_flag
- * @param svc_vui_ext_low_delay_hrd_flag: specifies the value
- * of low_delay_hrd_flag
- * @param svc_vui_ext_pic_struct_present_flag: specifies the value
- * of pic_struct_present_flag
- *
- ******************************************************************************
-*/
-
-typedef struct sOMX_TI_VIDEO_H264VDEC_SVCVuiParams {
- OMX_U32 parsed_flag;
- OMX_U16 svc_vui_ext_num_entries_minus1;
- OMX_U16 svc_vui_ext_dependency_id;
- OMX_U16 svc_vui_ext_quality_id;
- OMX_U16 svc_vui_ext_temporal_id;
- OMX_U16 svc_vui_ext_timing_info_present_flag;
- OMX_U32 svc_vui_ext_num_units_in_tick;
- OMX_U32 svc_vui_ext_time_scale;
- OMX_U16 svc_vui_ext_fixed_frame_rate_flag;
- OMX_U16 svc_vui_ext_nal_hrd_parameters_present_flag;
- OMX_U16 svc_vui_ext_vcl_hrd_parameters_present_flag;
- OMX_U16 svc_vui_ext_low_delay_hrd_flag;
- OMX_U16 svc_vui_ext_pic_struct_present_flag;
-} OMX_TI_VIDEO_H264VDEC_SVCVuiParams;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_VuiParams
- *
- * @brief This structure contains the VUI Sequence Parameter elements.
- *
- * @param parsed_flag :1 - Indicates that in the current process call, c
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param aspect_ratio_info_present_flag :Indicates whether aspect ratio idc
- * is present or not.
- * @param aspect_ratio_idc : Aspect ratio of Luma samples
- * @param sar_width : Horizontal size of sample aspect ratio
- * @param sar_height : Vertical size of sample aspect ratio
- * @param overscan_info_present_flag : Cropped decoded pictures are suitable
- * for display or not.
- * @param overscan_appropriate_flag : Overscan_appropriate_flag
- * @param video_signal_type_present_flag : Flag indicates whether
- * video_format, video_full_range_flag and colour_description_present_
- * flag are present or not
- * @param video_format :Video format indexed by a table. For example,PAL/NTSC
- * @param video_full_range_flag : Black level, luma and chroma ranges. It
- * should be used for BT.601 compliance
- * @param colour_description_present_flag:Indicates whether colour_primaries,
- * transfer_characteristics and matrix_coefficients are present.
- * @param colour_primaries :Chromaticity co-ordinates of source primaries
- * @param transfer_characteristics :Opto-electronic transfer characteristics
- * of the source picture
- * @param matrix_coefficients :Matrix coefficients for deriving Luma and
- * chroma data from RGB components.
- * @param chroma_location_info_present_flag : Flag indicates whether
- * chroma_sample_loc_type_top field and chroma_sample_loctype
- * bottom_field are present.
- * @param chroma_sample_loc_type_top_field : Location of chroma_sample top
- * field
- * @param chroma_sample_loc_type_bottom_field :Location of chroma_sample
- * bottom field
- * @param timing_info_present_flag :Indicates whether num_units_in_tick,
- * time_scale, and fixed_frame_rate_flag are present.
- * @param num_units_in_tick :Number of units of a clock that corresponds to 1
- * increment of a clock tick counter
- * @param time_scale :Indicates actual increase in time for 1 increment of a
- * clock tick counter
- * @param fixed_frame_rate_flag :Indicates how the temporal distance between
- * HRD output times of any two output pictures is constrained
- * @param nal_hrd_parameters_present_flag :Indicates whether
- * nal_hrd_parameters are present
- * @param nal_hrd_pars : NAL HRD Parameters
- * @param vcl_hrd_parameters_present_flag :Indicates whether
- * vcl_hrd_parameters are present
- * @param vcl_hrd_pars : VCL HRD Parameters
- * @param low_delay_hrd_flag :HRD operational mode as in Annex C of the
- * standard
- * @param pic_struct_present_flag :Indicates whether picture timing SEI
- * messages are present
- * @param bitstream_restriction_flag :Indicates if the bit-stream restriction
- * parameters are present
- * @param motion_vectors_over_pic_boundaries_flag :Specifies whether motion
- * vectors can point to regions outside the picture boundaries
- * @param max_bytes_per_pic_denom :Maximum number of bytes not exceeded by
- * the sum of sizes of all VCL NAL units of a single coded picture
- * @param max_bits_per_mb_denom :Maximum number of bits taken by any coded MB
- * @param log2_max_mv_length_vertical :Maximum value of any motion vector\u2019s
- * vertical component
- * @param log2_max_mv_length_horizontal :Maximum value of any motion vector\u2019s
- * horizontal component
- * @param max_dec_frame_reordering :
- * @param num_reorder_frames :Maximum number of frames that need to be
- * re-ordered
- * @param max_dec_frame_buffering :Size of HRD decoded buffer (DPB) in terms
- * of frame buffers
- * @param svcVuiParams : struct instance of vui parameters for svc
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_VuiParams {
- OMX_U32 parsed_flag;
- OMX_U8 aspect_ratio_info_present_flag;
- OMX_U32 aspect_ratio_idc;
- OMX_U32 sar_width;
- OMX_U32 sar_height;
- OMX_U8 overscan_info_present_flag;
- OMX_U8 overscan_appropriate_flag;
- OMX_U8 video_signal_type_present_flag;
- OMX_U8 video_format;
- OMX_U8 video_full_range_flag;
- OMX_U8 colour_description_present_flag;
- OMX_U8 colour_primaries;
- OMX_U8 transfer_characteristics;
- OMX_U8 matrix_coefficients;
- OMX_U8 chroma_location_info_present_flag;
- OMX_U32 chroma_sample_loc_type_top_field;
- OMX_U32 chroma_sample_loc_type_bottom_field;
- OMX_U8 timing_info_present_flag;
- OMX_U32 num_units_in_tick;
- OMX_U32 time_scale;
- OMX_U8 fixed_frame_rate_flag;
- OMX_U8 nal_hrd_parameters_present_flag;
- OMX_TI_VIDEO_H264VDEC_HrdParams nal_hrd_pars;
- OMX_U8 vcl_hrd_parameters_present_flag;
- OMX_TI_VIDEO_H264VDEC_HrdParams vcl_hrd_pars;
- OMX_U8 low_delay_hrd_flag;
- OMX_U8 pic_struct_present_flag;
- OMX_U8 bitstream_restriction_flag;
- OMX_U8 motion_vectors_over_pic_boundaries_flag;
- OMX_U32 max_bytes_per_pic_denom;
- OMX_U32 max_bits_per_mb_denom;
- OMX_U32 log2_max_mv_length_vertical;
- OMX_U32 log2_max_mv_length_horizontal;
- OMX_U32 max_dec_frame_reordering;
- OMX_U32 num_reorder_frames;
- OMX_U32 max_dec_frame_buffering;
- OMX_TI_VIDEO_H264VDEC_SVCVuiParams svcVuiParams;
-} OMX_TI_VIDEO_H264VDEC_VuiParams;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiUserDataRegITUT
- *
- * @brief This structure contains the user data SEI msg elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param num_payload_bytes :Specifies the size of the payload
- * @param itu_t_t35_country_code : A byte having a value specified as a
- * country code by ITU-T Recommendation T.35 Annex A
- * @param itu_t_t35_country_code_extension_byte :A byte having a value
- * specified as a country code by ITU-T Recommendation T.35 Annex B
- * @param itu_t_t35_payload_byte[] : A byte containing data registered as
- * specified by ITU-T Recommendation T.35.
- * @param dataOverflowFlag: This indicates if pay load data is more than the
- * array size i.e., OMX_TI_VIDEO_H264VDEC_MAXUSERDATA_PAYLOAD.
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiUserDataRegITUT {
- OMX_U32 parsed_flag;
- OMX_U32 num_payload_bytes;
- OMX_U8 itu_t_t35_country_code;
- OMX_U8 itu_t_t35_country_code_extension_byte;
- OMX_U8 itu_t_t35_payload_byte[OMX_TI_VIDEO_H264VDEC_MAXUSERDATA_PAYLOAD];
- OMX_U8 dataOverflowFlag;
-} OMX_TI_VIDEO_H264VDEC_SeiUserDataRegITUT;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiUserDataUnReg
- *
- * @brief This structure contains the user data SEI msg elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param num_payload_bytes :Specifies the size of the payload
- * @param uuid_iso_iec_11578 :Value specified as a UUID according to the
- * procedures of ISO/IEC 11578:1996 Annex A.
- * @param user_data_payload_byte :Byte containing data having syntax and
- * semantics as specified by the UUID generator.
- * @param dataOverflowFlag: This indicates if pay load data is more than the
- * array size i.e., OMX_TI_VIDEO_H264VDEC_MAXUSERDATA_PAYLOAD.
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiUserDataUnReg {
- OMX_U32 parsed_flag;
- OMX_U32 num_payload_bytes;
- OMX_U8 uuid_iso_iec_11578[16];
- OMX_U8 user_data_payload_byte[OMX_TI_VIDEO_H264VDEC_MAXUSERDATA_PAYLOAD];
- OMX_U8 dataOverflowFlag;
-} OMX_TI_VIDEO_H264VDEC_SeiUserDataUnReg;
-
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiBufferingPeriod
- *
- * @brief This structure contains the buffering period SEI msg elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param seq_parameter_set_id :Specifies the sequence parameter set that
- * contains the sequence HRD attributes
- * @param nal_cpb_removal_delay :Specifies the delay for the indexed NAL CPB
- * between the time of arrival in the CPB of the first bit of the
- * coded data associated with the access unit associated with the
- * buffering period SEI message and the time of removal from the CPB
- * of the coded data associated with the same access unit, for the
- * first buffering period after HRD initialization.
- * @param nal_cpb_removal_delay_offset :Used for the indexed NAL CPB in
- * combination with the cpb_removal_delay to specify the initial
- * delivery time of coded access units to the CPB
- * @param vcl_cpb_removal_delay :Specifies the delay for the indexed VCL CPB
- * between the time of arrival in the CPB of the first bit of the
- * coded data associated with the access unit associated with the
- * buffering period SEI message and the time of removal from the CPB
- * of the coded data associated with the same access unit, for the
- * first buffering period after HRD initialization.
- * @param vcl_cpb_removal_delay_offset :Used for the indexed VCL CPB in
- * combination with the cpb_removal_delay to specify the initial
- * delivery time of coded access units to the CPB
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiBufferingPeriod {
- OMX_U32 parsed_flag;
- OMX_U32 seq_parameter_set_id;
- OMX_U32 nal_cpb_removal_delay[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT];
- OMX_U32 nal_cpb_removal_delay_offset[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT];
- OMX_U32 vcl_cpb_removal_delay[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT];
- OMX_U32 vcl_cpb_removal_delay_offset[OMX_TI_VIDEO_H264VDEC_MAXCPBCNT];
-}OMX_TI_VIDEO_H264VDEC_SeiBufferingPeriod;
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiPanScanRect
- *
- * @brief This structure contains the pan scan rectangle SEI msg elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param pan_scan_rect_id :Specifies an identifying number that may be used
- * to identify the purpose of the pan-scan rectangle
- * @param pan_scan_rect_cancel_flag :Equal to 1 indicates that the SEI
- * message cancels the persistence of any previous pan-scan
- * rectangle SEI message in output order.
- * pan_scan_rect_cancel_flag equal to 0 indicates that
- * pan-scan rectangle information follows.
- * @param pan_scan_cnt_minus1 :Specifies the number of pan-scan rectangles
- * that are present in the SEI message
- * @param pan_scan_rect_left_offset :Specifies as signed integer quantities
- * in units of one-sixteenth sample spacing relative to the luma
- * sampling grid, the location of the pan-scan rectangle
- * @param pan_scan_rect_right_offset :Specifies as signed integer quantities
- * in units of one-sixteenth sample spacing relative to the luma
- * sampling grid, the location of the pan-scan rectangle
- * @param pan_scan_rect_top_offset : Top offset
- * @param pan_scan_rect_bottom_offset : Bottom offset
- * @param pan_scan_rect_repetition_period :Specifies the persistence of the
- * pan-scan rectangle SEI message and may specify a picture order
- * count interval within which another pan-scan rectangle SEI message
- * with the same value of pan_scan_rect_id or the end of the coded
- * video sequence shall be present in the bit-stream
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiPanScanRect {
- OMX_U32 parsed_flag;
- OMX_U32 pan_scan_rect_id;
- OMX_U32 pan_scan_rect_cancel_flag;
- OMX_U32 pan_scan_cnt_minus1;
- OMX_S32 pan_scan_rect_left_offset[3];
- OMX_S32 pan_scan_rect_right_offset[3];
- OMX_S32 pan_scan_rect_top_offset[3];
- OMX_S32 pan_scan_rect_bottom_offset[3];
- OMX_U32 pan_scan_rect_repetition_period;
-} OMX_TI_VIDEO_H264VDEC_SeiPanScanRect;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiProgRefineStart
- *
- * @brief This structure contains the progressive refinement start SEI msg
- * elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param progressive_refinement_id :Specifies an identification number for
- * the progressive refinement operation.
- * @param num_refinement_steps_minus1 :Specifies the number of reference
- * frames in the tagged set of consecutive coded pictures
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiProgRefineStart {
- OMX_U32 parsed_flag;
- OMX_U32 progressive_refinement_id;
- OMX_U32 num_refinement_steps_minus1;
-} OMX_TI_VIDEO_H264VDEC_SeiProgRefineStart;
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiProgRefineEnd
- *
- * @brief TThis structure contains the progressive refinement end SEI msg
- * elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param progressive_refinement_id :Specifies an identification number for
- * the progressive refinement operation.
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiProgRefineEnd {
- OMX_U32 parsed_flag;
- OMX_U32 progressive_refinement_id;
-} OMX_TI_VIDEO_H264VDEC_SeiProgRefineEnd;
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiRecoveryPointInfo
- *
- * @brief This structure contains the sRecovery Point Info SEI msg elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param exact_match_flag :Indicates whether decoded pictures at and
- * subsequent to the specified recovery point in output order derived
- * by starting the decoding process at the access unit associated with
- * the recovery point SEI message, will be an exact match to the
- * pictures that would be produced by starting the decoding process
- * at the location of a previous IDR access unit in the NAL unit stream.
- * @param recovery_frame_cnt :Specifies the recovery point of output pictures
- * in output order
- * @param broken_link_flag :Indicates the presence or absence of a broken
- * link in the NAL unit stream
- * @param changing_slice_group_idc :Indicates whether decoded pictures are
- * correct or approximately correct in content at and subsequent to
- * the recovery point in output order when all macro-blocks of the
- * primary coded pictures are decoded within the changing slice group
- * period.
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiRecoveryPointInfo {
- OMX_U32 parsed_flag;
- OMX_U32 recovery_frame_cnt;
- OMX_U32 exact_match_flag;
- OMX_U32 broken_link_flag;
- OMX_U32 changing_slice_group_idc;
-} OMX_TI_VIDEO_H264VDEC_SeiRecoveryPointInfo;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiPictureTiming
- *
- * @brief This structure contains the picture timing SEI msg elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param NumClockTs :
- * @param cpb_removal_delay :Specifies how many clock ticks to wait after
- * removal from the CPB of the access unit associated with the
- * most recent buffering period SEI message before removing from
- * the buffer the access unit data associated with the picture
- * timing SEI message.
- * @param dpb_output_delay : Used to compute the DPB output time of the
- * picture.
- * @param pic_struct : Indicates whether a picture should be displayed as
- * a frame or field
- * @param clock_time_stamp_flag[4]:1 - Indicates number of clock timestamp
- * syntax elements present and follow immediately
- * 0 \u2013 Indicates associated clock timestamp syntax
- * elements not present
- * @param ct_type[4] : Indicates the scan type(interlaced or progressive)
- * of the source material
- * @param nuit_field_based_flag[4] : Used to calculate the clockTimestamp
- * @param counting_type[4] : Specifies the method of dropping values of
- * n_frames
- * @param full_timestamp_flag[4] : 1 - Specifies that the n_frames syntax
- * element is followed by seconds_value,
- * minutes_value, and hours_value.
- * 0 - Specifies that the n_frames syntax
- * element is followed by seconds_flag
- * @param discontinuity_flag[4] : Indicates whether the difference between
- * the current value of clockTimestamp and the value of
- * clockTimestamp computed from the previous clockTimestamp in
- * output order can be interpreted as the time difference between
- * the times of origin or capture of the associated frames or
- * fields.
- * @param cnt_dropped_flag[4] : Specifies the skipping of one or more
- * values of n_frames using the counting method
- * @param n_frames[4] : Specifies the value of nFrames used to compute
- * clockTimestamp.
- * @param seconds_flag[4] : equal to 1 specifies that seconds_value and
- * minutes_flag are present when
- * full_timestamp_flag is equal to 0.
- * @param minutes_flag[4] : equal to 1 specifies that minutes_value and
- * hours_flag are present when full_timestamp_flag
- * is equal to 0 and seconds_flag is equal to 1.
- * @param hours_flag[4] : equal to 1 specifies that hours_value is
- * present when full_timestamp_flag is equal to 0
- * and seconds_flag is equal to 1 and minutes_flag
- * is equal to 1.
- * @param seconds_value[4] : Specifies the value of sS used to compute
- * clockTimestamp.
- * @param minutes_value[4] : Specifies the value of mM used to compute
- * clockTimestamp.
- * @param hours_value[4] : Specifies the value of tOffset used to compute
- * clockTimestamp
- * @param time_offset[4] : Specifies the value of tOffset used to compute
- * clockTimestamp
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiPictureTiming {
- OMX_U32 parsed_flag;
- OMX_U32 NumClockTs;
- OMX_U32 cpb_removal_delay;
- OMX_U32 dpb_output_delay;
- OMX_U32 pic_struct;
- OMX_U32 clock_time_stamp_flag[4];
- OMX_U32 ct_type[4];
- OMX_U32 nuit_field_based_flag[4];
- OMX_U32 counting_type[4];
- OMX_U32 full_timestamp_flag[4];
- OMX_U32 discontinuity_flag[4];
- OMX_U32 cnt_dropped_flag[4];
- OMX_U32 n_frames[4];
- OMX_U32 seconds_flag[4];
- OMX_U32 minutes_flag[4];
- OMX_U32 hours_flag[4];
- OMX_U32 seconds_value[4];
- OMX_U32 minutes_value[4];
- OMX_U32 hours_value[4];
- OMX_S32 time_offset[4];
-}OMX_TI_VIDEO_H264VDEC_SeiPictureTiming;
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRep
- *
- * @brief This structure contains the full frmae freeze repetition SEI msg
- * elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param full_frame_freeze_repetition_period :Specifies the persistence of
- * the full-frame freeze SEI message
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRep {
- OMX_U32 parsed_flag;
- OMX_U32 full_frame_freeze_repetition_period;
-} OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRep;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRel
- *
- * @brief This structure contains frame freeze release SEI msg elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param payloadSize : Size of the frame_freeze_release payload
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRel {
- OMX_U32 parsed_flag;
- OMX_U32 payloadSize;
-} OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRel;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiStereoVideoInfo
- *
- * @brief This structure contains stereo video information SEI msg elements
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param field_views_flag : 1 - indicates that all pictures in the current
- * coded video sequence are fields
- * 0 - indicates that all pictures in the current
- * coded video sequence are frames.
- * @param top_field_is_left_view_flag :
- * 1 - top field is a left view.
- * 0 - topfield is right view.
- * @param current_frame_is_left_view_flag :
- * 1 - current frame is left view.
- * 0 - current frame is right view.
- * @param next_frame_is_second_view_flag :
- * 1 - current picture and a next picture in
- * output order form a stereo video pair.
- * 0 - current picture and a previous picture in
- * output order form a stereo video pair.
- * @param left_view_self_contained_flag :
- * 1 - it will not use right view as a reference
- * picture for inter prediction
- * 0 - it may use right view as a reference
- * picture for inter prediction.
- * @param right_view_self_contained_flag :
- * 1 - it will not use left view as a reference
- * picture for inter prediction
- * 0 - it may use left view as a reference
- * picture for inter prediction.
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiStereoVideoInfo {
- OMX_U32 parsed_flag;
- OMX_U32 field_views_flag;
- OMX_U32 top_field_is_left_view_flag;
- OMX_U32 current_frame_is_left_view_flag;
- OMX_U32 next_frame_is_second_view_flag;
- OMX_U32 left_view_self_contained_flag;
- OMX_U32 right_view_self_contained_flag;
-} OMX_TI_VIDEO_H264VDEC_SeiStereoVideoInfo;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiFramePacking
- *
- * @brief This structure contains frame packing arrangement SEI msg elements
- *
- * @param frame_packing_arrangement_id :
- * contains an identifying number that may be used to identify
- * the usage of the frame packing arrangement SEI message.
- * @param frame_packing_arrangement_cancel_flag :
- * 1 - equal to 1 indicates that the frame packing arrangement
- * SEI message cancels the persistence of any previous frame
- * packing arrangement SEI message in output order.
- * 0 - indicates that frame packing arrangement info follows
- * @param frame_packing_arrangement_type :
- * indicates the type of packing arrangement of the frames
- * @param quincunx_sampling_flag :
- * 1 - indicates that each color component plane of each
- * constituent frame is quincunx sampled
- * 0 - indicates that each color component plane of each
- * constituent frame is not quincunx sampled
- * @param content_interpretation_type :
- * 1 - frame 0 being associated with the left view and frame 1
- * being associated with the right view
- * 2 - frame 0 being associated with the right view and frame 1
- * being associated with the left view
- * @param spatial_flipping_flag :
- * 1 - spatial flipping is enabled for any one of the frame
- * constituent, if frame_packing_arrangement_type is 3 or 4.
- * 0 - spatial flipping is disabled for any one of the frame
- * constituent, if frame_packing_arrangement_type is 3 or 4.
- * @param frame0_flipped_flag :
- * 1 - frame 0 is spatially flipped
- * 0 - frame 1 is spatially flipped
- * @param field_views_flag :
- * 1 - indicates that all pictures in the current coded video
- * sequence are coded as complementary field pairs.
- * 0 - indicates that all pictures in the current coded video
- * sequence are coded as frame.
- * @param current_frame_is_frame0_flag :
- * 1 - indicates that the current decoded frame is constituent
- * frame 0 and the next decoded frame in output order
- * is constituent frame 1.
- * 0 - indicates that the current decoded frame is constituent
- * frame 1 and the next decoded frame in output order
- * is constituent frame 0.
- * @param frame0_self_contained_flag :
- * 1 - indicates that the constituent frame 0 is dependent on
- * constituent frame 1 in decoding process
- * 0 - indicates that the constituent frame 0 may dependent on
- * constituent frame 1 in decoding process
- * @param frame1_self_contained_flag :
- * 1 - indicates that the constituent frame 1 is dependent on
- * constituent frame 0 in decoding process
- * 0 - indicates that the constituent frame 1 may dependent on
- * constituent frame 0 in decoding process
- * @param frame0_grid_position_x :
- * specifies the horizontal location of the upper left
- * sample of constituent frame 0 in the units of one
- * sixteenth of the luma samples
- * @param frame0_grid_position_y :
- * specifies the vertical location of the upper left
- * sample of constituent frame 0 in the units of one
- * sixteenth of the luma samples
- * @param frame1_grid_position_x :
- * specifies the horizontal location of the upper left
- * sample of constituent frame 1 in the units of one
- * sixteenth of the luma samples
- * @param frame1_grid_position_y :
- * specifies the vertical location of the upper left
- * sample of constituent frame 1 in the units of one
- * sixteenth of the luma samples
- * @param frame_packing_arrangement_reserved_byte :
- * reserved for the future use.
- * @param frame_packing_arrangement_repetition_period :
- * specifies the persistence of the frame packing arrangement
- * SEI message and may specify a frame order count interval
- * within which another frame packing arrangement SEI message
- * with the same value of frame_packing_arrangement_id or the
- * end of the coded video sequence shall be present in the
- * bitstream.
- * @param frame_packing_arrangement_extension_flag :
- * 0 - indicates that no additional data follows within the
- * frame packing arrangement SEI message.
- * 1 - Reserved for the future use.
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiFramePacking {
- OMX_U32 parsed_flag;
- OMX_U32 frame_packing_arrangement_id;
- OMX_U32 frame_packing_arrangement_repetition_period;
- OMX_U8 frame_packing_arrangement_cancel_flag;
- OMX_U8 frame_packing_arrangement_type;
- OMX_U8 quincunx_sampling_flag;
- OMX_U8 content_interpretation_type;
- OMX_U8 spatial_flipping_flag;
- OMX_U8 frame0_flipped_flag;
- OMX_U8 field_views_flag;
- OMX_U8 current_frame_is_frame0_flag;
- OMX_U8 frame0_self_contained_flag;
- OMX_U8 frame1_self_contained_flag;
- OMX_U8 frame0_grid_position_x;
- OMX_U8 frame0_grid_position_y;
- OMX_U8 frame1_grid_position_x;
- OMX_U8 frame1_grid_position_y;
- OMX_U8 frame_packing_arrangement_reserved_byte;
- OMX_U8 frame_packing_arrangement_extension_flag;
-} OMX_TI_VIDEO_H264VDEC_SeiFramePacking;
-
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_SeiMessages
- *
- * @brief This structure contains all the supported SEI msg objects
- *
- * @param parsed_flag :1 - Indicates that in the current process call,
- * contents of the structure is updated
- * 0 - Indicates contents of the structure is not updated
- * @param full_frame_freeze : Full-frame freeze SEI message
- * @param full_frame_freeze_release :Cancels the effect of any full-frame
- * freeze SEI message sent with pictures that precede the current
- * picture in the output order.
- * @param prog_refine_start :Specifies the beginning of a set of consecutive
- * coded pictures that is labeled as the current picture followed
- * by a sequence of one or more pictures of refinement of the
- * quality of the current picture, rather than as a representation
- * of a continually moving scene.
- * @param prog_refine_end : Specifies end of progressive refinement.
- * @param user_data_registered :Message contains user data registered as
- * specified by ITU-T Recommendation T.35
- * @param user_data_unregistered :Message contains unregistered user data
- * identified by a UUID
- * @param buffering_period_info :Message specifies the buffering period
- * @param pan_scan_rect :Message specifies the coordinates of a rectangle
- * relative to the cropping rectangle of the sequence parameter set
- * @param recovery_pt_info :The recovery point SEI message assists a decoder
- * in determining when the decoding process will produce acceptable
- * pictures for display after the decoder initiates random access or
- * after the encoder indicates a broken link in the sequence.
- * @param pic_timing :Specifies timing information regarding cpb delays, dpb
-* output delay, and so on.
- * @param stereo_video_info :stereo video information SEI message consist of
- * pair of picture forming stereo view content.
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_SeiMessages {
- OMX_U32 parsed_flag;
- OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRep full_frame_freeze;
- OMX_TI_VIDEO_H264VDEC_SeiFullFrameFreezeRel full_frame_freeze_release;
- OMX_TI_VIDEO_H264VDEC_SeiProgRefineStart prog_refine_start;
- OMX_TI_VIDEO_H264VDEC_SeiProgRefineEnd prog_refine_end;
- OMX_TI_VIDEO_H264VDEC_SeiUserDataRegITUT user_data_registered;
- OMX_TI_VIDEO_H264VDEC_SeiUserDataUnReg user_data_unregistered;
- OMX_TI_VIDEO_H264VDEC_SeiBufferingPeriod buffering_period_info;
- OMX_TI_VIDEO_H264VDEC_SeiPanScanRect pan_scan_rect;
- OMX_TI_VIDEO_H264VDEC_SeiRecoveryPointInfo recovery_pt_info;
- OMX_TI_VIDEO_H264VDEC_SeiPictureTiming pic_timing;
- OMX_TI_VIDEO_H264VDEC_SeiStereoVideoInfo stereo_video_info;
- OMX_TI_VIDEO_H264VDEC_SeiFramePacking frame_packing;
-} OMX_TI_VIDEO_H264VDEC_SeiMessages;
-
-
-/**
- ******************************************************************************
- * @struct _sErrConcealStr
- * @brief This str holds up the required Info for implementing the SCV EC,
- * this will get updated by H.264 decoder while decoding the SVC
- * Base/Target Layers
- *
- * @param CurrMbInfoBufPointer :Base Address of the current decoded frame
- * MB Info buffer
- *
- * @param CurrMbStatusBufPointer: Base Address of the current decoded frame
- * MB staus buffer pointer
- *
- * @param currFrameY : Base Address of the current decoded Luma
- * frame buffer pointer (physical pointer)
- *
- * @param currFrameUV : Base Address of the current decoded Chroma
- * frame buffer pointer (physical pointer)
- *
- * @param refConclY : Base Address of the ref decoded Luma
- * frame buffer pointer (virtual pointer)
- *
- * @param refConclUV : Base Address of the ref decoded Chroma
- * frame buffer pointer (virtual pointer)
- *
- * @param TilerBaseAddress : TBA vaule for the VDMA
- *
- * @param pSliceInfoFlags : Flag to enable slice info
- *
- * @param ref_width : Resultant Horizontal LUMA picture size
- * after Pad size addition on both Left
- * & Right sides. This gets used as
- * stride during vDMA programming.
- * In case of TILER,the stride is fixed,
- * independant of Picture width, and
- * only changes with TILER mode.
- *
- * @param ref_width_c : Resultant Horizontal CHROMA picture size
- * after Pad size addition on both Left &
- * Right sides.
- *
- *
- * @param ref_frame_height : In case of Interlaced streams,the picure
- * store is different i.e., store each field
- * by applying PAD on top & bottom lines.
- * Hence the picture height will be Height
- * plus four times the Pad size. This
- * variable holds this resultant value.
- *
- * @param mb_width : Picture width in terms of Macroblocks
- *
- * @param mb_height : Picture height in terms of Macroblocks.
- *
- * @param image_width : Image width of the decoded frame
- *
- * @param image_width : Image height of the decoded frame
- *
- * @param frameType : Frame type of the current frame.
- *
- * @param picaff_frame : Flag to indicate whether current picture
- * is of Frame type & referring to Field
- * picture as reference.
- *
- * @param mb_aff_frame_flag : Flag to indicate whether the current
- * decoding picture is MBAFF type.
- *
- * @param field_pic_flag : Flag to indicate whether the current
- * decoding picture is field type.
- *
- * @param bottom_field_flag : This parameter equal to 1 specifies that
- * the slice is part of a coded bottom field.
- * bottom_field_flag equalto 0 specifies
- * that the picture is a coded top field.
- *
- * @param nonPairedFieldPic : Flag to indicate Non paired field picture.
- *
- * @param prev_pic_bottom_field : this variable Indicates if the previous
- * picture was a bottom field or not (a Flag)
- ******************************************************************************
-*/
-
-typedef struct OMX_TI_VIDEO_H264VDEC_ErrConcealStr {
- OMX_S32 ErrConcealmentEnable;
- OMX_S32 CurrMbInfoBufPointer;
- OMX_S32 CurrMbStatusBufPointer;
- OMX_S32 CurrMbInfoIresBufPointer;
- OMX_S32 currFrameY;
- OMX_S32 currFrameUV;
- OMX_S32 refConclY;
- OMX_S32 refConclUV;
- OMX_U32 TilerBaseAddress;
- OMX_U16 ref_width;
- OMX_U16 ref_width_c;
- OMX_U16 ref_frame_height;
- OMX_U16 mb_width;
- OMX_U16 mb_height;
- OMX_U16 image_width;
- OMX_U16 image_height;
- OMX_U8 frameType;
- OMX_U8 picaff_frame;
- OMX_U8 mb_aff_frame_flag;
- OMX_U8 field_pic_flag;
- OMX_U8 bottom_field_flag;
- OMX_U8 nonPairedFieldPic;
- OMX_U8 prev_pic_bottom_field;
-}OMX_TI_VIDEO_H264VDEC_ErrConcealStr;
-
-/**
- * Size of sliceinfo flags - We have two slice info flag arrays in SL2, one
- * for ECD3 and the other for MC3. ECD3 flag is one bit per MB. Since Maximum
- * supported number of MBs in a frame is 128 x 128 = 16384, we need 16384/8 =
- * 2048 bytes for the slice info flag array for ECD3. But for the MC3 array,
- * we always make the next bit also as 1 to enable loading into ping and pong
- * memories of MCBUF. So we need an extra bit for the MC3 array, to avoid
- * buffer overflow when the last MB is a new slice. To keep the next SL2 buffer
- * in 16-byte aligned position (some buffers need it) we round the size to next
- * multiple of 16, i.e., 2064.
-*/
-#define OMX_TI_VIDEO_SLICEINFO_FLAGSIZE 2064
-
-/**
- ******************************************************************************
- * @struct _sErrConcealLayerStr
- * @brief This str holds up the required Info for implementing the SCV EC,
- * this will get updated by H.264 decoder while decoding the SVC
- * Base/Target Layers
- *
- * @param svcEcStr : structure instance of sSVCErrConcealStr
- *
- * @param pSliceInfoFlags : Array to store the sliceInfo flag
- *
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_ErrConcealLayerStr {
- OMX_TI_VIDEO_H264VDEC_ErrConcealStr sECStr;
- OMX_U8 pSliceInfoFlags[OMX_TI_VIDEO_SLICEINFO_FLAGSIZE];
-}OMX_TI_VIDEO_H264VDEC_ErrConcealLayerStr;
-
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_CommonInfo
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_CommonInfo {
- OMX_U32 codec_type : 8;
- OMX_U32 fmt_type : 8;
- OMX_U32 mb_ll_avail : 1;
- OMX_U32 mb_ul_avail : 1;
- OMX_U32 mb_uu_avail : 1;
- OMX_U32 mb_ur_avail : 1;
- OMX_U32 pic_bound_l : 1;
- OMX_U32 pic_bound_u : 1;
- OMX_U32 pic_bound_r : 1;
- OMX_U32 pic_bound_b : 1;
- OMX_U32 first_mb_flag : 1;
- OMX_U32 error_flag : 1;
- OMX_U32 zero : 6;
- OMX_U32 zeroes : 16;
- OMX_U32 mb_addr : 16;
-
-} OMX_TI_VIDEO_H264VDEC_CommonInfo;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_MotionVector
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_MotionVector {
- OMX_S16 x;
- OMX_S16 y;
-} OMX_TI_VIDEO_H264VDEC_MotionVector;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_CabacContext
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_CabacContext {
- OMX_TI_VIDEO_H264VDEC_MotionVector mvd_l0[4];
- OMX_TI_VIDEO_H264VDEC_MotionVector mvd_l1[4];
-
-} OMX_TI_VIDEO_H264VDEC_CabacContext;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_TotalCoefLuma
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_TotalCoefLuma {
- OMX_U8 right[3];
- OMX_U8 bottom_right;
- OMX_U8 bottom[3];
- OMX_U8 zero;
-} OMX_TI_VIDEO_H264VDEC_TotalCoefLuma;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_TotalCoefChroma
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_TotalCoefChroma {
- OMX_U8 right_cb;
- OMX_U8 bottom_right_cb;
- OMX_U8 bottom_cb;
- OMX_U8 zero;
- OMX_U8 right_cr;
- OMX_U8 bottom_right_cr;
- OMX_U8 bottom_cr;
- OMX_U8 zero1;
-} OMX_TI_VIDEO_H264VDEC_TotalCoefChroma;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_CavlcContext
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_CavlcContext {
- unsigned long long zeroes[2];
- OMX_TI_VIDEO_H264VDEC_TotalCoefLuma total_coef_luma;
- OMX_TI_VIDEO_H264VDEC_TotalCoefChroma total_coef_chroma;
-
-} OMX_TI_VIDEO_H264VDEC_CavlcContext;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_IntraPredMode
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_IntraPredMode {
- OMX_U32 ipred_mode0 : 4;
- OMX_U32 ipred_mode1 : 4;
- OMX_U32 ipred_mode2 : 4;
- OMX_U32 ipred_mode3 : 4;
- OMX_U32 ipred_mode4 : 4;
- OMX_U32 ipred_mode5 : 4;
- OMX_U32 ipred_mode6 : 4;
- OMX_U32 ipred_mode7 : 4;
- OMX_U32 ipred_mode8 : 4;
- OMX_U32 ipred_mode9 : 4;
- OMX_U32 ipred_mode10 : 4;
- OMX_U32 ipred_mode11 : 4;
- OMX_U32 ipred_mode12 : 4;
- OMX_U32 ipred_mode13 : 4;
- OMX_U32 ipred_mode14 : 4;
- OMX_U32 ipred_mode15 : 4;
-
-} OMX_TI_VIDEO_H264VDEC_IntraPredMode;
-
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_MbPredType
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_MbPredType {
- OMX_U32 mbskip : 1;
- OMX_U32 tr8x8 : 1;
- OMX_U32 mb_field : 1;
- OMX_U32 cond_mbskip : 1;
- OMX_U32 c_ipred_mode : 2;
- OMX_U32 zero : 1;
- OMX_U32 end_of_slice : 1;
- OMX_U32 mb_y_mod2 : 1;
- OMX_U32 zero1 : 7;
- OMX_U32 refidx_equal_flag_l0 : 1;
- OMX_U32 refidx_equal_flag_l1 : 1;
- OMX_U32 mv_equal_flag_l0 : 1;
- OMX_U32 mv_equal_flag_l1 : 1;
- OMX_U32 zeroes : 4;
- OMX_U32 mb_type : 8;
- OMX_U8 sub_mb_type[4];
-
-} OMX_TI_VIDEO_H264VDEC_MbPredType;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_QpCbp
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_QpCbp {
- OMX_U32 cbp;
- OMX_U8 qp_y;
- OMX_U8 qp_cb;
- OMX_U8 qp_cr;
- OMX_U8 zero;
-} OMX_TI_VIDEO_H264VDEC_QpCbp;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_RefPicControl
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_RefPicControl {
- OMX_U8 refidx[4];
- OMX_U8 refpicid[4];
-
-} OMX_TI_VIDEO_H264VDEC_RefPicControl;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_MvBidirectional16
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_MvBidirectional16 {
- OMX_TI_VIDEO_H264VDEC_MotionVector mv_forward[16];
- OMX_TI_VIDEO_H264VDEC_MotionVector mv_backward[16];
-} OMX_TI_VIDEO_H264VDEC_MvBidirectional16;
-
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_MvBidirectional4
- *
- * @brief
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_MvBidirectional4 {
- OMX_TI_VIDEO_H264VDEC_MotionVector mv_forward[4];
- OMX_TI_VIDEO_H264VDEC_MotionVector mv_backward[4];
-
-} OMX_TI_VIDEO_H264VDEC_MvBidirectional4;
-
-/**
- ******************************************************************************
- * @struct OMX_TI_VIDEO_H264VDEC_MbInfo
- *
- * @brief This structure details the data format for MB information shared to
- * application. This helps application to understand all fields
- * the way codec uses MB info internally. This structure is of size
- * 208 Bytes.
- *
- * @param info : This elements gives details about the MB placement in the
- * frame.
- *
- * @param cabac: This field holds the context data for a CABAC coded MB
- *
- * @param cavlc: This field holds the context data for a CAVLC coded MB
- *
- * @param ipred_mode: This field holds information of intra prediction modes
- * at 4x4 level, for intra coded MB.
- *
- * @param mb_pred_type: This indicates prediction specific details for inter
- * coded MB
- *
- * @param qp_cbp: This gives coded & QP informations for both LUMA & CHROMA
- * components of a Macro Block.
- *
- * @param l0_ref_pic_control: Informs all details about reference indices
- * at 8x8 block level in L0 direction
- *
- * @param l1_ref_pic_control: Informs all details about reference indices
- * at 8x8 block level in L1 direction
- *
- * @param mv_forward: Lists all Motion vectors at 4x4 level in L0 direction
- *
- * @param bidirectional16: Lists all Motion vectors at 4x4 level in both
- * directions
- *
- * @param bidirectional4: Lists all Motion vectors at 8x8 level in both
- * directions
- *
- ******************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_H264VDEC_MbInfo {
- OMX_TI_VIDEO_H264VDEC_CommonInfo info;
-
- union {
- OMX_TI_VIDEO_H264VDEC_CabacContext cabac;
- OMX_TI_VIDEO_H264VDEC_CavlcContext cavlc;
- } OMX_TI_VIDEO_H264VDEC_context;
-
- OMX_TI_VIDEO_H264VDEC_IntraPredMode ipred_mode;
- OMX_TI_VIDEO_H264VDEC_MbPredType mb_pred_type;
- OMX_TI_VIDEO_H264VDEC_QpCbp qp_cbp;
- OMX_TI_VIDEO_H264VDEC_RefPicControl l0_ref_pic_control;
- OMX_TI_VIDEO_H264VDEC_RefPicControl l1_ref_pic_control;
-
- union {
- OMX_TI_VIDEO_H264VDEC_MotionVector mv_forward[16];
- OMX_TI_VIDEO_H264VDEC_MvBidirectional16 bidirectional16;
- OMX_TI_VIDEO_H264VDEC_MvBidirectional4 bidirectional4;
- } OMX_TI_VIDEO_H264VDEC_motion_vecs;
-
-} OMX_TI_VIDEO_H264VDEC_MbInfo;
-
-
-
-/**
-********************************************************************************
-* @struct OMX_TI_VIDEO_VC1VDEC_MbInfo
-*
-* @brief MB information structure that is written out by the IVA-HD hardware.
-*
-* @note None:
-*
-********************************************************************************
-*/
-typedef struct OMX_TI_VIDEO_VC1VDEC_MbInfo {
- /* MB address */
- OMX_U8 mb_addr;
- /* Error flag */
- OMX_U8 error_flag;
- /* First MB flag */
- OMX_U8 first_mb_flag;
- /* Picture bound */
- OMX_U8 pic_bound_b;
- /* Upper picture bound */
- OMX_U8 pic_bound_u;
- /* Right picture bound */
- OMX_U8 pic_bound_r;
- /* Left picture bound */
- OMX_U8 pic_bound_l;
- /* Availability of upper right MB */
- OMX_U8 mb_ur_avail;
- /* Availability of upper MB */
- OMX_U8 mb_uu_avail;
- /* Availability of upper left MB */
- OMX_U8 mb_ul_avail;
- /* Availability of left MB */
- OMX_U8 mb_ll_avail;
- /* Macroblock header format type */
- OMX_U8 fmt_type;
- /* Codec type */
- OMX_U8 codec_type;
- /* Indicates DC values of each Y block in current MB */
- OMX_U8 dc_coef_q_y[4];
- /* Indicates DC values of Cr block in current MB */
- OMX_U8 dc_coef_q_cr;
- /* Indicates DC values of Cb block in current MB */
- OMX_U8 dc_coef_q_cb;
- /* Block type of cr block */
- OMX_U8 block_type_cr;
- /* Block type of cb block */
- OMX_U8 block_type_cb;
- /* Block types of luma */
- OMX_U8 block_type_y[4];
- /* In decoding, if the current macroblock is the last macroblock in a slice,*/
- /* ECD sets 1 to this field during executing the macroblock. Otherwise, ECD */
- /* sets 0 to this field */
- OMX_U8 end_of_slice;
- /* 1 : allow skipping current MB if CBP = 0 */
- OMX_U8 cond_skip_flag;
- /* Skipped / non skipped MB */
- OMX_U8 skip;
- /* 1 indicates that overlap filtering is in use for the macroblock. */
- OMX_U8 overlap;
- /* 1 indicates that AC prediction is in use for the macroblock */
- OMX_U8 acpred;
- /* Denotes inter-prediction direction for the macroblock in B-picture */
- OMX_U8 b_picture_direction;
- /* Denotes the number of motion vectors. */
- OMX_U8 mv_mode;
- /* 1 indicates that the field transform is in use for the macroblock. */
- OMX_U8 fieldtx;
- /* 1 indicates that field inter-prediction is in use */
- OMX_U8 mv_type;
- /* Equals the reference frame distance */
- OMX_U8 refdist;
- /* 1 indicates that macroblock quantizer-scale (MQUANT) overflows */
- OMX_U8 mquant_overflow;
- /* Equals the quantizer-scale for the macroblock */
- OMX_U8 quant;
- /* 1 indicates that 0.5 shall be added to PQUANT in calculation of */
- /* quantizer-scale. This field is valid for decoding only. */
- OMX_U8 halfqp;
- /* Equals the DC coefficient step size which is derived from MQUANT in the */
- /* bit-stream */
- OMX_U8 dc_step_size;
- /* Denotes the coded sub-block pattern for cr block */
- OMX_U8 cbp_cr;
- /* Denotes the coded sub-block pattern for cb block */
- OMX_U8 cbp_cb;
- /* Denotes the coded sub-block pattern for luma blocks */
- OMX_U8 cbp_y[3];
- /* Denotes the backward reference field picture */
- OMX_U8 mv_bw_ref_y[4];
- /* Denotes the forward reference field picture */
- OMX_U8 mv_fw_ref_y[3];
- /* Unclipped forward motion vector for luma */
- OMX_U8 mv_fw_y[4][4];
- /* Unclipped backward motion vector for luma */
- OMX_U8 mv_bw_y[1][1];
- /* Unclipped backward motion vector for chroma */
- OMX_U8 mv_bw_c[2];
- /* Unclipped forward motion vector for chroma */
- OMX_U8 mv_fw_c[2];
- /* Clipped forward motion vector for luma */
- OMX_U8 cmv_fw_y[4][4];
- /* Clipped backward motion vector for luma */
- OMX_U8 cmv_bw_y[4][4];
- /* Clipped forward motion vector for chroma */
- OMX_U8 cmv_fw_c[4][4];
- /* Clipped backward motion vector for chroma */
- OMX_U8 cmv_bw_c[4][4];
-
-}OMX_TI_VIDEO_VC1VDEC_MbInfo;
-
-#endif /* OMX_TI_VIDEO_H */
-
diff --git a/domx/omx_core/src/OMX_Core.c b/domx/omx_core/src/OMX_Core.c
deleted file mode 100755
index 8d9b529..0000000
--- a/domx/omx_core/src/OMX_Core.c
+++ /dev/null
@@ -1,953 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-#include <dlfcn.h> /* For dynamic loading */
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <pthread.h>
-
-
-/* #include "OMX_RegLib.h" */
-#include "OMX_Component.h"
-#include "OMX_Core.h"
-#include "OMX_ComponentRegistry.h"
-
-#include "timm_osal_types.h"
-#include "timm_osal_error.h"
-#include "timm_osal_trace.h"
-#include "timm_osal_mutex.h"
-
-#ifdef CHECK_SECURE_STATE
-#include <sys/ioctl.h>
-#include <errno.h>
-#include <fcntl.h>
-#endif
-
-/** size for the array of allocated components. Sets the maximum
- * number of components that can be allocated at once */
-#define MAXCOMP (50)
-#define MAXNAMESIZE (128)
-#define EMPTY_STRING "\0"
-
-/** Determine the number of elements in an array */
-#define COUNTOF(x) (sizeof(x)/sizeof(x[0]))
-
-/** Array to hold the DLL pointers for each allocated component */
-static void *pModules[MAXCOMP] = { 0 };
-
-/** Array to hold the component handles for each allocated component */
-static void *pComponents[COUNTOF(pModules)] = { 0 };
-
-/* count for call OMX_Init() */
-int count = 0;
-pthread_mutex_t mutex;
-TIMM_OSAL_PTR pCoreInitMutex = NULL;
-
-int tableCount = 0;
-ComponentTable componentTable[MAX_TABLE_SIZE];
-char *sRoleArray[60][20];
-char compName[60][200];
-
-
-char *tComponentName[MAXCOMP][MAX_ROLES] = {
- /*video and image components */
- {"OMX.TI.DUCATI1.VIDEO.DECODER",
- "video_decoder.mpeg4",
- "video_decoder.avc",
- "video_decoder.h263",
- "video_decoder.wmv",
- "video_decoder.mpeg2",
- "video_decoder.svc",
- "video_decoder.sorspk", NULL},
- {"OMX.TI.DUCATI1.VIDEO.DECODER.secure",
- "video_decoder.mpeg4",
- "video_decoder.avc",
- "video_decoder.h263", NULL},
- {"OMX.TI.DUCATI1.VIDEO.H264E",
- "video_encoder.avc", NULL},
- {"OMX.TI.DUCATI1.VIDEO.MPEG4E",
- "video_encoder.mpeg4",
- "video_encoder.h263",NULL},
- {"OMX.TI.DUCATI1.VIDEO.CAMERA", "camera.omx", NULL},
-#ifdef USE_ITTIAM_AAC
- {"OMX.ITTIAM.AAC.decode", "audio_decoder.aac", NULL},
- {"OMX.ITTIAM.BSAC.decode", "audio_decoder.aac", NULL},
-#endif
- {"OMX.ITTIAM.WMA.decode", "audio_decoder.wma", NULL},
- {"OMX.ITTIAM.WMALSL.decode", "audio_decoder.wmalsl", NULL},
- {"OMX.ITTIAM.WMAPRO.decode", "audio_decoder.wmapro", NULL},
- /* terminate the table */
- {NULL, NULL},
-};
-
-//AD
-extern OMX_ERRORTYPE OMX_ComponentInit(OMX_HANDLETYPE hComponent);
-
-#define CORE_assert CORE_paramCheck
-#define CORE_require CORE_paramCheck
-#define CORE_ensure CORE_paramCheck
-
-#define CORE_paramCheck(C, V, S) do {\
- if (!(C)) { eError = V;\
- TIMM_OSAL_Error("failed check: " #C);\
- TIMM_OSAL_Error(" - returning error: " #V);\
- if(S) TIMM_OSAL_Error(" - %s", S);\
- goto EXIT; }\
- } while(0)
-
-/******************************Public*Routine******************************\
-* OMX_Init()
-*
-* Description:This method will initialize the OMX Core. It is the
-* responsibility of the application to call OMX_Init to ensure the proper
-* set up of core resources.
-*
-* Returns: OMX_NOERROR Successful
-*
-* Note
-*
-\**************************************************************************/
-OMX_ERRORTYPE OMX_Init()
-{
- OMX_ERRORTYPE eError = OMX_ErrorNone;
- TIMM_OSAL_ERRORTYPE eOsalError = TIMM_OSAL_ERR_NONE;
-
- eOsalError = TIMM_OSAL_MutexObtain(pCoreInitMutex, TIMM_OSAL_SUSPEND);
- CORE_assert(eOsalError == TIMM_OSAL_ERR_NONE,
- OMX_ErrorInsufficientResources, "Mutex lock failed");
-
- count++;
-
- if (count == 1)
- {
- pthread_mutex_init(&mutex, NULL);
- eError = OMX_BuildComponentTable();
- }
-
- eOsalError = TIMM_OSAL_MutexRelease(pCoreInitMutex);
- CORE_assert(eOsalError == TIMM_OSAL_ERR_NONE,
- OMX_ErrorInsufficientResources, "Mutex release failed");
- EXIT:
- return eError;
-}
-
-/******************************Public*Routine******************************\
-* OMX_GetHandle
-*
-* Description: This method will create the handle of the COMPONENTTYPE
-* If the component is currently loaded, this method will reutrn the
-* hadle of existingcomponent or create a new instance of the component.
-* It will call the OMX_ComponentInit function and then the setcallback
-* method to initialize the callback functions
-* Parameters:
-* @param[out] pHandle Handle of the loaded components
-* @param[in] cComponentName Name of the component to load
-* @param[in] pAppData Used to identify the callbacks of component
-* @param[in] pCallBacks Application callbacks
-*
-* @retval OMX_ErrorUndefined
-* @retval OMX_ErrorInvalidComponentName
-* @retval OMX_ErrorInvalidComponent
-* @retval OMX_ErrorInsufficientResources
-* @retval OMX_NOERROR Successful
-*
-* Note
-*
-\**************************************************************************/
-
-OMX_ERRORTYPE OMX_GetHandle(OMX_HANDLETYPE * pHandle,
- OMX_STRING cComponentName, OMX_PTR pAppData,
- OMX_CALLBACKTYPE * pCallBacks)
-{
- static const char prefix[] = "lib";
- static const char postfix[] = ".so";
- OMX_ERRORTYPE(*pComponentInit) (OMX_HANDLETYPE *);
- OMX_ERRORTYPE eError = OMX_ErrorNone;
- OMX_COMPONENTTYPE *componentType;
- int i;
- char buf[sizeof(prefix) + MAXNAMESIZE + sizeof(postfix)];
- const char *pErr = dlerror();
- char *dlError = NULL;
-#ifdef CHECK_SECURE_STATE
- int secure_misc_drv_fd,ret;
- OMX_U8 mode, enable=1;
-#endif
- if (pthread_mutex_lock(&mutex) != 0)
- {
- TIMM_OSAL_Error("Core: Error in Mutex lock");
- }
-
- CORE_require(NULL != cComponentName, OMX_ErrorBadParameter, NULL);
- CORE_require(NULL != pHandle, OMX_ErrorBadParameter, NULL);
- CORE_require(NULL != pCallBacks, OMX_ErrorBadParameter, NULL);
- CORE_require(count > 0, OMX_ErrorUndefined,
- "OMX_GetHandle called without calling OMX_Init first");
-
- /* Verify that the name is not too long and could cause a crash. Notice
- * that the comparison is a greater than or equals. This is to make
- * sure that there is room for the terminating NULL at the end of the
- * name. */
- CORE_require(strlen(cComponentName) < MAXNAMESIZE,
- OMX_ErrorInvalidComponentName, NULL);
-
- /* Locate the first empty slot for a component. If no slots
- * are available, error out */
- for (i = 0; i < (int)COUNTOF(pModules); i++)
- {
- if (pModules[i] == NULL)
- break;
- }
- CORE_assert(i != COUNTOF(pModules), OMX_ErrorInsufficientResources,
- NULL);
-
- /* load the component and check for an error. If filename is not an
- * absolute path (i.e., it does not begin with a "/"), then the
- * file is searched for in the following locations:
- *
- * The LD_LIBRARY_PATH environment variable locations
- * The library cache, /etc/ld.so.cache.
- * /lib
- * /usr/lib
- *
- * If there is an error, we can't go on, so set the error code and exit */
- strcpy(buf, prefix); /* the lengths are defined herein or have been */
- strcat(buf, cComponentName); /* checked already, so strcpy and strcat are */
- strcat(buf, postfix); /* are safe to use in this context. */
-
-#ifdef CHECK_SECURE_STATE
- //Dont return errors from misc driver to the user if any.
- //Since this affects all usecases, secure and non-secure.
- //Do log the errors though.
- secure_misc_drv_fd = open("/dev/rproc_user", O_SYNC | O_RDONLY);
- if (secure_misc_drv_fd < 0)
- {
- TIMM_OSAL_Error("Can't open misc driver device 0x%x\n", errno);
- }
- else
- {
- ret = read(secure_misc_drv_fd, &mode, sizeof(mode));
- if (ret != sizeof(mode))
- {
- TIMM_OSAL_Error("Can't read from the misc driver");
- }
- else
- {
- if(mode == enable && strstr(cComponentName,"secure") == NULL)
- {
- TIMM_OSAL_Error("non-secure component not supported in secure mode");
- eError = OMX_ErrorComponentNotFound;
- }
- }
- ret = close(secure_misc_drv_fd);
- if (ret < 0)
- {
- TIMM_OSAL_Error("Can't close the misc driver");
- }
- }
- /* Don't allow non-secure usecases if we are in secure state.
- * Else some of the memory regions will be unexpected firewalled.
- * This provides a clean exit in case we are in secure mode. */
- if (eError == OMX_ErrorComponentNotFound)
- {
- goto EXIT;
- }
-#endif //CHECK_SECURE_STATE
-
-
-//#if 0
- pModules[i] = dlopen(buf, RTLD_LAZY | RTLD_GLOBAL);
- if (pModules[i] == NULL)
- {
- dlError = (char *)dlerror();
- TIMM_OSAL_Error("Failed because %s", dlError);
- eError = OMX_ErrorComponentNotFound;
- goto EXIT;
- }
-
- /* Get a function pointer to the "OMX_ComponentInit" function. If
- * there is an error, we can't go on, so set the error code and exit */
- pComponentInit = dlsym(pModules[i], "OMX_ComponentInit");
- pErr = dlerror();
- CORE_assert(((pErr == NULL) && (pComponentInit != NULL)),
- OMX_ErrorInvalidComponent, NULL);
-//#endif
-
- /* We now can access the dll. So, we need to call the "OMX_ComponentInit"
- * method to load up the "handle" (which is just a list of functions to
- * call) and we should be all set.*/
- *pHandle = malloc(sizeof(OMX_COMPONENTTYPE));
- CORE_assert((*pHandle != NULL), OMX_ErrorInsufficientResources,
- "Malloc of pHandle* failed");
-
- pComponents[i] = *pHandle;
- componentType = (OMX_COMPONENTTYPE *) * pHandle;
- componentType->nSize = sizeof(OMX_COMPONENTTYPE);
-
- componentType->nVersion.s.nVersionMajor = 1;
- componentType->nVersion.s.nVersionMinor = 1;
- componentType->nVersion.s.nRevision = 0;
- componentType->nVersion.s.nStep = 0;
-
- eError = (*pComponentInit) (*pHandle);
-//eError = OMX_ComponentInit(*pHandle);
- if (OMX_ErrorNone == eError)
- {
- eError =
- (componentType->SetCallbacks) (*pHandle, pCallBacks,
- pAppData);
- CORE_assert(eError == OMX_ErrorNone, eError,
- "Core: Error returned from component SetCallBack");
- } else
- {
- /* when the component fails to initialize, release the
- component handle structure */
- free(*pHandle);
- /* mark the component handle as NULL to prevent the caller from
- actually trying to access the component with it, should they
- ignore the return code */
- *pHandle = NULL;
- pComponents[i] = NULL;
- dlclose(pModules[i]);
- goto EXIT;
- }
- eError = OMX_ErrorNone;
- EXIT:
- if (pthread_mutex_unlock(&mutex) != 0)
- {
- TIMM_OSAL_Error("Core: Error in Mutex unlock");
- }
- return (eError);
-}
-
-
-/******************************Public*Routine******************************\
-* OMX_FreeHandle()
-*
-* Description:This method will unload the OMX component pointed by
-* OMX_HANDLETYPE. It is the responsibility of the calling method to ensure that
-* the Deinit method of the component has been called prior to unloading component
-*
-* Parameters:
-* @param[in] hComponent the component to unload
-*
-* Returns: OMX_NOERROR Successful
-*
-* Note
-*
-\**************************************************************************/
-OMX_ERRORTYPE OMX_FreeHandle(OMX_HANDLETYPE hComponent)
-{
-
- OMX_ERRORTYPE eError = OMX_ErrorUndefined;
- OMX_COMPONENTTYPE *pHandle = (OMX_COMPONENTTYPE *) hComponent;
- int i;
-
- if (pthread_mutex_lock(&mutex) != 0)
- {
- TIMM_OSAL_Error("Core: Error in Mutex lock");
- }
-
- CORE_require(pHandle != NULL, OMX_ErrorBadParameter, NULL);
- CORE_require(count > 0, OMX_ErrorUndefined,
- "OMX_FreeHandle called without calling OMX_Init first");
-
- /* Locate the component handle in the array of handles */
- for (i = 0; i < (int)COUNTOF(pModules); i++)
- {
- if (pComponents[i] == hComponent)
- break;
- }
-
- CORE_assert(i != COUNTOF(pModules), OMX_ErrorBadParameter, NULL);
-
- eError = pHandle->ComponentDeInit(hComponent);
- if (eError != OMX_ErrorNone)
- {
- TIMM_OSAL_Error("Error From ComponentDeInit..");
- }
-
- /* release the component and the component handle */
- dlclose(pModules[i]);
- pModules[i] = NULL;
- free(pComponents[i]);
-
- pComponents[i] = NULL;
- eError = OMX_ErrorNone;
-
- EXIT:
- /* The unload is now complete, so set the error code to pass and exit */
- if (pthread_mutex_unlock(&mutex) != 0)
- {
- TIMM_OSAL_Error("Core: Error in Mutex unlock");
- }
-
- return eError;
-}
-
-/******************************Public*Routine******************************\
-* OMX_DeInit()
-*
-* Description:This method will release the resources of the OMX Core. It is the
-* responsibility of the application to call OMX_DeInit to ensure the clean up of these
-* resources.
-*
-* Returns: OMX_NOERROR Successful
-*
-* Note
-*
-\**************************************************************************/
-OMX_ERRORTYPE OMX_Deinit()
-{
- OMX_ERRORTYPE eError = OMX_ErrorNone;
- TIMM_OSAL_ERRORTYPE eOsalError = TIMM_OSAL_ERR_NONE;
-
- eOsalError = TIMM_OSAL_MutexObtain(pCoreInitMutex, TIMM_OSAL_SUSPEND);
- if (eOsalError != TIMM_OSAL_ERR_NONE)
- {
- TIMM_OSAL_Error("Mutex lock failed");
- }
- /*Returning error none because of OMX spec limitation on error codes that
- can be returned by OMX_Deinit */
- CORE_assert(count > 0, OMX_ErrorNone,
- "OMX_Deinit being called without a corresponding OMX_Init");
- count--;
-
- if (pthread_mutex_lock(&mutex) != 0)
- TIMM_OSAL_Error("Core: Error in Mutex lock");
-
- if (count == 0)
- {
- if (pthread_mutex_unlock(&mutex) != 0)
- TIMM_OSAL_Error("Core: Error in Mutex unlock");
- if (pthread_mutex_destroy(&mutex) != 0)
- {
- /*printf("%d :: Core: Error in Mutex destroy\n",__LINE__); */
- }
- } else
- {
- if (pthread_mutex_unlock(&mutex) != 0)
- TIMM_OSAL_Error("Core: Error in Mutex unlock");
- }
-
- EXIT:
- eOsalError = TIMM_OSAL_MutexRelease(pCoreInitMutex);
- if (eOsalError != TIMM_OSAL_ERR_NONE)
- {
- TIMM_OSAL_Error("Mutex release failed");
- }
- return eError;
-}
-
-/*************************************************************************
-* OMX_SetupTunnel()
-*
-* Description: Setup the specified tunnel the two components
-*
-* Parameters:
-* @param[in] hOutput Handle of the component to be accessed
-* @param[in] nPortOutput Source port used in the tunnel
-* @param[in] hInput Component to setup the tunnel with.
-* @param[in] nPortInput Destination port used in the tunnel
-*
-* Returns: OMX_NOERROR Successful
-*
-* Note
-*
-**************************************************************************/
-/* OMX_SetupTunnel */
-OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_SetupTunnel(OMX_IN OMX_HANDLETYPE
- hOutput, OMX_IN OMX_U32 nPortOutput, OMX_IN OMX_HANDLETYPE hInput,
- OMX_IN OMX_U32 nPortInput)
-{
- OMX_ERRORTYPE eError = OMX_ErrorNotImplemented;
- OMX_COMPONENTTYPE *pCompIn, *pCompOut;
- OMX_TUNNELSETUPTYPE oTunnelSetup;
-
- if (hOutput == NULL && hInput == NULL)
- return OMX_ErrorBadParameter;
-
- oTunnelSetup.nTunnelFlags = 0;
- oTunnelSetup.eSupplier = OMX_BufferSupplyUnspecified;
-
- pCompOut = (OMX_COMPONENTTYPE *) hOutput;
-
- if (hOutput)
- {
- eError =
- pCompOut->ComponentTunnelRequest(hOutput, nPortOutput,
- hInput, nPortInput, &oTunnelSetup);
- }
-
-
- if (eError == OMX_ErrorNone && hInput)
- {
- pCompIn = (OMX_COMPONENTTYPE *) hInput;
- eError =
- pCompIn->ComponentTunnelRequest(hInput, nPortInput,
- hOutput, nPortOutput, &oTunnelSetup);
- if (eError != OMX_ErrorNone && hOutput)
- {
- /* cancel tunnel request on output port since input port failed */
- pCompOut->ComponentTunnelRequest(hOutput, nPortOutput,
- NULL, 0, NULL);
- }
- }
-
- return eError;
-}
-
-/*************************************************************************
-* OMX_ComponentNameEnum()
-*
-* Description: This method will provide the name of the component at the given nIndex
-*
-*Parameters:
-* @param[out] cComponentName The name of the component at nIndex
-* @param[in] nNameLength The length of the component name
-* @param[in] nIndex The index number of the component
-*
-* Returns: OMX_NOERROR Successful
-*
-* Note
-*
-**************************************************************************/
-OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_ComponentNameEnum(OMX_OUT OMX_STRING
- cComponentName, OMX_IN OMX_U32 nNameLength, OMX_IN OMX_U32 nIndex)
-{
- OMX_ERRORTYPE eError = OMX_ErrorNone;
-
- CORE_require(cComponentName != NULL, OMX_ErrorBadParameter, NULL);
- CORE_require(count > 0, OMX_ErrorUndefined,
- "OMX_GetHandle called without calling OMX_Init first");
-
- if (nIndex >= (OMX_U32)tableCount)
- {
- eError = OMX_ErrorNoMore;
- } else
- {
- strcpy(cComponentName, componentTable[nIndex].name);
- }
- EXIT:
- return eError;
-}
-
-
-/*************************************************************************
-* OMX_GetRolesOfComponent()
-*
-* Description: This method will query the component for its supported roles
-*
-*Parameters:
-* @param[in] cComponentName The name of the component to query
-* @param[in] pNumRoles The number of roles supported by the component
-* @param[in] roles The roles of the component
-*
-* Returns: OMX_NOERROR Successful
-* OMX_ErrorBadParameter Faliure due to a bad input parameter
-*
-* Note
-*
-**************************************************************************/
-OMX_API OMX_ERRORTYPE OMX_GetRolesOfComponent(OMX_IN OMX_STRING
- cComponentName, OMX_INOUT OMX_U32 * pNumRoles, OMX_OUT OMX_U8 ** roles)
-{
-
- OMX_ERRORTYPE eError = OMX_ErrorNone;
- OMX_U32 i = 0;
- OMX_U32 j = 0;
- OMX_BOOL bFound = OMX_FALSE;
-
- CORE_require(cComponentName != NULL, OMX_ErrorBadParameter, NULL);
- CORE_require(pNumRoles != NULL, OMX_ErrorBadParameter, NULL);
- CORE_require(strlen(cComponentName) < MAXNAMESIZE,
- OMX_ErrorInvalidComponentName, NULL);
- CORE_require(count > 0, OMX_ErrorUndefined,
- "OMX_GetHandle called without calling OMX_Init first");
-
- while (!bFound && i < (OMX_U32)tableCount)
- {
- if (strcmp(cComponentName, componentTable[i].name) == 0)
- {
- bFound = OMX_TRUE;
- } else
- {
- i++;
- }
- }
- if (roles == NULL)
- {
- *pNumRoles = componentTable[i].nRoles;
- goto EXIT;
- } else
- {
- if (bFound && (*pNumRoles == componentTable[i].nRoles))
- {
- for (j = 0; j < componentTable[i].nRoles; j++)
- {
- strcpy((OMX_STRING) roles[j],
- componentTable[i].pRoleArray[j]);
- }
- }
- }
- EXIT:
- return eError;
-}
-
-/*************************************************************************
-* OMX_GetComponentsOfRole()
-*
-* Description: This method will query the component for its supported roles
-*
-*Parameters:
-* @param[in] role The role name to query for
-* @param[in] pNumComps The number of components supporting the given role
-* @param[in] compNames The names of the components supporting the given role
-*
-* Returns: OMX_NOERROR Successful
-*
-* Note
-*
-**************************************************************************/
-OMX_API OMX_ERRORTYPE OMX_GetComponentsOfRole(OMX_IN OMX_STRING role,
- OMX_INOUT OMX_U32 * pNumComps, OMX_INOUT OMX_U8 ** compNames)
-{
- OMX_ERRORTYPE eError = OMX_ErrorNone;
- OMX_U32 i = 0;
- OMX_U32 j = 0;
- OMX_U32 k = 0;
-
- CORE_require(role != NULL, OMX_ErrorBadParameter, NULL);
- CORE_require(pNumComps != NULL, OMX_ErrorBadParameter, NULL);
- CORE_require(count > 0, OMX_ErrorUndefined,
- "OMX_GetHandle called without calling OMX_Init first");
-
- /* This implies that the componentTable is not filled */
- CORE_assert(componentTable[i].pRoleArray[j] != NULL,
- OMX_ErrorBadParameter, NULL);
-
- for (i = 0; i < (OMX_U32)tableCount; i++)
- {
- for (j = 0; j < componentTable[i].nRoles; j++)
- {
- if (strcmp(componentTable[i].pRoleArray[j],
- role) == 0)
- {
- /* the first call to this function should only count the number
- of roles so that for the second call compNames can be allocated
- with the proper size for that number of roles */
- if (compNames != NULL)
- {
- strncpy((OMX_STRING) (compNames[k]),
- (OMX_STRING) componentTable[i].
- name, MAXNAMESIZE);
- }
- k++;
- }
- }
- *pNumComps = k;
- }
-
- EXIT:
- return eError;
-}
-
-
-/***************************************
-PRINT TABLE FOR DEBUGGING PURPOSES ONLY
-***************************************/
-
-OMX_API OMX_ERRORTYPE OMX_PrintComponentTable()
-{
- OMX_ERRORTYPE eError = OMX_ErrorNone;
- int i = 0;
- int j = 0;
-
- TIMM_OSAL_Info
- ("--------Component Table:: %d Components found-------------",
- tableCount);
-
- for (i = 0; i < tableCount; i++)
- {
- TIMM_OSAL_Info("%i:: %s", i, componentTable[i].name);
- for (j = 0; j < componentTable[i].nRoles; j++)
- {
- TIMM_OSAL_Info(" %s",
- componentTable[i].pRoleArray[j]);
- }
- }
-
- TIMM_OSAL_Info
- ("-----------------End Component Table ------------------");
-
- return eError;
-
-}
-
-
-OMX_ERRORTYPE OMX_BuildComponentTable()
-{
- OMX_ERRORTYPE eError = OMX_ErrorNone;
- OMX_CALLBACKTYPE sCallbacks;
-#ifndef STATIC_TABLE
- OMX_HANDLETYPE hComp = 0;
- OMX_U8 cRole[MAXNAMESIZE];
- OMX_STRING tempName = NULL;
- OMX_STRING temp = NULL;
- static OMX_STRING namePrefix = "OMX";
- static OMX_STRING filePrefix = "libOMX.";
- static OMX_STRING suffix = ".so";
-#endif
- int j = 0;
- int numFiles = 0;
- int i, k;
- int componentfound = 0;
-
- /* set up dummy call backs */
- sCallbacks.EventHandler = ComponentTable_EventHandler;
- sCallbacks.EmptyBufferDone = ComponentTable_EmptyBufferDone;
- sCallbacks.FillBufferDone = ComponentTable_FillBufferDone;
-
-#ifndef STATIC_TABLE
- /* allocate the name table */
- /*
- compName = (OMX_STRING *) malloc(MAX_TABLE_SIZE * sizeof(OMX_STRING));
- sRoleArray = (OMX_STRING**) malloc(MAX_TABLE_SIZE * sizeof(OMX_STRING));
- */
-
- /* scan the target/lib directory and create a list of files in the directory */
- numFiles = scandir(libdir, &namelist, 0, 0);
- tableCount = 0;
- while (numFiles--)
- {
- /* check if the file is an OMX component */
- if (strncmp(namelist[numFiles]->d_name, filePrefix,
- strlen(filePrefix)) == 0)
- {
-
- /* if the file is an OMX component, trim the prefix and suffix */
- tempName = (OMX_STRING) malloc(sizeof(namelist[numFiles]->d_name) + 1); /* adding one ensures */
- memset(tempName, 0x00, sizeof(namelist[numFiles]->d_name) + 1); /* that a null terminator will */
- /* always be present */
- /* copy only the name without the suffix */
- strncpy(tempName, namelist[numFiles]->d_name,
- strlen(namelist[numFiles]->d_name) -
- strlen(suffix));
- /* set a pointer to be after the lib prefix, i.e the beginning of the component name */
- temp = strstr(tempName, namePrefix);
-
- /* then copy the component name to the table */
- /*
- compName[tableCount]= (OMX_STRING) malloc(MAXNAMESIZE);
- */
- strncpy(compName[tableCount], temp, strlen(temp) + 1);
- componentTable[tableCount].name =
- compName[tableCount];
-
- /* get the handle for the component and query for the roles of each component */
- eError =
- OMX_GetHandle(&hComp,
- componentTable[tableCount].name, 0x0,
- &sCallbacks);
- if (eError == OMX_ErrorNone)
- {
- j = 0;
- while (eError != OMX_ErrorNoMore)
- {
- eError =
- ((OMX_COMPONENTTYPE *) hComp)->
- ComponentRoleEnum(hComp, cRole,
- j++);
- if (eError == OMX_ErrorNotImplemented)
- {
- j = 1;
- break;
- }
- }
- nRoles = j - 1;
- componentTable[tableCount].nRoles = nRoles;
- /* sRoleArray[tableCount] = (OMX_STRING *) malloc(nRoles * sizeof(OMX_STRING)); */
- if (nRoles > 0)
- {
- /* sRoleArray[tableCount] = (OMX_STRING *) malloc(nRoles * sizeof(OMX_STRING)); */
- for (j = 0; j < nRoles; j++)
- {
- sRoleArray[tableCount][j] =
- (OMX_STRING)
- malloc(sizeof(OMX_U8) *
- MAXNAMESIZE);
- ((OMX_COMPONENTTYPE *)
- hComp)->
- ComponentRoleEnum(hComp,
- (OMX_U8 *)
- sRoleArray[tableCount][j],
- j);
- componentTable[tableCount].
- pRoleArray[j] =
- sRoleArray[tableCount][j];
- }
- } else
- {
- /* sRoleArray[tableCount] = (OMX_STRING *) malloc(sizeof(OMX_STRING)); */
- sRoleArray[tableCount][j] =
- (OMX_STRING) malloc(sizeof(OMX_U8)
- * MAXNAMESIZE);
- strcpy(sRoleArray[tableCount][j],
- EMPTY_STRING);
- componentTable[tableCount].
- pRoleArray[j] =
- sRoleArray[tableCount][j];
- }
- }
- if (hComp)
- {
- /* free the component handle */
- eError = OMX_FreeHandle(hComp);
- if (eError != OMX_ErrorNone)
- {
- goto EXIT;
- }
- }
- /* increment the table counter index only if above was successful */
- tableCount++;
- if (tempName != NULL)
- {
- free(tempName);
- }
-
- }
- }
-
-#endif
-
- for (i = 0, numFiles = 0; i < MAXCOMP; i++)
- {
- if (tComponentName[i][0] == NULL)
- {
- break;
- }
-
- for (j = 0; j < numFiles; j++)
- {
- if (!strcmp(componentTable[j].name,
- tComponentName[i][0]))
- {
- componentfound = 1;
- break;
- }
- }
- if (componentfound == 1)
- {
- continue;
- }
-
- if (j == numFiles)
- { /* new component */
- k = 1;
- while (tComponentName[i][k] != NULL)
- {
- componentTable[numFiles].pRoleArray[k - 1] =
- tComponentName[i][k];
- k++;
- }
- componentTable[numFiles].nRoles = k - 1;
- strcpy(compName[numFiles], tComponentName[i][0]);
- componentTable[numFiles].name = compName[numFiles];
- numFiles++;
- }
- }
- tableCount = numFiles;
-
- CORE_assert(eError == OMX_ErrorNone, eError,
- "Could not build Component Table");
- EXIT:
- return eError;
-}
-
-OMX_ERRORTYPE ComponentTable_EventHandler(OMX_IN OMX_HANDLETYPE hComponent,
- OMX_IN OMX_PTR pAppData,
- OMX_IN OMX_EVENTTYPE eEvent,
- OMX_IN OMX_U32 nData1, OMX_IN OMX_U32 nData2, OMX_IN OMX_PTR pEventData)
-{
- return OMX_ErrorNotImplemented;
-}
-
-OMX_ERRORTYPE ComponentTable_EmptyBufferDone(OMX_OUT OMX_HANDLETYPE
- hComponent, OMX_OUT OMX_PTR pAppData,
- OMX_OUT OMX_BUFFERHEADERTYPE * pBuffer)
-{
- return OMX_ErrorNotImplemented;
-}
-
-OMX_ERRORTYPE ComponentTable_FillBufferDone(OMX_OUT OMX_HANDLETYPE hComponent,
- OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_BUFFERHEADERTYPE * pBuffer)
-{
- return OMX_ErrorNotImplemented;
-}
-
-
-
-/*===============================================================*/
-/** @fn Core_Setup : This function is called when the the OMX Core library is
- * loaded. It creates a mutex, which is used during OMX_Init()
- */
-/*===============================================================*/
-void __attribute__ ((constructor)) Core_Setup(void)
-{
- TIMM_OSAL_ERRORTYPE eError = TIMM_OSAL_ERR_NONE;
-
- eError = TIMM_OSAL_MutexCreate(&pCoreInitMutex);
- if (eError != TIMM_OSAL_ERR_NONE)
- {
- TIMM_OSAL_Error("Creation of default mutex failed");
- }
-}
-
-
-
-/*===============================================================*/
-/** @fn Core_Destroy : This function is called when the the OMX Core library is
- * unloaded. It destroys the mutex which was created by
- * Core_Setup().
- *
- */
-/*===============================================================*/
-void __attribute__ ((destructor)) Core_Destroy(void)
-{
- TIMM_OSAL_ERRORTYPE eError = TIMM_OSAL_ERR_NONE;
-
- eError = TIMM_OSAL_MutexDelete(pCoreInitMutex);
- if (eError != TIMM_OSAL_ERR_NONE)
- {
- TIMM_OSAL_Error("Destruction of default mutex failed");
- }
-}
diff --git a/domx/omx_core/src/OMX_Core_Wrapper.c b/domx/omx_core/src/OMX_Core_Wrapper.c
deleted file mode 100755
index 6fbf3d7..0000000
--- a/domx/omx_core/src/OMX_Core_Wrapper.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 2010, Texas Instruments Incorporated
- * 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 Texas Instruments Incorporated 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 AND FITNESS FOR A PARTICULAR
- * PURPOSE 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.
- */
-
-#ifdef _Android
-
-/* #include "OMX_RegLib.h" */
-#include "OMX_Component.h"
-#include "OMX_Core.h"
-#include "OMX_ComponentRegistry.h"
-
-#include "OMX_Core_Wrapper.h"
-#include "timm_osal_trace.h"
-#undef LOG_TAG
-#define LOG_TAG "OMX_CORE"
-
-/** determine capabilities of a component before acually using it */
-extern OMX_BOOL TIOMXConfigParser(OMX_PTR aInputParameters,
- OMX_PTR aOutputParameters);
-
-#endif
-
-
-#ifdef _Android
-#ifdef _FROYO
-OMX_BOOL TIOMXConfigParserRedirect(OMX_PTR aInputParameters,
- OMX_PTR aOutputParameters)
-{
- TIMM_OSAL_Entering("OMXConfigParserRedirect +\n");
- OMX_BOOL Status = OMX_FALSE;
-
- Status = TIOMXConfigParser(aInputParameters, aOutputParameters);
-
- TIMM_OSAL_Exiting("OMXConfigParserRedirect -\n");
- return Status;
-}
-#endif
-OMX_ERRORTYPE TIComponentTable_EventHandler(OMX_IN OMX_HANDLETYPE hComponent,
- OMX_IN OMX_PTR pAppData,
- OMX_IN OMX_EVENTTYPE eEvent,
- OMX_IN OMX_U32 nData1, OMX_IN OMX_U32 nData2, OMX_IN OMX_PTR pEventData)
-{
- return OMX_ErrorNotImplemented;
-}
-
-OMX_ERRORTYPE TIComponentTable_EmptyBufferDone(OMX_OUT OMX_HANDLETYPE
- hComponent, OMX_OUT OMX_PTR pAppData,
- OMX_OUT OMX_BUFFERHEADERTYPE * pBuffer)
-{
- return OMX_ErrorNotImplemented;
-}
-
-OMX_ERRORTYPE TIComponentTable_FillBufferDone(OMX_OUT OMX_HANDLETYPE
- hComponent, OMX_OUT OMX_PTR pAppData,
- OMX_OUT OMX_BUFFERHEADERTYPE * pBuffer)
-{
- return OMX_ErrorNotImplemented;
-}
-
-
-OMX_API OMX_ERRORTYPE TIOMX_Init(void)
-{
- TIMM_OSAL_Entering("TIOMX_Init\n");
-
- return OMX_Init();
-}
-
-OMX_API OMX_ERRORTYPE TIOMX_Deinit(void)
-{
- TIMM_OSAL_Entering("TIOMX_Deinit\n");
-
- return OMX_Deinit();
-}
-
-OMX_API OMX_ERRORTYPE TIOMX_ComponentNameEnum(OMX_OUT OMX_STRING
- cComponentName, OMX_IN OMX_U32 nNameLength, OMX_IN OMX_U32 nIndex)
-{
-
- TIMM_OSAL_Entering("TIOMX_ComponentNameEnum\n");
-
- return OMX_ComponentNameEnum(cComponentName, nNameLength, nIndex);
-}
-
-OMX_API OMX_ERRORTYPE TIOMX_GetHandle(OMX_OUT OMX_HANDLETYPE * pHandle,
- OMX_IN OMX_STRING cComponentName,
- OMX_IN OMX_PTR pAppData, OMX_IN OMX_CALLBACKTYPE * pCallBacks)
-{
-
- TIMM_OSAL_Entering("TIOMX_GetHandle\n");
-
- return OMX_GetHandle(pHandle, cComponentName, pAppData, pCallBacks);
-}
-
-OMX_API OMX_ERRORTYPE TIOMX_FreeHandle(OMX_IN OMX_HANDLETYPE hComponent)
-{
- TIMM_OSAL_Entering("TIOMX_FreeHandle\n");
-
- return OMX_FreeHandle(hComponent);
-}
-
-OMX_API OMX_ERRORTYPE TIOMX_GetComponentsOfRole(OMX_IN OMX_STRING role,
- OMX_INOUT OMX_U32 * pNumComps, OMX_INOUT OMX_U8 ** compNames)
-{
-
- TIMM_OSAL_Entering("TIOMX_GetComponentsOfRole\n");
-
- return OMX_GetComponentsOfRole(role, pNumComps, compNames);
-}
-
-OMX_API OMX_ERRORTYPE TIOMX_GetRolesOfComponent(OMX_IN OMX_STRING compName,
- OMX_INOUT OMX_U32 * pNumRoles, OMX_OUT OMX_U8 ** roles)
-{
-
- TIMM_OSAL_Entering("TIOMX_GetRolesOfComponent\n");
-
- return OMX_GetRolesOfComponent(compName, pNumRoles, roles);
-}
-
-OMX_API OMX_ERRORTYPE TIOMX_SetupTunnel(OMX_IN OMX_HANDLETYPE hOutput,
- OMX_IN OMX_U32 nPortOutput,
- OMX_IN OMX_HANDLETYPE hInput, OMX_IN OMX_U32 nPortInput)
-{
-
- TIMM_OSAL_Entering("TIOMX_SetupTunnel\n");
-
- return OMX_SetupTunnel(hOutput, nPortOutput, hInput, nPortInput);
-}
-
-OMX_API OMX_ERRORTYPE TIOMX_GetContentPipe(OMX_OUT OMX_HANDLETYPE * hPipe,
- OMX_IN OMX_STRING szURI)
-{
-
- TIMM_OSAL_Entering("TIOMX_GetContentPipe\n");
-
- //return OMX_GetContentPipe(
- // hPipe,
- // szURI);
- return 0;
-}
-#endif