1c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 2c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Copyright (c) 2010, Texas Instruments Incorporated 3c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * All rights reserved. 4c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 5c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Redistribution and use in source and binary forms, with or without 6c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * modification, are permitted provided that the following conditions 7c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * are met: 8c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 9c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Redistributions of source code must retain the above copyright 10c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * notice, this list of conditions and the following disclaimer. 11c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 12c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Redistributions in binary form must reproduce the above copyright 13c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * notice, this list of conditions and the following disclaimer in the 14c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * documentation and/or other materials provided with the distribution. 15c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 16c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Neither the name of Texas Instruments Incorporated nor the names of 17c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * its contributors may be used to endorse or promote products derived 18c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * from this software without specific prior written permission. 19c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 20c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 22c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 32c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 33c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* -------------------------------------------------------------------------- * 34c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 35c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @file:OMX_TI_IVCommon.h 36c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * This header defines the structures specific to the config indices of msp_VPPM. 37c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 38c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @path ..\OMAPSW_SysDev\multimedia\omx\khronos1_1\omx_core\inc 39c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 40c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * -------------------------------------------------------------------------- */ 41c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 42c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ======================================================================== *! 43c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! Revision History 44c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! ==================================================================== */ 45c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 46c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifndef OMX_TI_IVCommon_H 47c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define OMX_TI_IVCommon_H 48c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 49c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef __cplusplus 50c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevextern "C" { 51c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif /* __cplusplus */ 52c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 53c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include <OMX_IVCommon.h> 54c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include <OMX_Image.h> 55c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 56e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen#define DCC_PATH "/data/misc/camera/" 57c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 58c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define MAX_URI_LENGTH (OMX_MAX_STRINGNAME_SIZE) 59bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov#define MAX_ALGOAREAS (35) 60c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 61c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*======================================================================= */ 62c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* Enumerated values for operation mode for compressed image 63c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 64c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ENUMS: 65c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Chunk : Chunk based operation 66c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * NonChunk : Non-chunk based operation 67c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 68c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /* ======================================================================= */ 69c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_JPEG_COMPRESSEDMODETYPE { 70c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_JPEG_ModeChunk = 0, 71e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_JPEG_ModeNonChunk, 72e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_JPEG_CompressedmodeMax = 0x7fffffff 73c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_JPEG_COMPRESSEDMODETYPE ; 74c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 75c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 76c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*======================================================================= */ 77c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* Enumerated values for operation mode for uncompressed image 78c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 79c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ENUMS: 80c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Frame : Frame based operation 81c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Slice : Slice based operation 82c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Stitch : For stitching between image frames 83c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Burst : For stitching between image frames 84c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 85c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /* ======================================================================= */ 86c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_JPEG_UNCOMPRESSEDMODETYPE { 87c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_JPEG_UncompressedModeFrame = 0, 88c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_JPEG_UncompressedModeSlice, 89c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_JPEG_UncompressedModeStitch, 90e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_JPEG_UncompressedModeBurst, 91e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_JPEG_UncompressedModeMax = 0x7fffffff 92c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_JPEG_UNCOMPRESSEDMODETYPE; 93c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 94c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 95c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 96c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*======================================================================= */ 97c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* Configuration structure for compressed image 98c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 99c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 100c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 101c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 102c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 103c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eCompressedImageMode : Operating mode enumeration for compressed image 104c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 105c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /*======================================================================= */ 106c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_JPEG_PARAM_COMPRESSEDMODETYPE{ 107c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 108c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 109c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 110c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_JPEG_COMPRESSEDMODETYPE eCompressedImageMode; 111c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_JPEG_PARAM_COMPRESSEDMODETYPE; 112c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 113c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 114c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 115c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*======================================================================= */ 116c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* Uncompressed image Operating mode configuration structure 117c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 118c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 119c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 120c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 121c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 122c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nBurstLength : No of frames to be dumped in burst mode 123c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eUncompressedImageMode : uncompressed image mode information 124c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eSourceType : Image encode souce info 125c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * tRotationInfo : Rotation related information 126c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 127c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /*======================================================================= */ 128c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_JPEG_PARAM_UNCOMPRESSEDMODETYPE{ 129c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 130c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 131c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 132c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nBurstLength; 133c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_JPEG_UNCOMPRESSEDMODETYPE eUncompressedImageMode; 134c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_JPEG_PARAM_UNCOMPRESSEDMODETYPE; 135c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 136c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 137c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*======================================================================= */ 138c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* Subregion Decode Parameter configuration structure 139c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 140c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 141c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 142c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 143c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nXOrg : Sectional decoding X origin 144c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nYOrg : Sectional decoding Y origin 145c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nXLength : Sectional decoding X length 146c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nYLength : Sectional decoding Y length 147c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 148c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /*======================================================================= */ 149c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_IMAGE_PARAM_DECODE_SUBREGION{ 150c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 151c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 152c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nXOrg; 153c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nYOrg; 154c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nXLength; 155c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nYLength; 156c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_IMAGE_PARAM_DECODE_SUBREGION; 157c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 158c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 159c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 160c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * sensor select types 161c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 162c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_SENSORSELECT{ 163c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_PrimarySensor = 0, 164c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SecondarySensor, 165c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_StereoSensor, 166c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SensorTypeMax = 0x7fffffff 167c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_SENSORSELECT; 168c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 169c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 170c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 171c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Sensor Select 172c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 173c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_SENSORSELECTTYPE { 174c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_U32 nSize; /**< Size of the structure in bytes */ 175c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 176c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_U32 nPortIndex; /**< Port that this struct applies to */ 177c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_SENSORSELECT eSensor; /**< sensor select */ 178c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_SENSORSELECTTYPE; 179c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 180c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 181c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Flicker cancellation types 182c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 183c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_COMMONFLICKERCANCELTYPE{ 184c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FlickerCancelOff = 0, 185c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FlickerCancelAuto, 186c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FlickerCancel50, 187c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FlickerCancel60, 188c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FlickerCancel100, 189c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FlickerCancel120, 190c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FlickerCancelMax = 0x7fffffff 191c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_COMMONFLICKERCANCELTYPE; 192c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 193c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_FLICKERCANCELTYPE { 194c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 195c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 196c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 197c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_COMMONFLICKERCANCELTYPE eFlickerCancel; 198c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_FLICKERCANCELTYPE; 199c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 200c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 201c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 202c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Sensor caleberation types 203c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 204c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_SENSORCALTYPE{ 205c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SensorCalFull = 0, 206c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SensorCalQuick, 207c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SensorCalMax = 0x7fffffff 208c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_SENSORCALTYPE; 209c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 210c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_SENSORCALTYPE { 211c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 212c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 213c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 214c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SENSORCALTYPE eSensorCal; 215c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_SENSORCALTYPE; 216c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 217c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 218c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Scene mode types 219c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 220c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_SCENEMODETYPE{ 221c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 222c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Manual = 0, 223c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Closeup, 224c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Portrait, 225c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Landscape, 226c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Underwater, 227c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Sport, 228c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SnowBeach, 229c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Mood, 230c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_NightPortrait, 231c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_NightIndoor, 232c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Fireworks, 233c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Document, /**< for still image */ 234c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Barcode, /**< for still image */ 235c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SuperNight, /**< for video */ 236c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Cine, /**< for video */ 237c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_OldFilm, /**< for video */ 238c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Action, 239c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Beach, 240c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Candlelight, 241c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Night, 242c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Party, 243c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Portrait, 244c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Snow, 245c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Steadyphoto, 246c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Sunset, 247c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_Theatre, 248c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SceneModeMax = 0x7fffffff 249c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_SCENEMODETYPE; 250c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 251c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_SCENEMODETYPE { 252c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 253c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 254c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 255c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SCENEMODETYPE eSceneMode; 256c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_SCENEMODETYPE; 257c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 258c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /** 259c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Port specific capture trigger 260c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * useful for the usecases with multiple capture ports. 261c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 262c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 263c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 264c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 265c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 266c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bExtCapturing : Start Captre at the specified port. Can be queried to know the status of a specific port. 267c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 268c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_EXTCAPTURING { 269c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 270c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 271c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 272c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bExtCapturing; 273c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_EXTCAPTURING; 274c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 275c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 276c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /** 277c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Digital Zoom Speed 278c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 279c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 280c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 281c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 282c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 283c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nDigitalZoomSpeed : Optical zoom speed level. Special values: 284c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 0 - stop current movement 285c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * values from 1 to 254 are mapped proportionally to supported zoom speeds inside optical zoom driver. 286c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * So 1 is slowest available optical zoom speed and 254 is fastest available optical zoom speed 287c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 255 - default optical zoom speed value 288c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 289c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_DIGITALZOOMSPEEDTYPE { 290c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 291c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 292c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 293c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nDigitalZoomSpeed; 294c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_DIGITALZOOMSPEEDTYPE; 295c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 296c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 297c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /** 298c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Digital Zoom Target 299c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 300c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 301c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 302c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 303c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 304c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nDigitalZoomTarget : Default and minimum is 0. Maximum is determined by the current supported range 305c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 306c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 307c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_DIGITALZOOMTARGETTYPE { 308c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 309c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 310c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 311c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nDigitalZoomTarget; 312c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_DIGITALZOOMTARGETTYPE; 313c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 314c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 315c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 316c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* Scale quality enums 317c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 318c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_SCALEQUALITY{ 319c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_DefaultScaling = 0, /** <default scaling if nothing is specified > */ 320c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BetterScaling, /** <better scaling> */ 321c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BestScaling, /** <best scaling> */ 322c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_AutoScalingQuality, /** <auto scaling quality> */ 323c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FastScaling, /** <fast scaling, prioritizes speed> */ 324c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ScaleQualityMax = 0x7fffffff 325c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_SCALEQUALITY; 326c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 327c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 328c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* Scaling Quality Mode 329c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 330c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_SCALEQUALITYMODE{ 331c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SingleFrameScalingMode = 0, /** <default > */ 332c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_MultiFrameScalingMode, /** <better scaling> */ 333c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_AutoScalingMode, /** <best scaling> */ 334c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ScaleModeMax = 0x7fffffff 335c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_SCALEQUALITYMODE; 336c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 337c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /** 338c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Rescale quality control type 339c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 340c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 341c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 342c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 343c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eScaleQuality : controls the quality level. 344c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eScaleQualityMode : controls the scaling algo types 345c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 346c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_SCALEQUALITYTYPE { 347c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 348c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 349c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 350c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SCALEQUALITY eScaleQuality; 351c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SCALEQUALITYMODE eScaleQualityMode; 352c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_SCALEQUALITYTYPE; 353c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 354c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 355c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* Smooth Zoom mode enum 356c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* Starts or stops the Smooth Zoom. Selecting INCREASE will cause an increasing digital zoom factor (increased cropping), 357c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* with a shrinking viewable area and crop height percentage. Selecting DECREASE will cause a decreasing digital zoom (decreased cropping), 358c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* with a growing viewable area and crop height percentage. The CaptureCropHeight will continue to update based on the SmoothZoomRate until 359c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* the SmoothZoomMin or SmoothZoomMax zoom step is reached, the framework minimum zoom step is reached, the SmoothZoomRate becomes 0, 360c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* or the SmoothZoomMode is set to OFF. 361c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 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. 362c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 363c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_SMOOTHZOOMMODE{ 364c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Off=0, /**< default OFF */ 365c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Increase, 366e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_Decrease, 367e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_SmoothZoomModeMax = 0x7fffffff 368c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_SMOOTHZOOMMODE; 369c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 370c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 371c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev /** 372c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Rescale quality control type 373c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 374c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 375c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 376c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 377c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eSmoothZoomMode : controls the smooth zoom feature. 378c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSmoothZoomRate : Values from 0 to 65535 which represents percentage to increase per second, where 65535 = 100%, and 0 = 0%. 379c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSmoothZoomQuantize: 380c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSmoothZoomThresh 381c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSmoothZoomMin 382c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSmoothZoomMax 383c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 384c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_SMOOTHZOOMTYPE { 385c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 386c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 387c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 388c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_SMOOTHZOOMMODE eSmoothZoomMode; 389c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSmoothZoomRate; 390c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSmoothZoomQuantize; 391c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSmoothZoomThresh; 392c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSmoothZoomMin; 393c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSmoothZoomMax; 394c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_SMOOTHZOOMTYPE; 395c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 396c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 397c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enumeration of possible Extended image filter types for OMX_CONFIG_IMAGEFILTERTYPE 398c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 399c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_EXTIMAGEFILTERTYPE { 400c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ImageFilterSepia = 0x7F000001, 401c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ImageFilterGrayScale, 402c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ImageFilterNatural, 403c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ImageFilterVivid, 404c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ImageFilterColourSwap, 405c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ImageFilterOutOfFocus, 406c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ImageFilterWaterColour, 407c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ImageFilterPastel, 408c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ImageFilterFilm, 409c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_ImageFilterBlackWhite, 410c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_ImageFilterWhiteBoard, 411c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_ImageFilterBlackBoard, 412c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_ImageFilterAqua, 413e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ImageFilterPosterize, 414e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_ImageFilterTypeMax = 0x7fffffff 415c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_EXTIMAGEFILTERTYPE; 416c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 417c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 418c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 419c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Image filter configuration extended 420c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 421c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 422c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 423c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 424c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 425c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bBlemish : Enable/Disable Blemish correction 426c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 427c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_BLEMISHTYPE { 428c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 429c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 430c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 431c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bBlemish; 432c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_BLEMISHTYPE; 433c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 434c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 435c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enumeration of Bracket types 436c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_BracketExposureRelativeInEV: 437c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Exposure value is changed relative to the value set by automatic exposure. 438c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nBracketStartValue and nBracketStep are in Q16. Increment is additive. 439c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_BracketExposureAbsoluteMs: 440c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Exposure value is changed in absolute value in ms. 441c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nBracketStartValue and nBracketStep are in Q16. Increment is multiplicative. 442c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_BracketFocusRelative: 443c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Focus is adjusted relative to the focus set by auto focus. 444c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The value is S32 integer, and is the same as adjusting nFocusSteps of OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE relatively. 445c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Increment is additive. 446c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_BracketFocusAbsolute: 447c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Focus position is adjusted absolutely. It is the same as setting nFocusSteps of 448c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE relatively for each captures. 449c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The value should be interpreted as U32 value. Increment is additive. 450c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_BracketFlashPower: 451c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Power of flash is adjusted relative to the automatic level. Increment is multiplicative. 452c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_BracketAperture: 453c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Aperture number relative to the automatic setting. Data in Q16 format. Increment is multiplicative. 454c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_BracketTemporal: 455c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * To suppport temporal bracketing. 456c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 457c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_BRACKETMODETYPE { 458c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BracketExposureRelativeInEV = 0, 459c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BracketExposureAbsoluteMs, 460c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BracketFocusRelative, 461c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BracketFocusAbsolute, 462c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BracketFlashPower, 463c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BracketAperture, 464c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BracketTemporal, 465e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BracketExposureGainAbsolute, 466e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BracketVectorShot, 467c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BrackerTypeKhronosExtensions = 0x6f000000, 468c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BrackerTypeVendorStartUnused = 0x7f000000, 469c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BracketTypeMax = 0x7FFFFFFF 470c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_BRACKETMODETYPE; 471c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 472c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_BRACKETINGTYPE { 473c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 474c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 475c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 476c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BRACKETMODETYPE eBracketMode; 477e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nNbrBracketingValues; 478e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nBracketValues[10]; /**< 10 can be assumed */ 479e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nBracketValues2[10]; /**< 10 can be assumed */ 480c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_BRACKETINGTYPE; 481c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 482c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 483c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 484c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Capture mode types 485c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Note: this list could get extended modified based on the type of interenal use-case pipelines implemented within the camera component. 486c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 487c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureImageHighSpeedBurst = 0, 488c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureImageHighSpeedTemporalBracketing, 489c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureImageProfileBase(Base): 490c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Base one almost same as Highspeed one. 491c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureImageProfileLowLight1(LL1): 492c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Includes NSF2 in addition to Base processing 493c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureImageProfileLowLight2(LL2): 494c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Includes NSF2 and LBCE in addition to Base processing. 495c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureImageProfileOpticalCorr1(OC1): 496c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Includes LDC in addition to Base processing. 497c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureImageProfileOpticalCorr2(OC2): 498c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Includes LDC and CAC in addition to Base processing. 499c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureImageProfileExtended1(Ext1): 500c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Includes NSF2, LBCE, LDC, and CAC in addition to Base 501c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureStereoImageCapture: 502c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Stereo image capture use-case. 503c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureImageMemoryInput: 504c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * need to take sensor input from INPUT port. 505c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureVideo: 506c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureHighSpeedVideo: 507c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_CaptureVideoMemoryInput: 508c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 509c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 510c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_CAMOPERATINGMODETYPE { 511c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureImageHighSpeedBurst = 0, 512c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureImageHighSpeedTemporalBracketing, 513c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureImageProfileBase, 514c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureImageProfileLowLight1, 515c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureImageProfileLowLight2, 516c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureImageProfileOpticalCorr1, 517c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureImageProfileOpticalCorr2, 518c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureImageProfileExtended1, 519e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_CaptureStereoImageCapture, 520c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureImageMemoryInput, 521c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureVideo, 522c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureHighSpeedVideo, 523c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CaptureVideoMemoryInput, 524c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CaptureDummy, 525c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CaptureGestureRecognition, 526c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CaptureImageProfileZeroShutterLag, 527e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SinglePreview, 528e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_StereoGestureRecognition, 529e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CPCam, 530e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_StereoVideo, 531e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_CaptureHighQualityVideo, 532e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen // Put new entries here so OMX_CamOperatingModeMax always points to 533e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen // the last one 534e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CamOperatingModeCount, 535e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_CamOperatingModeMax = OMX_TI_CamOperatingModeCount - 1, 536e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_CamOperatingMode = 0x7fffffff 537c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CAMOPERATINGMODETYPE; 538e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 539c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 540c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Capture mode setting: applicable to multi shot capture also including bracketing. 541c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 542c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 543c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 544c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 545c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 546c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eCamOperatingMode : specifies the camera operating mode. 547c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 548c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_CAMOPERATINGMODETYPE { 549c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 550c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 551c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CAMOPERATINGMODETYPE eCamOperatingMode; 552c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_CAMOPERATINGMODETYPE; 553c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 554c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 555c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 556c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Capture mode setting: applicable to multi shot capture also including bracketing. 557c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 558c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 559c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 560c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 561c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 562c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 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. 563c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nFrameBefore : 564c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * is specifying how many frames before the capture trigger shall be used. 565c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * It is implementation dependent how many is supported. This shall only be supported for images and not for video frames. 566c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bPrepareCapture : 567c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * should be set to true when nFrameBefore is greater than zero and before capturing of before-frames should start. 568c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The component is not allowed to deliver buffers until capturing starts. This shall only be supported for images and not for video frames. 569c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bEnableBracketing : 570c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * should be enabled when bracketing is used. In bracketing mode, one parameter can be changed per each capture. 571c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * tBracketConfigType : 572c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * specifies bracket mode to use. Valid only when bEnableBracketing is set. 573c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 574c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_EXTCAPTUREMODETYPE { 575c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 576c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 577c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 578c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFrameRate; 579c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFrameBefore; 580c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bPrepareCapture; 581c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bEnableBracketing; 582c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_CONFIG_BRACKETINGTYPE tBracketConfigType; 583c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_EXTCAPTUREMODETYPE; 584c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 585c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 586c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * For Extended Focus region Type - 587c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 588c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_EXTFOCUSREGIONTYPE { 589c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 590c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 591c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 592c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nRefPortIndex; 593c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nLeft; 594c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nTop; 595c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nWidth; 596c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHeight; 597c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_EXTFOCUSREGIONTYPE; 598c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 599c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 600c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Digital Flash Control 601c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 602c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 603c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 604c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 605c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bDigitalFlash : Digital flash type Enable/Disable - 606c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Specifies whether the digital flash algorithm is enabled or disabled. This overrides the contrast and brightness settings. 607c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 608c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_DIGITALFLASHTYPE { 609c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 610c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 611c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 612c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bDigitalFlash; 613c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_DIGITALFLASHTYPE; 614c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 615c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 616c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 617c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 618c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Privacy Indicator Enable/Disable 619c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 620c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 621c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 622c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 623c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bPrivacyIndicator : 624c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Specifies whether the flash should be used to indicate image or video capture. When flash is not used for exposure, 625c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * flash will be activated after exposure to indicate image capture. 626c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * If video light is not used, the flash can be blinking or constant at low intensity to indicate capture but not affect exposure. 627c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Specifies whether the digital flash algorithm is enabled or disabled. This overrides the contrast and brightness settings. 628c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 629c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_PRIVACYINDICATOR { 630c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 631c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 632c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 633c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bPrivacyIndicator; 634c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_PRIVACYINDICATOR; 635c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 636c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 637c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 638c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Privacy Indicator Enable/Disable 639c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 640c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 641c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 642c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 643c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bTorchMode : 644c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable/Disable 645c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nIntensityLevel : relative intensity from 0 - 100 646c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nDuration : duration in msec 647c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 648c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_TORCHMODETYPE { 649c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 650c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 651c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 652c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bTorchMode; 653c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nIntensityLevel; 654c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nDuration; 655c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_TORCHMODETYPE; 656c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 657c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 658c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 659c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 660c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Privacy Indicator Enable/Disable 661c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * DISABLE - Fire the xenon flash in the usual manner 662c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ENABLE - Reduce the light intensity of the main flash (ex 1EV) 663c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 664c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 665c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 666c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 667c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 668c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bSlowSync : 669c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable - OMX_TRUE/Disable - OMX_FALSE 670c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 671c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_SLOWSYNCTYPE { 672c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 673c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 674c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 675c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bSlowSync; 676c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_SLOWSYNCTYPE; 677c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 678c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 679c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 680c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Focus control extended enums. use this along with OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE 681c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 682c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_IMAGE_EXTFOCUSCONTROLTYPE { 683c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_IMAGE_FocusControlAutoMacro = 0x7F000001, /**< Reserved region for introducing Vendor Extensions */ 684c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_IMAGE_FocusControlAutoInfinity, 685c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_IMAGE_FocusControlHyperfocal, 686c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_IMAGE_FocusControlPortrait, /**< from Xena */ 687c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_IMAGE_FocusControlExtended, /**< from Xena */ 688c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_IMAGE_FocusControlContinousNormal, /**< from Xena */ 689e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IMAGE_FocusControlContinousExtended, /**< from Xena */ 690e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IMAGE_FocusControlContinousFacePriority, 691e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IMAGE_FocusControlContinousRegionPriority, 692e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IMAGE_FocusControlContinousPicture, 693e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IMAGE_FocusControlTypeMax = 0x7fffffff 694c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_IMAGE_EXTFOCUSCONTROLTYPE; 695c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 696c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 697c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 698c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 699c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Specifies whether the LED can be used to assist in autofocus, due to low lighting conditions. 700c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ENABLE means use as determined by the auto exposure algorithm. 701c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 702c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 703c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 704c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 705c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 706c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bFocusAssist : 707c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable - OMX_TRUE/Disable - OMX_FALSE 708c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 709c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_FOCUSASSISTTYPE { 710c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 711c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 712c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 713c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bFocusAssist; 714c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_FOCUSASSISTTYPE; 715c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 716c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 717c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 718c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 719c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *for locking the focus 720c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 721c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 722c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 723c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 724c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 725c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bFocusLock : 726c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable - OMX_TRUE/Disable - OMX_FALSE 727c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 728c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_FOCUSLOCKTYPE { 729c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 730c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 731c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 732c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bFocusLock; 733c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_FOCUSLOCKTYPE; 734c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 735c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 736c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 737c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *for locking the White balance 738c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 739c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 740c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 741c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 742c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 743c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bWhiteBalanceLock : 744c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable - OMX_TRUE/Disable - OMX_FALSE 745c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 746c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_WHITEBALANCELOCKTYPE { 747c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 748c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 749c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 750c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bWhiteBalanceLock; 751c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_WHITEBALANCELOCKTYPE; 752c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 753c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 754c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *for locking the Exposure 755c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 756c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 757c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 758c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 759c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 760c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bExposureLock : 761c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable - OMX_TRUE/Disable - OMX_FALSE 762c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 763c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_EXPOSURELOCKTYPE { 764c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 765c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 766c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 767c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bExposureLock; 768c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_EXPOSURELOCKTYPE; 769c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 770c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 771c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *for locking the Exposure 772c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Simultaneously lock focus, white balance and exposure (and relevant other settings). 773c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 774c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 775c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 776c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 777c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 778c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bAllLock : 779c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable - OMX_TRUE/Disable - OMX_FALSE 780c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 781c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_ALLLOCKTYPE { 782c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 783c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 784c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 785c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bAllLock; 786c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_ALLLOCKTYPE; 787c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 788c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 789c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *for locking 790c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Simultaneously lock focus, white balance and exposure (and relevant other settings). 791c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 792c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 793c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 794c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 795c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 796c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bLock : 797c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable - OMX_TRUE/Disable - OMX_FALSE 798c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bAtCapture: 799c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 800c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 801c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_IMAGE_CONFIG_LOCKTYPE { 802c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 803c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 804c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 805c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bLock; 806c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bAtCapture; 807c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_IMAGE_CONFIG_LOCKTYPE; 808c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 809c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 810c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * processig level types enum 811c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 812c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_PROCESSINGLEVEL{ 813c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Min = 0, 814c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Low, 815c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Medium, 816c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_High, 817c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Max, 818c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ProcessingLevelMax = 0x7fffffff 819c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_PROCESSINGLEVEL; 820c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 821c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 822c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *processing level type 823c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Simultaneously lock focus, white balance and exposure (and relevant other settings). 824c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 825c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 826c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 827c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 828c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 829c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLevel : 830c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLevel hinting processing amount. Range of values is -100 to 100. 831c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 0 causes no change to the image. Increased values cause increased processing to occur, with 100 applying maximum processing. 832c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Negative values have the opposite effect of positive values. 833c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bAuto: 834c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * sets if the processing should be applied according to input data. 835c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev It is allowed to combine the hint level with the auto setting, 836c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * i.e. to give a bias to the automatic setting. When set to false, the processing should not take input data into account. 837c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 838c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 839c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE { 840c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_U32 nSize; 841c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_VERSIONTYPE nVersion; 842c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_U32 nPortIndex; 843c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_S32 nLevel; 844c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_BOOL bAuto; 845c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE; 846c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 847c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 848c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 849c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * White Balance control type extended enums - to be used along with the structure @OMX_CONFIG_WHITEBALCONTROLTYPE 850c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 851c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 852c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 853c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 854c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_EXTWHITEBALCONTROLTYPE { 855c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_WhiteBalControlFacePriorityMode = OMX_WhiteBalControlVendorStartUnused + 1, /**< */ 856c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_WhiteBalControlSunset, 857c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_WhiteBalControlShade, 858c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_WhiteBalControlTwilight, 859e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_WhiteBalControlWarmFluorescent, 860e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_WhiteBalControlMax = 0x7fffffff 861c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_EXTWHITEBALCONTROLTYPE; 862c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 863c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 864c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *white balance gain type 865c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xWhiteBalanceGain and xWhiteBalanceOffset represents gain and offset for R, Gr, Gb, B channels respectively in Q16 format. \ 866c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * For example, new red pixel value = xWhiteBalanceGain[1]* the current pixel value + xWhiteBalanceOffset[1]. 867c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * All values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally. 868c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWhiteThreshhold represents thresholds for "white" area measurments in Q16 format. 869c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 870c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 871c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 872c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 873c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 874c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 875c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 876c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_WHITEBALGAINTYPE { 877c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 878c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 879c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 880c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 xWhiteBalanceGain[4]; 881c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 xWhiteBalanceOffset[4]; 882c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nWhiteThreshhold[4]; 883c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_WHITEBALGAINTYPE; 884c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 885c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 886c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 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 887c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * R' = xColorMatrix[1][1]*R + xColorMatrix[1][2]*G + xColorMatrix[1][3]*B + xColorOffset[1] 888c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * G' = xColorMatrix[2][1]*R + xColorMatrix[2][2]*G + xColorMatrix[2][3]*B + xColorOffset[2] 889c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * B' = xColorMatrix[3][1]*R + xColorMatrix[3][2]*G + xColorMatrix[3][3]*B + xColorOffset[3] 890c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Both xColorMatrix and xColorOffset are represented as Q16 value. 891c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bFullColorRange represents represents whether valid range of color is 0 to 255 (when set to TRUE) or 16 to 235 (for FALSE). 892c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Again all values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally. 893c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 894c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 895c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 896c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 897c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 898c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 899c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 900c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 901c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_EXT_COLORCONVERSIONTYPE { 902c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 903c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 904c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 905c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 xColorMatrix[3][3]; 906c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 xColorOffset[3]; 907c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bFullColorRange; 908c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_CONFIG_EXT_COLORCONVERSIONTYPE; 909c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 910c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 911c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 912c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xGamma represents lool-up table for gamma correction in Q16 format. 913c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * All values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally. 914c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 915c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 916c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 917c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 918c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 919c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 920c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 921c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 922c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 923c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_GAMMATABLETYPE { 924c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 925c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 926c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 927c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 xGamma[3][256]; 928c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_CONFIG_GAMMATABLETYPE; 929c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 930c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 931c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 932c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 933c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * processig types 934c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 935c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_PROCESSINGTYPE{ 936c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BloomingReduction = 0, 937c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Denoise, 938c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Sharpening, 939c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Deblurring, 940c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Demosaicing, 941c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ContrastEnhancement, 942c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ProcessingTypeMax = 0x7fffffff 943c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_PROCESSINGTYPE; 944c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 945c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 946c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIGPROCESSINGORDERTYPE { 947c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_U32 nSize; /**< Size of the structure in bytes */ 948c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 949c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_U32 nPortIndex; /**< Port that this struct applies to */ 950c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_U32 nIndex; 951c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_PROCESSINGTYPE eProc; 952c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIGPROCESSINGORDERTYPE; 953c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 954c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 955c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * HIST TYPE 956c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 957c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_HISTTYPE{ 958c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_HistControlLuminance = 0, /**< Luminance histogram is calculated (Y)*/ 959c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_HistControlColorComponents, /**< A histogram per color component (R, G, B) is calculated*/ 960e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_HistControlChrominanceComponents, /**< A histogram per chrominance component (Cb, Cr) is calculated.*/ 961e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_HistControl_32BIT_PATCH = 0x7FFFFFFF 962c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_HISTTYPE; 963c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 964c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 965c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Histogram Setting 966c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex is an output port. The port index decides on which port the extra data structur is sent on. 967c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bFrameLimited is a Boolean used to indicate if measurement shall be terminated after the specified number of 968c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * frames if true frame limited measurement is enabled; otherwise the port does not terminate measurement until 969c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * instructed to do so by the client. 970c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nFrameLimit is the limit on number of frames measured, this parameter is only valid if bFrameLimited is enabled. 971c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 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. 972c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nBins specifies the number of histogram bins. When queried with set to zero, the respons gives the maximum number of bins allowed. 973c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLeft is the leftmost coordinate of the measurement area rectangle. 974c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nTop is the topmost coordinate of the measurement area rectangle. 975c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWidth is the width of the measurement area rectangle in pixels. 976c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nHeight is the height of the measurement area rectangle in pixels. 977c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eHistType is an enumeration specifying the histogram type 978c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 979c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 980c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 981c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 982c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_HISTOGRAMTYPE { 983c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 984c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 985c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 986c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bFrameLimited; 987c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFrameLimit; 988c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bMeasure; 989c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nBins; 990c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nLeft; 991c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nTop; 992c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nWidth; 993c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHeight; 994c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_HISTTYPE eHistType; 995c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_HISTOGRAMTYPE; 996c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 997c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 998e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * OMX_HISTCOMPONENTTYPE Enumerated Value 999c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1000c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_HISTCOMPONENTTYPE{ 1001c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_HISTCOMP_Y = 0, /**< Luminance histogram (Y) */ 1002c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_HISTCOMP_YLOG, /**< Logarithmic luminance histogram (Y)*/ 1003c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_HISTCOMP_R, /**< Red histogram component (R)*/ 1004c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_HISTCOMP_G, /**< Green histogram component (G)*/ 1005c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_HISTCOMP_B, /**< Blue histogram component (B)*/ 1006c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_HISTCOMP_Cb, /**< Chroma blue histogram component (Cb)*/ 1007e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_HISTCOMP_Cr, /**< Chroma red histogram component (Cr) */ 1008e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_HISTCOMP_32BIT_PATCH = 0x7FFFFFFF 1009c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_HISTCOMPONENTTYPE; 1010c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1011e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1012c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The OMX_TI_CAMERAVIEWTYPE enumeration is used to identify the 1013e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * particular camera view and frame type that the rest of 1014e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the data in the structure is associated with. 1015e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1016e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_TI_CAMERAVIEWTYPE { 1017e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_2D_Prv, /**< Camera view in 2D for preview */ 1018e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_2D_Snap, /**< Camera view in 2D for snapshot */ 1019e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_2D_Cap, /**< Camera view in 2D for capture */ 1020e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_3D_Left_Prv, /**< Left camera view in 3D for preview */ 1021e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_3D_Left_Snap, /**< Left camera view in 3D for snapshot */ 1022e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_3D_Left_Cap, /**< Left camera view in 3D for capture */ 1023e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_3D_Right_Prv, /**< Right camera view in 3D for preview */ 1024e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_3D_Right_Snap, /**< Right camera view in 3D for snapshot */ 1025e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_3D_Right_Cap, /**< Right camera view in 3D for capture */ 1026c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE_32BIT_PATCH = 0x7FFFFFFF 1027c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CAMERAVIEWTYPE; 1028e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1029e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen#define OMX_OTHER_EXTRADATATYPE_SIZE ((OMX_U32)(((OMX_OTHER_EXTRADATATYPE *)0x0)->data)) /**< Size of OMX_OTHER_EXTRADATATYPE 1030e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen without Data[1] and without padding */ 1031e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1032c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1033e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * The extra data having DCC data is described with the following structure. 1034e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * This data contains single flags and values 1035e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * (not arrays) that have general usage for camera applications. 1036c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1037e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_DCCDATATYPE { 1038e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1039e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1040e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1041c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1042e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nCameraModuleId; 1043e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nDccDescriptorId; 1044e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nAlgorithmVendorId; 1045e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nUseCaseId; 1046e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nOffset; 1047e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_PTR pData; 1048e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_DCCDATATYPE; 1049e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1050e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * The extra data type to feed the camera re-processing function 1051e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1052e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_CAMREPROCMETATYPE { 1053e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nExpTime; 1054e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nGain; 1055e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_CAMREPROCMETATYPE; 1056e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1057e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1058e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * The extra data vector shot feedback info 1059e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nConfigId : Same id that cames with 1060e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * OMX_TI_CONFIG_ENQUEUESHOTCONFIGS::nShotConfig[x].nConfigId 1061e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * for particular shot config. 1062e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nFrameNum : Frame number in vect shot repeat sequence. 1063e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Starts from 1 for every shot config. 1064e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1065e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nExpMin : The exposure time lower limit,[us] 1066e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nExpMax : The exposure time upper limit,[us] 1067e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nGainMin : The analog gain lower limit,[0,01EV] 1068e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nGainMax : The analog gain upper limit,[0,01EV] 1069e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1070e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nReqEC : Requested total exposure compensation 1071e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nReqExpTime : Requested exposure time 1072e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nReqGain : Requested gain 1073e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1074e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nExpTime : Exposure time of this frame. 1075e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nAGain : Analog gain of this frame. 1076e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1077e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSenExpTimeErr : Exposure time error in us. 1078e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * If the requested exposure time is ExpReq 1079e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * and the one produced by the sensor is nExpTime then: 1080e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nExpTimeErr = nExpTime - ExpReq. 1081e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSenAGainErr: Analog gain error as multiplier (in Q8 format). 1082e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1083e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nDevEV : The total exposure deviation,[us] 1084e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nDevExpTime : The exposure time deviation after flicker reduction,[us] 1085e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nDevAGain : The analog gain deviation after flicker reduction,[0,01EV] 1086e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1087e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_VECTSHOTINFOTYPE { 1088e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nConfigId; 1089e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nFrameNum; 1090e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nExpMin; 1091e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nExpMax; 1092e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nGainMin; 1093e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nGainMax; 1094e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nReqEC; 1095e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nReqExpTime; 1096e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nReqGain; 1097e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nExpTime; 1098e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nAGain; 1099e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nSenExpTimeErr; 1100e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSenAGainErr; 1101e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nDevEV; 1102e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nDevExpTime; 1103e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nDevAGain; 1104e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VECTSHOTINFOTYPE; 1105e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1106e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/* 1107e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * LSC gain table size 1108e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1109e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen#define OMX_TI_LSC_GAIN_TABLE_SIZE (80 * 1024) 1110e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1111e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1112e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Possible LSC table gain formats 1113e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1114e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_TI_LSC_GAIN_FORMAT_TYPE { 1115e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSC_GAIN_FORMAT_0Q8, 1116e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSC_GAIN_FORMAT_0Q8_PLUS_1, 1117e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSC_GAIN_FORMAT_1Q7, 1118e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSC_GAIN_FORMAT_1Q7_PLUS_1, 1119e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSC_GAIN_FORMAT_2Q6, 1120e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSC_GAIN_FORMAT_2Q6_PLUS_1, 1121e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSC_GAIN_FORMAT_3Q5, 1122e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSC_GAIN_FORMAT_3Q5_PLUS_1, 1123e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSC_GAIN_FORMAT = 0x7FFFFFFF 1124e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_LSC_GAIN_FORMAT_TYPE; 1125e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1126e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1127e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * The extra data for LSC table 1128e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bApplied : If true the table is applied to the frame. 1129e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eGainFormat : Paxel format 1130e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nWidth : LSC table width in paxels 1131e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nHeight : LSC table height in paxels 1132e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * pGainTable : LSC gain table 1133e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1134e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_LSCTABLETYPE { 1135e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bApplied; 1136e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSC_GAIN_FORMAT_TYPE eGainFormat; 1137e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nWidth; 1138e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHeight; 1139e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 pGainTable[OMX_TI_LSC_GAIN_TABLE_SIZE]; 1140e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_LSCTABLETYPE; 1141c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1142c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1143c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The extra data having ancillary data is described with the following structure. 1144c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * This data contains single flags and values 1145c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * (not arrays) that have general usage for camera applications. 1146c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1147c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_ANCILLARYDATATYPE { 1148c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1149c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1150c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1151c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1152c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nAncillaryDataVersion; 1153c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFrameNumber; 1154c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nShotNumber; 1155c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nInputImageHeight; 1156c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nInputImageWidth; 1157c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nOutputImageHeight; 1158c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nOutputImageWidth; 1159c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nDigitalZoomFactor; 1160c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S16 nCropCenterColumn; 1161c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S16 nCropCenterRow; 1162c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nOpticalZoomValue; 1163c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFlashConfiguration; 1164c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nFlashUsage; 1165c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFlashStatus; 1166c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nAFStatus; 1167c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nAWBStatus; 1168c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nAEStatus; 1169c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nExposureTime; 1170c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nEVCompensation; 1171c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nDigitalGainValue; 1172c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nAnalogGainValue; 1173c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nCurrentISO; 1174c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nReferenceISO; 1175c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nApertureValue; 1176c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nPixelRange; 1177c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nPixelAspectRatio; 1178c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nCameraShake; 1179c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nFocalDistance; 1180c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U64 nParameterChangeFlags; 1181c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nNumFacesDetected; 1182c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nConvergenceMode; 1183c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nConvergenceStatus; 1184c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nDCCStatus; 1185c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_ANCILLARYDATATYPE; 1186c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1187e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1188e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * White Balance Results data 1189e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * The extra data having white balance results data is 1190e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * described with the following structure.. 1191e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1192c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_WHITEBALANCERESULTTYPE { 1193c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; /**< Size */ 1194c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; /**< Version */ 1195c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; /**< Port Index */ 1196c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1197c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nColorTemperature; /**< White Balance Color Temperature in Kelvins */ 1198c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nGainR; /**< Bayer applied R color channel gain in (U13Q9) */ 1199c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nGainGR; /**< Bayer applied Gr color channel gain in (U13Q9) */ 1200c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nGainGB; /**< Bayer applied Gb color channel gain in (U13Q9) */ 1201c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nGainB; /**< Bayer applied B color channel gain in (U13Q9) */ 1202c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S16 nOffsetR; /**< Bayer applied R color channel offset */ 1203c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S16 nOffsetGR; /**< Bayer applied Gr color channel offset */ 1204c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S16 nOffsetGB; /**< Bayer applied Gb color channel offset */ 1205c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S16 nOffsetB; /**< Bayer applied B color channel offset */ 1206c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_WHITEBALANCERESULTTYPE; 1207c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1208c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1209c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Unsaturated Regions data 1210c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The extra data having unsaturated regions data is 1211c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * described with the following structure.. 1212c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1213c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_UNSATURATEDREGIONSTYPE { 1214c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; /**< Size */ 1215c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; /**< Version */ 1216c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; /**< Port Index */ 1217c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nPaxelsX; /**< The number of paxels in the horizontal direction */ 1218c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nPaxelsY; /**< The number of paxels in the vertical direction */ 1219e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 data[1]; /**< the first value of an array of values that represent 1220e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen the percentage of unsaturated pixels within the associated paxel */ 1221c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_UNSATURATEDREGIONSTYPE; 1222c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1223c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1224c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_BARCODETYPE 1225c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1226e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_BARCODETYPE { 1227c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BARCODE1D = 0, /**< 1D barcode */ 1228c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BARCODE2D, /**< 2D barcode */ 1229e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BarcodeMax = 0x7fffffff 1230c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_BARCODETYPE; 1231c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1232c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Brcode detection data 1233c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLeft is the leftmost coordinate of the detected area rectangle. 1234c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nTop is the topmost coordinate of the detected area rectangle. 1235c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWidth is the width of the detected area rectangle in pixels. 1236c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nHeight is the height of the detected area rectangle in pixels. 1237c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 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. 1238c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eBarcodetype is an enumeration specifying the barcode type, as listed in the given table. 1239c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1240c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_BARCODEDETECTIONTYPE { 1241c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1242c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1243c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1244c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1245e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nLeft; /**< The leftmost coordinate of the detected area rectangle */ 1246e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nTop; /**< Topmost coordinate of the detected area rectangle */ 1247e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nWidth; /**< The width of the detected area rectangle in pixels */ 1248e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHeight; /**< The height of the detected area rectangle in pixels */ 1249e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nOrientation; /**< The orientation of the axis of the detected object. 1250e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen This refers to the angle between the vertical axis of barcode and the horizontal axis */ 1251e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BARCODETYPE eBarcodetype; /**< An enumeration specifying the barcode type, as listed in the given table */ 1252c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } OMX_BARCODEDETECTIONTYPE; 1253c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1254c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1255c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Front object detection data 1256c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLeft is the leftmost coordinate of the detected area rectangle. 1257c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nTop is the topmost coordinate of the detected area rectangle. 1258c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWidth is the width of the detected area rectangle in pixels. 1259c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nHeight is the height of the detected area rectangle in pixels. 1260c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1261c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_FRONTOBJDETECTIONTYPE { 1262c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1263c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1264c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1265c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1266e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nLeft; /**< The leftmost coordinate of the detected area rectangle */ 1267e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nTop; /**< The topmost coordinate of the detected area rectangle */ 1268e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nWidth; /**< The width of the detected area rectangle in pixels */ 1269e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHeight; /**< The height of the detected area rectangle in pixels */ 1270c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_FRONTOBJDETECTIONTYPE; 1271c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1272c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1273c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Distance estimation data 1274c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nDistance is the estimated distance to the object in millimeters. 1275c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLargestDiscrepancy is the estimated largest discrepancy of the distance to the object in millimeters. When equal to MAX_INT the discrepancy is unknown. 1276c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1277c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_DISTANCEESTIMATIONTYPE { 1278c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1279c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1280c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1281c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1282e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nDistance; /**< Estimated distance to the object in millimeters */ 1283e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nLargestDiscrepancy; /**< the estimated largest discrepancy of the distance to the object in millimeters. 1284e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen When equal to MAX_INT the discrepancy is unknown */ 1285c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_DISTANCEESTIMATIONTYPE; 1286c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1287c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1288c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Distance estimation data 1289c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nDistance is the estimated distance to the object in millimeters. 1290c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLargestDiscrepancy is the estimated largest discrepancy of the distance to the object in millimeters. When equal to MAX_INT the discrepancy is unknown. 1291c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1292c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1293c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_MOTIONESTIMATIONTYPE { 1294c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1295c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1296c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1297c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1298e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nPanX; /**< The detected translation in horizontal direction. 1299e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen The value is represented as pixels in Q16-format */ 1300e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nPanY; /**< The detected translation in vertical direction. 1301e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen The value is represented as pixels in Q16-format */ 1302c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_MOTIONESTIMATIONTYPE; 1303c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1304c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1305c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1306c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Focus region data 1307c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nRefPortIndex is the port the image frame size is defined on. This image frame size is used as reference for the focus region rectangle. 1308c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLeft is the leftmost coordinate of the focus region rectangle. 1309c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nTop is the topmost coordinate of the focus region rectangle. 1310c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWidth is the width of the focus region rectangle in pixels. 1311c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nHeight is the height of the focus region rectangle in pixels. 1312c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1313c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1314c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_FOCUSREGIONTYPE { 1315c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1316c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1317c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1318c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1319e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nRefPortIndex; /**< The port the image frame size is defined on. 1320e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen This image frame size is used as reference for the focus region rectangle */ 1321e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nLeft; /**< The leftmost coordinate of the focus region rectangle */ 1322e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nTop; /**< The topmost coordinate of the focus region rectangle */ 1323e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nWidth; /**< The width of the focus region rectangle in pixels */ 1324e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHeight; /**< The height of the focus region rectangle in pixels */ 1325c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_FOCUSREGIONTYPE; 1326c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1327c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1328c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_ISOSETTINGTYPE: specifies its auto or manual setting 1329c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1330c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1331c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_ISOSETTINGTYPE{ 1332c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Auto = 0, /**< */ 1333e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IsoManual, /**< */ 1334e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IsoSettingMax = 0x7fffffff 1335c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_ISOSETTINGTYPE; 1336c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1337c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1338c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize is the size of the structure including the length of data field containing 1339c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * the histogram data. 1340c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eISOMode: 1341c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * specifies the ISO seetting mode - auto/manual 1342c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nISOSetting: 1343c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * for manual mode client can specify the ISO setting. 1344c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1345c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1346c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_ISOSETTINGTYPE{ 1347c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1348c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1349c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1350c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ISOSETTINGTYPE eISOMode; 1351c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nISOSetting; 1352c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_CONFIG_ISOSETTINGTYPE; 1353c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1354c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1355c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * custom RAW format 1356c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1357c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_RAWFORMATTYPE { 1358c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1359c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1360c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1361c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nFormatVersion; 1362c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_STRING cVendorName; 1363c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_RAWFORMATTYPE; 1364c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1365c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1366c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Sensor type 1367c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1368c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_SENSORTYPE { 1369c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1370c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1371c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1372c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nSensorVersion; 1373c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_STRING cModelName; 1374c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_SENSORTYPE; 1375c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1376c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1377e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Sensor Detect 1378e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1379e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_PARAM_SENSORDETECT { 1380e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1381e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1382e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1383e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bSensorDetect; 1384e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_PARAM_SENSORDETECT; 1385e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1386e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1387e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * OMX_BAYERCOMPRESSION 1388e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 1389e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 1390e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_BAYERCOMPRESSION { 1391e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BAYER_UNPACKED, 1392e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BAYER_PACKED10, 1393e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BAYER_ALAW, 1394e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BAYER_DPCM, 1395e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BAYER_MAX = 0x7FFFFFFF 1396e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_BAYERCOMPRESSION; 1397e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1398e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1399e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Sensor Detect 1400e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 1401e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_PARAM_BAYERCOMPRESSION { 1402e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 1403e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 1404e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 1405e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BAYERCOMPRESSION eBayerCompression; 1406e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_PARAM_BAYERCOMPRESSION; 1407e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1408e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 1409c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Sensor custom data type 1410c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1411c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_SENSORCUSTOMDATATYPE { 1412c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1413c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1414c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1415c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nDataLength; 1416c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 xSensorData[1]; 1417c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_SENSORCUSTOMDATATYPE; 1418c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1419c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1420c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_OBJDETECTQUALITY 1421c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1422c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1423c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_OBJDETECTQUALITY{ 1424c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FastDetection = 0, /**< A detection that prioritizes speed*/ 1425c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Default, /**< The default detection, should be used when no control of the detection quality is given.*/ 1426c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BetterDetection, /**< A detection that levels correct detection with speed*/ 1427c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BestDtection, /**< A detection that prioritizes correct detection*/ 1428e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_AUTODETECTION, /**< Automatically decide which object detection quality is best.*/ 1429e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_ObjDetectQualityMax = 0x7fffffff 1430c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_OBJDETECTQUALITY; 1431c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1432c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1433c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OBJECT DETECTION Type 1434c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex: is an output port. The port index decides on which port the extra data structur of detected object is sent on. 1435c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bEnable : this controls ON/OFF for this object detection algirithm. 1436c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bFrameLimited: is a Boolean used to indicate if detection shall be terminated after the specified number of frames if 1437c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * true frame limited detection is enabled; otherwise the port does not terminate detection until instructed to do so by the client. 1438c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nFrameLimit: is the limit on number of frames detection is executed for, this parameter is only valid if bFrameLimited is enabled. 1439c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nMaxNbrObjects: specifies the maximum number of objects that should be found in each frame. It is implementation dependent which objects are found. 1440c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLeft: is the leftmost coordinate of the detection area rectangle. 1441c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nTop: is the topmost coordinate of the detection area rectangle. 1442c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWidth: is the width of the detection area rectangle in pixels. 1443c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nHeight: is the height of the detection area rectangle in pixels. 1444c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eObjDetectQuality: is an enumeration specifying the quality desired by the detection. 1445c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPriority: represents priority of each object when there are multiple objects detected. 1446c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1447c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1448c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_OBJDETECTIONTYPE { 1449c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1450c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1451c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1452c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bEnable; 1453c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bFrameLimited; 1454c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFrameLimit; 1455c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nMaxNbrObjects; 1456c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nLeft; 1457c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nTop; 1458c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nWidth; 1459c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHeight; 1460c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_OBJDETECTQUALITY eObjDetectQuality; 1461c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPriority; 1462c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nDeviceOrientation; 1463c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } OMX_CONFIG_OBJDETECTIONTYPE; 1464c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1465c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1466c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1467c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OMX_OBJDETECTQUALITY 1468c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1469c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1470c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_DISTTYPE{ 1471c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_DistanceControlFocus = 0, /**< focus objects distance type*/ 1472e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_DISTANCECONTROL_RECT, /**< Evaluated distance to the object found in the rectangelar area indicated as input region. */ 1473e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_DistTypeMax = 0x7fffffff 1474c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_DISTTYPE; 1475c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1476c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1477c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1478c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Distance mesurement 1479c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bStarted is a Boolean. The IL client sets it to true to start the measurement . 1480c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * the IL client sets to false to stop the measurement. The IL client can query it to check if the measurement is ongoing. 1481c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLeft : is the leftmost coordinate of the rectangle. 1482c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nTop : is the topmost coordinate of the rectangle. 1483c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWidth: is the width of the rectangle in pixels. 1484c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nHeight: is the height of the rectangle in pixels. 1485c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eDistType: is an enumeration specifying the distance measurement type, as shown in 1486c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1487c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_DISTANCETYPE { 1488c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1489c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1490c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1491c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bStarted; 1492c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nLeft; 1493c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nTop; 1494c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nWidth; 1495c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHeight; 1496c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_DISTTYPE eDistType; 1497c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_DISTANCETYPE; 1498c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1499c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1500c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1501c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * face detect data - face attribute 1502c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nARGBEyeColor: is the indicates a 32-bit eye color of the person, where bits 0-7 are blue, 1503c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha. 1504c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nARGBSkinColor: is the indicates a 32-bit skin color of the person, where bits 0-7 are blue, 1505c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha. 1506c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nARGBHairColor: is the indicates a 32-bit hair color of the person, where bits 0-7 are blue, 1507c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha. 1508c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSmileScore: a smile detection score between 0 and 100, where 0 means not detecting, 1509c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1 means least certain and 100 means most certain a smile is detected. 1510c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nBlinkScore: a eye-blink detection score between 0 and 100, where 0 means not detecting, 1511c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1 means least certain and 100 means most certain an eye-blink is detected. 1512c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xIdentity: represents the identity of the face. With identity equal to zero this is not supported. 1513c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * This can be used by a face recognition application. The component shall not reuse an identity value unless the same face. 1514c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Can be used to track detected faces when it moves between frames. Specific usage of this field is implementation dependent. 1515c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * It can be some kind of ID. 1516c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1517c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1518c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_FACEATTRIBUTE { 1519e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nARGBEyeColor; /**< The indicates a 32-bit eye color of the person, 1520e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen where bits 0-7 are blue, bits 15-8 are green, bits 24-16 are red, 1521e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen and bits 31-24 are for alpha. */ 1522e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nARGBSkinColor; /**< The indicates a 32-bit skin color of the person, 1523e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen where bits 0-7 are blue, bits 15-8 are green, bits 24-16 are red, 1524e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen and bits 31-24 are for alpha */ 1525e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nARGBHairColor; /**< the indicates a 32-bit hair color of the person, 1526e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen where bits 0-7 are blue, bits 15-8 are green, bits 24-16 are red, 1527e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen and bits 31-24 are for alpha */ 1528e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSmileScore; /**< Smile detection score between 0 and 100, where 0 means not detecting, 1529e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1 means least certain and 100 means most certain a smile is detected */ 1530e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nBlinkScore; /**< Eye-blink detection score between 0 and 100, where 0 means not detecting, 1531e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1 means least certain and 100 means most certain an eye-blink is detected */ 1532e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 xIdentity[4]; /**< represents the identity of the face. With identity equal to zero this is not supported. 1533e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen This can be used by a face recognition application. 1534e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen The component shall not reuse an identity value unless the same face. 1535e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen Can be used to track detected faces when it moves between frames. 1536e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen Specific usage of this field is implementation dependent. 1537e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen It can be some kind of ID */ 1538c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_FACEATTRIBUTE; 1539c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1540c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1541c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xGamma represents lool-up table for gamma correction in Q16 format. 1542c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * All values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally. 1543c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1544c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1545c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1546c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1547c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 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. 1548c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLeft: is the leftmost coordinate of the detected area rectangle. 1549c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nTop: is the topmost coordinate of the detected area rectangle. 1550c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWidth: is the width of the detected area rectangle in pixels. 1551c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nHeight: is the height of the detected area rectangle in pixels. 1552c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 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. 1553c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPriority represents priority of each object when there are multiple objects detected. 1554c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nFaceAttr describe the attributes of the detected face object with the following structure: 1555c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1556c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1557c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1558c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_FACERESULT { 1559c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1560c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1561c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1562c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1563e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nScore; /**< Detection score between 0 and 100, where 0 means unknown score, 1564e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 1 means least certain and 100 means most certain the detection is correct */ 1565e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nLeft; /**< The leftmost coordinate of the detected area rectangle */ 1566e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nTop; /**< The topmost coordinate of the detected area rectangle */ 1567e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nWidth; /**< The width of the detected area rectangle in pixels */ 1568e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHeight; /**< The height of the detected area rectangle in pixels */ 1569e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen // The orientation of the axis of the detected object. 1570e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen // Here roll angle is defined as the angle between the vertical axis of face and the horizontal axis. 1571e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen // All angles can have the value of -180 to 180 degree in Q16 format. 1572e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen // Some face detection algorithm may not be able to fill in the angles, this is denoted by the use of MAX_INT value. 1573c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_S32 nOrientationRoll; 1574c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_S32 nOrientationYaw; 1575c322989ae6ff6769490828de1b5eda12b749cce9Iliyan MalchevOMX_S32 nOrientationPitch; 1576e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen // 1577e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPriority; /**< Represents priority of each object when there are multiple objects detected */ 1578e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_FACEATTRIBUTE nFaceAttr; /**< Describe the attributes of the detected face object with the following structure */ 1579c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_FACERESULT; 1580c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1581c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1582c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1583c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Face detection data 1584c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The extra data having face detection data is described with the following structure. 1585c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The parser should only assume that the first tFacePosition[ulFaceCount] of the 35 elements 1586c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * of the array should contain valid data. 1587c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1588c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_FACEDETECTIONTYPE { 1589c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1590c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1591c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1592c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1593e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulFaceCount; // faces detected 1594c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_FACERESULT tFacePosition[35];// 35 is max faces supported by FDIF 1595c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_FACEDETECTIONTYPE; 1596c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1597c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1598c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * MTIS Vendor Specific Motion estimation 1599c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The extra data having MTIS motion estimation data is 1600c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * described with the following structure. 1601c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1602c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_MTISTYPE { 1603c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1604c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1605c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1606c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CAMERAVIEWTYPE eCameraView; 1607c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nMaxMVh; /**< The maximum MV for horizontal direction */ 1608c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nMaxMVv; /**< The maximum MV for vertical direction */ 1609c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nMVRelY[9]; /**< The mask for MV reliability */ 1610c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 nMVRelX[9]; /**< The mask for MV reliability */ 1611c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nMVh[9]; /**< The MVs for horizontal direction */ 1612c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nMVv[9]; /**< The MVs for vertical direction */ 1613c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_MTISTYPE; 1614c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1615c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1616c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The OMX_EXTRADATATYPE enumeration is used to define the 1617c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * possible extra data payload types. 1618c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1619e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_EXT_EXTRADATATYPE { 1620e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_ExifAttributes = 0x7F000001, /**< 0x7F000001 Reserved region for introducing Vendor Extensions */ 1621c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_AncillaryData, /**< 0x7F000002 ancillary data */ 1622c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_WhiteBalance, /**< 0x7F000003 white balance resultant data */ 1623c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_UnsaturatedRegions, /**< 0x7F000004 unsaturated regions data */ 1624e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_FaceDetection, /**< 0x7F000005 face detect data */ 1625e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BarcodeDetection, /**< 0x7F000006 bar-code detct data */ 1626e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_FrontObjectDetection, /**< 0x7F000007 Front object detection data */ 1627e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_MotionEstimation, /**< 0x7F000008 motion Estimation data */ 1628e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_MTISType, /**< 0x7F000009 MTIS motion Estimation data */ 1629e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_DistanceEstimation, /**< 0x7F00000A disctancedistance estimation */ 1630e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_Histogram, /**< 0x7F00000B histogram */ 1631e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_FocusRegion, /**< 0x7F00000C focus region data */ 1632c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ExtraDataPanAndScan, /**< 0x7F00000D pan and scan data */ 1633e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_RawFormat, /**< 0x7F00000E custom RAW data format */ 1634e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_SensorType, /**< 0x7F00000F vendor & model of the sensor being used */ 1635e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_SensorCustomDataLength, /**< 0x7F000010 vendor specific custom data length */ 1636e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_SensorCustomData, /**< 0x7F000011 vendor specific data */ 1637c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_FrameLayout, /**< 0x7F000012 vendor specific data */ 1638c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_SEIinfo2004Frame1, /**< 0x7F000013 Used for 2004 SEI message to be provided by video decoders */ 1639c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_SEIinfo2004Frame2, /**< 0x7F000014 Used for 2004 SEI message to be provided by video decoders */ 1640c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_SEIinfo2010Frame1, /**< 0x7F000015 Used for 2010 SEI message to be provided by video decoders */ 1641c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_SEIinfo2010Frame2, /**< 0x7F000016 Used for 2010 SEI message to be provided by video decoders */ 1642c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_RangeMappingInfo, /**< 0x7F000017 Used for Range mapping info provided by Video Decoders */ 1643c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_RescalingInfo, /**< 0x7F000018 Used for width/height rescaling info provided by Video Decoders */ 1644c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_WhiteBalanceOverWrite, /**< 0x7F000019 Used for manual AWB settings */ 1645e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CPCamData, /**< 0x7F00001A Used for cp cam data */ 1646e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_H264ESliceDataInfo, /**< 0x7F00001B */ 1647e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_DccData, /**< 0x7F00001C Used for dcc data overwrite in the file system */ 1648e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ProfilerData, /**< 0x7F00001D Used for profiling data */ 1649e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VectShotInfo, /**< 0x7F00001E Used for vector shot feedback notification */ 1650e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CamReProcMeta, /**< 0x7F00001F Used for meta data input to camera re-proc function */ 1651e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_LSCTable, /**< 0x7F000020 Lens shading table for corresponding frame */ 1652e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CodecExtenderErrorFrame1, /**< 0x7F000021 Used for Codec Extended Error to be provided byvideo decoders */ 1653e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CodecExtenderErrorFrame2, /**< 0x7F000022 Used for Codec Extended Error to be provided byvideo decoders */ 1654e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_MBInfoFrame1, /**< 0x7F000023 Used for MBError message to be provided by videodecoders */ 1655e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_MBInfoFrame2, /**< 0x7F000024 Used for MBError message to be provided by videodecoders */ 1656e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SEIInfoFrame1, /**< 0x7F000025 Used for SEI message to be provided by video decoders*/ 1657e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SEIInfoFrame2, /**< 0x7F000026 Used for SEI message to be provided by video decoders*/ 1658e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VUIInfoFrame1, /**< 0x7F000027 Used for VUI message to be provided by video decoders */ 1659e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VUIInfoFrame2, /**< 0x7F000028 Used for VUI message to be provided by video decoders */ 1660c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_ExtraData_Count, 1661c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_ExtraData_Max = OMX_TI_ExtraData_Count - 1, 1662e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ExtraData_32Bit_Patch = 0x7fffffff 1663c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_EXT_EXTRADATATYPE; 1664c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1665c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1666c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1667c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable Extra-data on a specific port. 1668c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1669c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1670c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1671c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1672c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1673c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1674c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port on which this extra data to be assosiated 1675c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eExtraDataType : Extra data type 1676c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bEnable : Eneble/Disable this extra-data through port. 1677c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1678c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1679c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_EXTRADATATYPE { 1680e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; /**< The size of the structure including data bytes 1681e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen and any padding necessary to ensure 32bit alignment 1682e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen of the next OMX_OTHER_EXTRADATATYPE structure */ 1683c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1684e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; /**< The read-only value containing the index of the port */ 1685e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_EXT_EXTRADATATYPE eExtraDataType; /**< Identifies the extra data payload type */ 1686c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bEnable; 1687c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_EXTRADATATYPE; 1688c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1689c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1690c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * JPEG header type 1691c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * */ 1692c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1693c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_JPEGHEADERTYPE{ 1694c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_NoHeader = 0, 1695c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_JFIF, 1696e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_EXIF, 1697e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_JpegHeaderTypeMax = 0x7fffffff 1698c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_JPEGHEADERTYPE; 1699c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1700c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Re-start marker configuration 1701c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1702c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1703c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1704c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1705c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1706c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1707c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port on which this extra data to be assosiated 1708c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eJpegHeaderType : JPEG header type EXIF, JFIF, or No heeader. 1709c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1710c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1711c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_JPEGHEEADERTYPE{ 1712c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1713c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1714c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1715c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_JPEGHEADERTYPE eJpegHeaderType; 1716c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_CONFIG_JPEGHEEADERTYPE; 1717c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1718c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1719c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Re-start marker configuration 1720c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1721c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1722c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1723c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1724c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1725c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1726c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port on which this extra data to be assosiated 1727c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nRstInterval : interval at which RST markers are to be inserted. 1728c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bEnable : Eneble/Disable this RST marker insertion feature. 1729c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1730c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1731c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1732c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_RSTMARKER{ 1733c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1734c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1735c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1736c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nRstInterval; 1737c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL nEnable; 1738c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_CONFIG_RSTMARKER; 1739c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1740c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1741c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable Extra-data on a specific port. 1742c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1743c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1744c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1745c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1746c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1747c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1748c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 1749c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nMaxSize : max size 1750c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1751c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1752c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1753c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_IMAGE_JPEGMAXSIZE { 1754c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1755c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1756c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1757c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nMaxSize; 1758c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_IMAGE_JPEGMAXSIZE; 1759c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1760c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1761c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_IMAGESTAMPOPERATION{ 1762c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_NewImageStamp = 0, 1763e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_Continuation, 1764e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_ImageStapOperationMax = 0x7fffffff 1765c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_IMAGESTAMPOPERATION; 1766c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1767c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1768c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1769c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable Extra-data on a specific port. 1770c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1771c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1772c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1773c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1774c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1775c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1776c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 1777c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nMaxSize : max size 1778c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1779c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1780c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1781c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_PARAM_IMAGESTAMPOVERLAYTYPE { 1782c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1783c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1784c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1785c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_IMAGESTAMPOPERATION nOp; 1786c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nLeft; 1787c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nTop; 1788c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHeight; 1789c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nWidth; 1790c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_COLOR_FORMATTYPE eFormat; 1791c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 * pBitMap; 1792c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_PARAM_IMAGESTAMPOVERLAYTYPE; 1793c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1794c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1795c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1796c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable Extra-data on a specific port. 1797c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1798c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1799c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1800c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1801c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1802c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1803c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 1804c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nMaxSize : max size 1805c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1806c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1807c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1808c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_PARAM_THUMBNAILTYPE { 1809c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1810c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1811c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1812c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHeight; 1813c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nWidth; 1814c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_IMAGE_CODINGTYPE eCompressionFormat; 1815c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_COLOR_FORMATTYPE eColorFormat; 1816c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nQuality; 1817c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nMaxSize; 1818c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_PARAM_THUMBNAILTYPE; 1819c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1820c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1821c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Red-Eye Removal Enum 1822c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1823c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_REDEYEREMOVALTYPE{ 1824c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_RedEyeRemovalOff = 0, /** No red eye removal*/ 1825c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_RedEyeRemovalOn, /** Red eye removal on*/ 1826c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_RedEyeRemovalAuto, /** Red eye removal will be done automatically when detected*/ 1827c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_RedEyeRemovalKhronosExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions*/ 1828c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_RedEyeRemovalVendorStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions*/ 1829c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_RedEyeRemovalMax = 0x7FFFFFFF 1830c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_REDEYEREMOVALTYPE; 1831c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1832c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1833c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable Extra-data on a specific port. 1834c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1835c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1836c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1837c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1838c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1839c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1840c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 1841c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLeft: is the leftmost coordinate of the detection area rectangle (such as face region). 1842c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nTop: is the topmost coordinate of the detection area rectangle (such as face region). 1843c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWidth: is the width of the detection area rectangle in pixels. 1844c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nHeight: is the height of the detection area rectangle in pixels. 1845c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 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. 1846c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1847c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1848c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1849c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_CONFIG_REDEYEREMOVALTYPE { 1850c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1851c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1852c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1853c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nLeft; 1854c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nTop; 1855c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nWidth; 1856c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHeight; 1857c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nARGBEyeColor; 1858c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_REDEYEREMOVALTYPE eMode; 1859c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_CONFIG_REDEYEREMOVALTYPE; 1860c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1861c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1862c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1863c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1864c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1865c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1866c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1867c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Video capture YUV Range Enum 1868c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1869c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_VIDEOYUVRANGETYPE{ 1870c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ITURBT601 = 0, 1871c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_Full8Bit, 1872c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VideoYUVRangeKhronosExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions*/ 1873c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VideoYUVRangeVendorStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions*/ 1874c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VideoYUVRangeMax = 0x7FFFFFFF 1875c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_VIDEOYUVRANGETYPE; 1876c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1877c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1878c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable Extra-data on a specific port. 1879c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1880c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1881c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1882c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1883c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1884c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1885c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 1886c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1887c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1888c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_PARAM_VIDEOYUVRANGETYPE { 1889c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1890c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1891c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1892c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEOYUVRANGETYPE eYUVRange; 1893c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_PARAM_VIDEOYUVRANGETYPE; 1894c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1895c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1896c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Video noise filter mode range enum 1897c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1898c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_VIDEONOISEFILTERMODETYPE{ 1899c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VideoNoiseFilterModeOff = 0, 1900c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VideoNoiseFilterModeOn, 1901c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VideoNoiseFilterModeAuto, 1902c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VideoNoiseFilterModeExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */ 1903c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VideoNoiseFilterModeStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */ 1904c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VideoNoiseFilterModeMax = 0x7FFFFFFF 1905c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_VIDEONOISEFILTERMODETYPE; 1906c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1907c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1908c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable video noise filter. 1909c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1910c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1911c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1912c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1913c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 1914c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eMode : Video noise filter mode (on/off/auto) 1915c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1916c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_PARAM_VIDEONOISEFILTERTYPE { 1917c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1918c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1919c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1920c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VIDEONOISEFILTERMODETYPE eMode; 1921c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_PARAM_VIDEONOISEFILTERTYPE; 1922c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1923c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1924c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1925c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * High ISO Noise filter mode range enum 1926c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1927c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_ISONOISEFILTERMODETYPE{ 1928c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ISONoiseFilterModeOff = 0, 1929c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ISONoiseFilterModeOn, 1930c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ISONoiseFilterModeAuto, 1931c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ISONoiseFilterModeExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */ 1932c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ISONoiseFilterModeStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */ 1933c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ISONoiseFilterModeMax = 0x7FFFFFFF 1934c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_ISONOISEFILTERMODETYPE; 1935c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1936c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1937c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enable ISO noise filter. 1938c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1939c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1940c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1941c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1942c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 1943c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eMode : ISO noise filter (NSF2 is used) mode (on/off/auto) 1944c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1945c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_PARAM_ISONOISEFILTERTYPE { 1946c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1947c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1948c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1949c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_ISONOISEFILTERMODETYPE eMode; 1950c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_PARAM_ISONOISEFILTERTYPE; 1951c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1952c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1953c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Structure used to to call OMX_GetParams() for each 1954c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * increment of "Index" starting with "0" 1955c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 1956c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1957c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1958c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1959c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nIndex : Index of the sDCCURI 0..MAX_URI_LENGTH 1960c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * sDCCURI : Look-up table containing strings. Ends with '\0' 1961c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1962c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_PARAM_DCCURIINFO { 1963c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1964c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1965c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nIndex; 1966c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 sDCCURI[MAX_URI_LENGTH]; 1967c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_PARAM_DCCURIINFO; 1968c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1969c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1970c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Manual White Balance color temperature 1971c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 1972c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 1973c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 1974c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 1975c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nColorTemperature : Color Temperature in K 1976c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1977c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_WHITEBALANCECOLORTEMPTYPE { 1978c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 1979c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 1980c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 1981c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nColorTemperature; 1982c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_WHITEBALANCECOLORTEMPTYPE; 1983c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1984c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1985c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Focus spot weighting range enum 1986c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 1987c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_CONFIG_FOCUSSPOTMODETYPE { 1988c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FocusSpotDefault = 0, /** Makes CommonFocusRegion to be used. */ 1989e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_FocusSpotSinglecenter, /** Only central part of the image is used for focus. */ 1990e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_FocusSpotMultiNormal, /** Middle part of the image is used with 100% weight, upper and lower parts are with 50%. */ 1991e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_FocusSpotMultiAverage, /** All the image is used with 100% weight. */ 1992e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_FocusSpotMultiCenter, /** Central part of the image is used with 100% weight, the rest is used with 50%. */ 1993c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FocusSpotExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */ 1994c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FocusSpotModeStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */ 1995c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_FocusSpotModeMax = 0x7FFFFFFF 1996c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_FOCUSSPOTMODETYPE; 1997c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 1998c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 1999c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Focus Spot Weighting configuration. 2000c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2001c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2002c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 2003c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 2004c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 2005c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eMode : Spot Weighting mode 2006c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2007c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_FOCUSSPOTWEIGHTINGTYPE { 2008c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2009c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2010c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2011c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_CONFIG_FOCUSSPOTMODETYPE eMode; 2012c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_FOCUSSPOTWEIGHTINGTYPE; 2013c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2014c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2015c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Enumeration of possible Exposure control types for OMX_EXPOSURECONTROLTYPE 2016c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2017c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_EXTEXPOSURECONTROLTYPE { 2018e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ExposureControlVeryLong = OMX_ExposureControlVendorStartUnused + 1, 2019e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ExposureControlFacePriority, 2020e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ExposureControlMax = 0x7fffffff 2021c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_EXTEXPOSURECONTROLTYPE; 2022c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2023c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2024c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Variable frame rate configuration. 2025c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2026c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2027c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 2028c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 2029c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 2030c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xMinFramerate : Minimum variable frame rate value 2031c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2032c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_PARAM_VARFRAMERATETYPE { 2033c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2034c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2035c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2036c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 xMinFramerate; 2037c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_PARAM_VARFRAMERATETYPE; 2038c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2039c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2040c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Exposure config for right frame 2041c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2042c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_EXPOSUREVALUERIGHTTYPE { 2043c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2044c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2045c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2046c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */ 2047c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nShutterSpeedMsec; /**< Shutterspeed in milliseconds */ 2048c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */ 2049c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_EXPOSUREVALUERIGHTTYPE; 2050c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2051c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2052c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Auto Convergence mode enum 2053c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2054c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_AUTOCONVERGENCEMODETYPE { 2055c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_AutoConvergenceModeDisable, 2056c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_AutoConvergenceModeFrame, 2057c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_AutoConvergenceModeCenter, 2058c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_AutoConvergenceModeFocusFaceTouch, 2059c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_AutoConvergenceModeManual, 2060c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_AutoConvergenceExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */ 2061c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_AutoConvergenceStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */ 2062c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_AutoConvergenceModeMax = 0x7FFFFFFF 2063c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_AUTOCONVERGENCEMODETYPE; 2064c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2065c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2066c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Variable farame rate configuration. 2067c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2068c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2069c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 2070c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 2071c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 2072c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eACMode : Auto convergence mode 2073c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nManualConverence : Manual Converence value 2074c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nACProcWinStartX : Start X AC Window 2075c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nACProcWinStartY : Start Y AC Window 2076c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nACProcWinWidth : Width of AC Window 2077c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nACProcWinHeight : Height of AC Window 2078c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bACStatus : output status from AL alg 2079c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2080c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_CONVERGENCETYPE { 2081c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2082c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2083c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2084c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_AUTOCONVERGENCEMODETYPE eACMode; 2085c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nManualConverence; 2086c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nACProcWinStartX; 2087c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nACProcWinStartY; 2088c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nACProcWinWidth; 2089c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nACProcWinHeight; 2090c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bACStatus; 2091c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_CONVERGENCETYPE; 2092c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2093c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2094c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Camera specific version. 2095c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2096c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2097c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nBranch : Branch 2098c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nCommitID : Commit ID 2099c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nBuildDateTime : Build date and time 2100c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nExtraInfo : rederved for future use 2101c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2102c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CAMERASPECVERSIONTYPE { 2103c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nBranch[64]; 2104c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nCommitID[64]; 2105c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nBuildDateTime[64]; 2106c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 nExtraInfo[64]; 2107c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CAMERASPECVERSIONTYPE; 2108c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2109c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2110c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Stereo frame layout enum 2111c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2112c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_STEREOFRAMELAYOUTTYPE { 2113c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_StereoFrameLayout2D, 2114c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_StereoFrameLayoutTopBottom, 2115c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_StereoFrameLayoutLeftRight, 2116e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_StereoFrameLayoutTopBottomSubsample, 2117e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_StereoFrameLayoutLeftRightSubsample, 2118c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_StereoFrameLayoutMax = 0x7FFFFFFF 2119c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_STEREOFRAMELAYOUTTYPE; 2120c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2121c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2122c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Camera frame layout type. 2123c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2124c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2125c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eFrameLayout : frame layout 2126c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSubsampleRatio : subsample ratio 2127c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2128c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_FRAMELAYOUTTYPE { 2129c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2130c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2131c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2132c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_STEREOFRAMELAYOUTTYPE eFrameLayout; 2133c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSubsampleRatio; /** Subsampling ratio, Q15.7 */ 2134c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_FRAMELAYOUTTYPE; 2135c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2136c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2137c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The OMX_TI_COLOR_FORMATTYPE enumeration is used to define the 2138c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * extended color format types. 2139c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2140c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_COLOR_FORMATTYPE { 2141c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_COLOR_FormatRawBayer10bitStereo = 2142c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_COLOR_FormatVendorStartUnused + 2, /**< 10 bit raw for stereo */ 2143e5d86ac2b8d0b0172944bb46c7a5d2c6b659b2a9Lakshman Gowda OMX_TI_COLOR_FormatYUV420PackedSemiPlanar = 2144e5d86ac2b8d0b0172944bb46c7a5d2c6b659b2a9Lakshman Gowda (OMX_COLOR_FORMATTYPE) OMX_COLOR_FormatVendorStartUnused + 0x100, /* 0x100 is used since it is the corresponding HAL pixel fromat */ 2145e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ColorFormatTypeMax = 0x7fffffff 2146c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_COLOR_FORMATTYPE; 2147c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2148c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2149c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The OMX_TI_EXIFTAGSTATUS enumeration is used to define the 2150c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * tag status types. 2151c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2152c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_EXIFTAGSTATUS { 2153c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_TagReadOnly, /**< implies this tag is generated within omx-camera >*/ 2154c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_TagReadWrite, /**< implies this tag can be overwritten by client >*/ 2155c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_TagUpdated, /**< client has to use this to indicate the specific tag is overwritten >*/ 2156c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_ExifStatus_Max = 0x7fffffff 2157c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_EXIFTAGSTATUS; 2158c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2159c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_EXIF_TAGS { 2160c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2161c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2162c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2163c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusImageWidth; 2164c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulImageWidth; 2165c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusImageHeight; 2166c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulImageHeight; 2167c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusBitsPerSample; 2168c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usBitsPerSample[3]; 2169c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusCompression; 2170c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usCompression; 2171c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusPhotometricInterpretation; 2172c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usPhotometricInterpretation; 2173c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusOrientation; 2174c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usOrientation; 2175c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSamplesPerPixel; 2176c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usSamplesPerPixel; 2177c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusPlanarConfiguration; 2178c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usPlanarConfiguration; 2179c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusYCbCrSubSampling; 2180c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usYCbCrSubSampling[2]; 2181c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusYCbCrPositioning; 2182c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usYCbCrPositioning; 2183c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusXResolution; 2184c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulXResolution[2]; 2185c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusYResolution; 2186c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulYResolution[2]; 2187c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusResolutionUnit; 2188c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usResolutionUnit; 2189c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2190c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusRowsPerStrip; 2191c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulRowsPerStrip; 2192c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusDataSize; 2193c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulDataSize; 2194c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2195c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusTransferFunction; 2196c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usTransferFunction[3*256]; 2197c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusWhitePoint; 2198c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulWhitePoint[4]; //2x2 2199c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusPrimaryChromaticities; 2200c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulPrimaryChromaticities[12]; //2x6 2201c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusYCbCrCoefficients; 2202c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulYCbCrCoefficients[6]; //2x3 2203c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusReferenceBlackWhite; 2204c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulReferenceBlackWhite[12]; //2x6 2205c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusDateTime; 2206c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pDateTimeBuff; 2207c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulDateTimeBuffSizeBytes; 2208c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusImageDescription; 2209c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pImageDescriptionBuff; 2210c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulImageDescriptionBuffSizeBytes; 2211c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusMake; 2212c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pMakeBuff; 2213c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulMakeBuffSizeBytes; 2214c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusModel; 2215c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pModelBuff; 2216c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulModelBuffSizeBytes; 2217c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSoftware; 2218c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pSoftwareBuff; 2219c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulSoftwareBuffSizeBytes; 2220c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusArtist; 2221c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pArtistBuff; 2222c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulArtistBuffSizeBytes; 2223c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusCopyright; 2224c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pCopyrightBuff; 2225c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulCopyrightBuffSizeBytes; 2226c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2227c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusExifVersion; 2228c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cExifVersion[4]; 2229c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusFlashpixVersion; 2230c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cFlashpixVersion[4]; 2231c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusColorSpace; 2232c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usColorSpace; 2233c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusComponentsConfiguration; 2234c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cComponentsConfiguration[4]; 2235c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusCompressedBitsPerPixel; 2236c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulCompressedBitsPerPixel[2]; 2237c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusPixelXDimension; 2238c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulPixelXDimension; 2239c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusPixelYDimension; 2240c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulPixelYDimension; 2241c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusMakerNote; 2242c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pMakerNoteBuff; 2243c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulMakerNoteBuffSizeBytes; 2244c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusUserComment; 2245c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pUserCommentBuff; 2246c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulUserCommentBuffSizeBytes; 2247c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusRelatedSoundFile; 2248c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cRelatedSoundFile[13]; 2249c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusDateTimeOriginal; 2250c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pDateTimeOriginalBuff; 2251c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulDateTimeOriginalBuffSizeBytes; 2252c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusDateTimeDigitized; 2253c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pDateTimeDigitizedBuff; 2254c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulDateTimeDigitizedBuffSizeBytes; 2255c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSubSecTime; 2256c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pSubSecTimeBuff; 2257c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulSubSecTimeBuffSizeBytes; 2258c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSubSecTimeOriginal; 2259c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pSubSecTimeOriginalBuff; 2260c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulSubSecTimeOriginalBuffSizeBytes; 2261c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSubSecTimeDigitized; 2262c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pSubSecTimeDigitizedBuff; 2263c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulSubSecTimeDigitizedBuffSizeBytes; 2264c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2265c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusExposureTime; 2266c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulExposureTime[2]; 2267c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusFNumber; 2268c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulFNumber[2]; 2269c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusExposureProgram; 2270c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usExposureProgram; 2271c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSpectralSensitivity; 2272c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pSpectralSensitivityBuff; 2273c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulSpectralSensitivityBuffSizeBytes; 2274c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusISOCount; 2275c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usISOCount; 2276c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusISOSpeedRatings; 2277c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16* pISOSpeedRatings; 2278c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusOECF; 2279c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pOECFBuff; 2280c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulOECFBuffSizeBytes; 2281c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusShutterSpeedValue; 2282c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 slShutterSpeedValue[2]; 2283c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusApertureValue; 2284c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulApertureValue[2]; 2285c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusBrightnessValue; 2286c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 slBrightnessValue[2]; 2287c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusExposureBiasValue; 2288c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 slExposureBiasValue[2]; 2289c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusMaxApertureValue; 2290c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulMaxApertureValue[2]; 2291c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSubjectDistance; 2292c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulSubjectDistance[2]; 2293c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusMeteringMode; 2294c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usMeteringMode; 2295c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusLightSource; 2296c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usLightSource; 2297c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusFlash; 2298c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usFlash; 2299c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusFocalLength; 2300c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulFocalLength[2]; 2301c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSubjectArea; 2302c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usSubjectArea[4]; 2303c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusFlashEnergy; 2304c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulFlashEnergy[2]; 2305c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSpatialFrequencyResponse; 2306c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pSpatialFrequencyResponseBuff; 2307c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulSpatialFrequencyResponseBuffSizeBytes; 2308c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusFocalPlaneXResolution; 2309c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulFocalPlaneXResolution[2]; 2310c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusFocalPlaneYResolution; 2311c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulFocalPlaneYResolution[2]; 2312c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusFocalPlaneResolutionUnit; 2313c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usFocalPlaneResolutionUnit; 2314c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSubjectLocation; 2315c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usSubjectLocation[2]; 2316c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusExposureIndex; 2317c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulExposureIndex[2]; 2318c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSensingMethod; 2319c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usSensingMethod; 2320c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusFileSource; 2321c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cFileSource; 2322c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSceneType; 2323c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cSceneType; 2324c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusCFAPattern; 2325c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pCFAPatternBuff; 2326c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulCFAPatternBuffSizeBytes; 2327c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusCustomRendered; 2328c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usCustomRendered; 2329c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusExposureMode; 2330c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usExposureMode; 2331c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusWhiteBalance; 2332c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usWhiteBalance; 2333c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusDigitalZoomRatio; 2334c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulDigitalZoomRatio[2]; 2335c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusFocalLengthIn35mmFilm; 2336c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usFocalLengthIn35mmFilm; 2337c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSceneCaptureType; 2338c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usSceneCaptureType; 2339c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGainControl; 2340c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usGainControl; 2341c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusContrast; 2342c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usContrast; 2343c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSaturation; 2344c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usSaturation; 2345c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSharpness; 2346c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usSharpness; 2347c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusDeviceSettingDescription; 2348c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pDeviceSettingDescriptionBuff; 2349c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulDeviceSettingDescriptionBuffSizeBytes; 2350c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusSubjectDistanceRange; 2351c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usSubjectDistanceRange; 2352c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2353c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusImageUniqueID; 2354c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cImageUniqueID[33]; 2355c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8* pPrivateNextIFDPointer; //Should not be used by the application 2356c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8* pPrivateThumbnailSize; //Should not be used by the application 2357c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8* pPrivateTiffHeaderPointer; //Should not be used by the application 2358c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2359c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsVersionId; 2360c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 ucGpsVersionId[4]; 2361c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpslatitudeRef; 2362c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpslatitudeRef[2]; 2363c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsLatitude; 2364c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsLatitude[6]; 2365c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsLongitudeRef; 2366c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsLongitudeRef[2]; 2367c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsLongitude; 2368c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsLongitude[6]; 2369c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsAltitudeRef; 2370c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8 ucGpsAltitudeRef; 2371c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsAltitude; 2372c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsAltitude[2]; 2373c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsTimeStamp; 2374c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsTimeStamp[6]; 2375c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsSatellites; 2376c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pGpsSatellitesBuff; 2377c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsSatellitesBuffSizeBytes; 2378c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsStatus; 2379c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsStatus[2]; 2380c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsMeasureMode; 2381c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsMeasureMode[2]; 2382c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDop; 2383c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsDop[2]; 2384c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsSpeedRef; 2385c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsSpeedRef[2]; 2386c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsSpeed; 2387c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsSpeed[2]; 2388c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsTrackRef; 2389c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsTrackRef[2]; 2390c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsTrack; 2391c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsTrack[2]; 2392c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsImgDirectionRef; 2393c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsImgDirectionRef[2]; 2394c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsImgDirection; 2395c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsImgDirection[2]; 2396c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsMapDatum; 2397c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pGpsMapDatumBuff; 2398c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsMapDatumBuffSizeBytes; 2399c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDestLatitudeRef; 2400c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsDestLatitudeRef[2]; 2401c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDestLatitude; 2402c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsDestLatitude[6]; 2403c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDestLongitudeRef; 2404c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsDestLongitudeRef[2]; 2405c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDestLongitude; 2406c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsDestLongitude[6]; 2407c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDestBearingRef; 2408c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsDestBearingRef[2]; 2409c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDestBearing; 2410c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsDestBearing[2]; 2411c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDestDistanceRef; 2412c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsDestDistanceRef[2]; 2413c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDestDistance; 2414c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsDestDistance[2]; 2415c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsProcessingMethod; 2416c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pGpsProcessingMethodBuff; 2417c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsProcessingMethodBuffSizeBytes; 2418c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsAreaInformation; 2419c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8* pGpsAreaInformationBuff; 2420c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 ulGpsAreaInformationBuffSizeBytes; 2421c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDateStamp; 2422c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S8 cGpsDateStamp[11]; 2423c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_EXIFTAGSTATUS eStatusGpsDifferential; 2424c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U16 usGpsDifferential; 2425c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_EXIF_TAGS; 2426c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2427c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2428e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * The OMX_TI_SENFACING_TYPE enumeration is used to define the 2429e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * sensor facing. 2430e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2431e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_TI_SENFACING_TYPE { 2432e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SENFACING_FRONT, 2433e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SENFACING_BACK, 2434e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SENFACING_MAX = 0x7FFFFFFF 2435e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen}OMX_TI_SENFACING_TYPE; 2436e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2437e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2438c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Structure used to configure current OMX_TI_SENMOUNT_TYPE 2439c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2440c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @param nSenId 2441c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @param nRotation 2442e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param bMirror 2443e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param bFlip 2444e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param eFacing 2445c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2446c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_SENMOUNT_TYPE { 2447c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSenId; 2448c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nRotation; 2449e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bMirror; 2450e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bFlip; 2451e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SENFACING_TYPE eFacing; 2452c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}OMX_TI_SENMOUNT_TYPE; 2453c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2454c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2455c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Structure used to configure current OMX_TI_VARFPSTYPE 2456c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2457c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @param nVarFPSMin Number of the smallest FPS supported. 2458c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @param nVarFPSMax Number of the biggest FPS supported. 2459c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2460c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_VARFPSTYPE { 2461c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nVarFPSMin; 2462c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nVarFPSMax; 2463c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_VARFPSTYPE; 2464c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2465c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2466c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Structure used to configure current OMX_TI_CONFIG_SHAREDBUFFER 2467c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2468c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2469c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 2470c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 2471c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 2472c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSharedBuffSize : Size of the pSharedBuff in bytes 2473c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * pSharedBuff : Pointer to a buffer 2474c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2475c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_SHAREDBUFFER { 2476c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2477c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2478c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2479c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSharedBuffSize; 2480c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U8* pSharedBuff; 2481c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_SHAREDBUFFER; 2482c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2483c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2484c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Structure used to configure current OMX_TI_CAPRESTYPE 2485c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2486c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2487c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 2488c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 2489c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 2490c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWidthMin : Number of the smallest width supported 2491c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nHeightMin : Number of the smallest height supported 2492c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nWidthMax : Number of the biggest width supported 2493c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nHeightMax : Number of the biggest height supported 2494e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nMaxResInPixels : Max resolution in pixels. Used for description of 3d resolutions. 2495c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2496c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CAPRESTYPE { 2497e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; //- OMX struct header not required as this struct wont be queried on its own? 2498c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2499c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2500c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nWidthMin; // smallest width supported 2501c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHeightMin; // smallest height supported 2502c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nWidthMax; // biggest width supported 2503c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nHeightMax; // biggest height supported 2504e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nMaxResInPixels;// max resolution in pixels 2505c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CAPRESTYPE; 2506c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2507c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2508c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Structure used to configure current OMX_TI_CAPTYPE 2509c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2510c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2511c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 2512c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 2513c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 2514c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulPreviewFormatCount : Number of the supported preview pixelformat count 2515c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ePreviewFormats : Array containing the supported preview pixelformat count 2516c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulImageFormatCount : Number of the supported image pixelformat count 2517c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eImageFormats : Array containing the supported image pixelformat count 2518c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * tPreviewResRange : Supported preview resolution range 2519e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * tRotatedPreviewResRange : Supported rotated preview resolution range 2520c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * tImageResRange : Supported image resolution range 2521c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * tThumbResRange : Supported thumbnail resolution range 2522c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulWhiteBalanceCount : Supported whitebalance mode count 2523c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eWhiteBalanceModes : Array containing the whitebalance modes 2524c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulColorEffectCount : Supported effects count 2525c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eColorEffects : Array containing the supported effects 2526c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xMaxWidthZoom : Fixed point value stored as Q16 representing the maximum value for the Zoom allowed on Width 2527c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xMaxHeightZoom : Fixed point value stored as Q16 representing the maximum value for the Zoom allowed on Height 2528c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulFlickerCount : Number of the supported anti-flicker modes 2529c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eFlicker : Array containing the supported anti-flicker modes 2530c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulExposureModeCount : Number of the supported exposure modes 2531c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eExposureModes : Array containing the supported exposure modes 2532c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bLensDistortionCorrectionSupported : Flag for Lens Distortion Correction Algorithm support 2533c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bISONoiseFilterSupported : Flag for Noise Filter Algorithm support 2534c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xEVCompensationMin : Fixed point value stored as Q16 representing the EVCompensation minumum allowed value 2535c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xEVCompensationMax : Fixed point value stored as Q16 representing the EVCompensation maximum allowed value 2536c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSensitivityMax : nSensitivityMax = 100 implies maximum supported equal to "ISO 100" 2537c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulFocusModeCount : Number of the supported focus modes 2538c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eFocusModes : Array containing the supported focus modes 2539c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulSceneCount : Number of the supported scenes 2540c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eSceneModes : Array containing the supported scenes 2541c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulFlashCount : Number of the supported flash modes 2542c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eFlashModes : Array containing the supported flash modes 2543c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xFramerateMin : Fixed point value stored as Q16 representing the minimum framerate allowed 2544c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * xFramerateMax : Fixed point value stored as Q16 representing the maximum framerate allowed 2545c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bContrastSupported : Flag showing if the contrast is supported 2546c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bSaturationSupported : Flag showing if the saturation is supported 2547c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bBrightnessSupported : Flag showing if the brightness is supported 2548c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bProcessingLevelSupported : Flag showing if the processing level is supported 2549c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bQFactorSupported : Flag showing if the QFactor is supported 2550c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulPrvVarFPSModesCount : Number of preview FPS modes 2551c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * tPrvVarFPSModes : Preview FPS modes 2552c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ulCapVarFPSModesCount : Number of capture FPS modes 2553c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * tCapVarFPSModes : Capture FPS modes 2554c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * tSenMounting : Sensor mount information 2555e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * ulAutoConvModesCount : Supported auto convergence modes count 2556e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eAutoConvModes : Array containing the auto convergence modes 2557e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * ulBracketingModesCount : Supported bracketing modes count 2558e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eBracketingModes : Array containing the bracketing modes 2559e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bGbceSupported : Flag showing if the Gbce is supported 2560e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bRawJpegSupported : Flag showing if the Raw + Jpeg is supported 2561e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * ulImageCodingFormatCount : Supported image coding formats count 2562e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eImageCodingFormat : Array containing the image coding formats 2563e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * uSenNativeResWidth : Sensor native resolution width 2564e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * uSenNativeResHeight : Sensor native resolution height 2565e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * ulAlgoAreasFocusCount : Supported number of AlgoAreas for focus areas 2566e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * ulAlgoAreasExposureCount : Supported number of AlgoAreas for exposure areas 2567e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bAELockSupported : Flag showing if the AE Lock is supported 2568e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bAWBLockSupported : Flag showing if the AWB Lock is supported 2569e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bAFLockSupported : Flag showing if the Af Lock is supported 2570e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nFocalLength : Focal length defined in terms of 0.01mm 2571e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * ulPrvFrameLayoutCount : supported frame layout count for preview 2572e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * ePrvFrameLayout : Array containing the frame layouts for preview 2573e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * ulCapFrameLayoutCount : supported frame layout count for capture 2574e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eCapFrameLayout : Array containing the frame layouts for capture 2575e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bVideoNoiseFilterSupported : Flag showing if the video noise filter is supported 2576e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bVideoStabilizationSupported : Flag showing if the video stabilization is supported 2577e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bStillCapDuringVideoSupported : Flag showing if the still capture is supported during video 2578e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bMechanicalMisalignmentSupported : Flag showing if the mechanical misalignment is supported 2579e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bFacePrioritySupported : Flag showing if the face priority is supported 2580e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bRegionPrioritySupported : Flag showing if the region priority is supported 2581e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bGlbceSupported : Flag showing if the GLBCE is supported 2582e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nManualConvMin : Manual convergence min value 2583e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nManualConvMax : Manual convergence max value 2584e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nManualExpMin : Manual exposure time min value 2585e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nManualExpMax : Manual exposure time max value 2586e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nBrightnessMin : Brightness min value 2587e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nBrightnessMax : Brightness max value 2588e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nContrastMin : Contrast min value 2589e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nContrastMax : Contrast max value 2590e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSharpnessMin : Sharpness min value 2591e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSharpnessMax : Sharpness max value 2592e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSaturationMin : Saturation min value 2593e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSaturationMax : Saturation max value 2594c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2595c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CAPTYPE { 2596e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 2597e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 2598e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 2599e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulPreviewFormatCount; // supported preview pixelformat count 2600e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_COLOR_FORMATTYPE ePreviewFormats[32]; 2601e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulImageFormatCount; // supported image pixelformat count 2602e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_COLOR_FORMATTYPE eImageFormats[32]; 2603e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CAPRESTYPE tPreviewResRange; // supported preview resolution range 2604e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CAPRESTYPE tRotatedPreviewResRange; // supported rotated preview resolution range 2605e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CAPRESTYPE tImageResRange; // supported image resolution range 2606e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CAPRESTYPE tThumbResRange; // supported thumbnail resolution range 2607e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulWhiteBalanceCount; // supported whitebalance mode count 2608e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_WHITEBALCONTROLTYPE eWhiteBalanceModes[32]; 2609e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulColorEffectCount; // supported effects count 2610e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IMAGEFILTERTYPE eColorEffects[32]; 2611e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 xMaxWidthZoom; // Fixed point value stored as Q16 2612e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 xMaxHeightZoom; // Fixed point value stored as Q16 2613e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulFlickerCount; // supported anti-flicker mode count 2614e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_COMMONFLICKERCANCELTYPE eFlicker[32]; 2615e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulExposureModeCount; // supported exposure mode count 2616e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_EXPOSURECONTROLTYPE eExposureModes[32]; 2617e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bLensDistortionCorrectionSupported; 2618e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bISONoiseFilterSupported; 2619e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 xEVCompensationMin; // Fixed point value stored as Q16 2620e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 xEVCompensationMax; // Fixed point value stored as Q16 2621e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSensitivityMax; // nSensitivityMax = 100 implies maximum supported equal to "ISO 100" 2622e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulFocusModeCount; // supported focus mode count 2623e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IMAGE_FOCUSCONTROLTYPE eFocusModes[32]; 2624e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulSceneCount; // supported scene count 2625e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_SCENEMODETYPE eSceneModes[64]; 2626e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulFlashCount; // supported flash modes count 2627e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IMAGE_FLASHCONTROLTYPE eFlashModes[32]; 2628e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 xFramerateMin; // Fixed point value stored as Q16 2629e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 xFramerateMax; // Fixed point value stored as Q16 2630e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bContrastSupported; 2631e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bSaturationSupported; 2632e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bBrightnessSupported; 2633e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bProcessingLevelSupported; 2634e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bQFactorSupported; 2635e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulPrvVarFPSModesCount; // supported variable FPS preview modes count 2636e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VARFPSTYPE tPrvVarFPSModes[10]; 2637e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulCapVarFPSModesCount; // supported variable FPS capture modes count 2638e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VARFPSTYPE tCapVarFPSModes[10]; 2639e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SENMOUNT_TYPE tSenMounting; 2640e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulAutoConvModesCount; // supported auto convergence modes count 2641e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_AUTOCONVERGENCEMODETYPE eAutoConvModes[32]; 2642e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulBracketingModesCount; // supported bracketing modes count 2643e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BRACKETMODETYPE eBracketingModes[32]; 2644e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bGbceSupported; // Flag showing if the Gbce is supported 2645e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bRawJpegSupported; // Flag showing if the Raw + Jpeg issupported 2646e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulImageCodingFormatCount; 2647e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_IMAGE_CODINGTYPE eImageCodingFormat[32]; 2648e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 uSenNativeResWidth; 2649e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 uSenNativeResHeight; 2650e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulAlgoAreasFocusCount; 2651e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulAlgoAreasExposureCount; 2652e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bAELockSupported; 2653e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bAWBLockSupported; 2654e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bAFLockSupported; 2655e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nFocalLength; 2656e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulPrvFrameLayoutCount; // supported frame layout count 2657e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_STEREOFRAMELAYOUTTYPE ePrvFrameLayout[16]; 2658e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulCapFrameLayoutCount; // supported frame layout count 2659e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_STEREOFRAMELAYOUTTYPE eCapFrameLayout[16]; 2660e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bVideoNoiseFilterSupported; 2661e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bVideoStabilizationSupported; 2662e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bStillCapDuringVideoSupported; 2663e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bMechanicalMisalignmentSupported; 2664e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bFacePrioritySupported; 2665e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bRegionPrioritySupported; 2666e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bGlbceSupported; 2667e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nManualConvMin; 2668e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nManualConvMax; 2669e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nManualExpMin; 2670e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nManualExpMax; 2671e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nBrightnessMin; 2672e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nBrightnessMax; 2673e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nContrastMin; 2674e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nContrastMax; 2675e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nSharpnessMin; 2676e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nSharpnessMax; 2677e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nSaturationMin; 2678e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nSaturationMax; 2679c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CAPTYPE; 2680c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2681bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov 2682bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov 2683c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2684c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Defines 3A Face priority mode. 2685c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2686c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2687c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 2688c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 2689c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 2690c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bAwbFaceEnable : Enable Face priority for Auto White Balance 2691c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bAeFaceEnable : Enable Face priority for Auto Exposure 2692c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bAfFaceEnable : Enable Face priority for Auto Focus 2693c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2694c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_3A_FACE_PRIORITY { 2695c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2696c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2697c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2698c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bAwbFaceEnable; 2699c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bAeFaceEnable; 2700c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bAfFaceEnable; 2701c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_3A_FACE_PRIORITY; 2702c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2703c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2704c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Defines 3A Region priority mode. 2705c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2706c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2707c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 2708c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 2709c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 2710c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bAwbFaceEnable : Enable Region priority for Auto White Balance 2711c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bAeFaceEnable : Enable Region priority for Auto Exposure 2712c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * bAfFaceEnable : Enable Region priority for Auto Focus 2713c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2714c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_3A_REGION_PRIORITY { 2715c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2716c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2717c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2718c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bAwbRegionEnable; 2719c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bAeRegionEnable; 2720c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bAfRegionEnable; 2721c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_3A_REGION_PRIORITY; 2722c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2723c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 2724c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* STRUCT MEMBERS: 2725c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* nSize : Size of the structure in bytes 2726c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* nVersion : OMX specification version information 2727c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* nPortIndex : Port that this structure applies to 2728c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* bAutoConvergence : Enable/Disable Auto Convergence 2729c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 2730c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_PARAM_AUTOCONVERGENCETYPE { 2731c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2732c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2733c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2734c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bAutoConvergence; 2735c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_PARAM_AUTOCONVERGENCETYPE; 2736c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2737c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2738c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Focus distance configuration 2739c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2740c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2741c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize: Size of the structure in bytes 2742c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion: OMX specification version information 2743c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex: Port that this structure applies to 2744c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nFocusDistanceNear : Specifies the near focus distance in mm ( 0 equals infinity ) 2745c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nFocusDistanceOptimal : Specifies the optimal focus distance in mm ( 0 equals infinity ) 2746c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nFocusDistanceFar : Specifies the far focus distance in mm ( 0 equals infinity ) 2747c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nLensPosition : Specifies the current lens position in driver units 2748c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2749c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_FOCUSDISTANCETYPE { 2750c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2751c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2752c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2753c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFocusDistanceNear; 2754c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFocusDistanceOptimal; 2755c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nFocusDistanceFar; 2756c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_S32 nLensPosition; 2757c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_FOCUSDISTANCETYPE; 2758c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2759c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2760c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * The OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE enumeration is used to define the 2761c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * brightness and contrast mode types. 2762c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2763c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef enum OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE { 2764c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_BceModeOff = 0, 2765c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_BceModeOn, 2766c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_BceModeAuto, 2767c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_BceModeMax = 0x7FFFFFFF 2768c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE; 2769c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2770c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2771c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Local and global brightness contrast type. 2772c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2773c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * STRUCT MEMBERS: 2774c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nSize : Size of the structure in bytes 2775c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nVersion : OMX specification version information 2776c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * nPortIndex : Port that this structure applies to 2777c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * eControl : Control field for GLBCE 2778c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2779c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_LOCAL_AND_GLOBAL_BRIGHTNESSCONTRASTTYPE { 2780c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2781c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2782c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 2783c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE eControl; 2784c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_LOCAL_AND_GLOBAL_BRIGHTNESSCONTRASTTYPE; 2785c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2786c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2787c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Uncompressed image operating mode configuration structure. 2788c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 2789c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @param nSize Size of the structure in bytes. 2790c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @param nVersion OMX specification version information. 2791c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @param xMin The minimum frame rate allowed. 2792c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Units are Q16 frames per second. 2793c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @param xMax The maximum frame rate allowed. 2794c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Units are Q16 frames per second. 2795c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 2796c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2797c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_CONFIG_VARFRMRANGETYPE { 2798c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 2799c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 2800c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 xMin; 2801c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 xMax; 2802c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_CONFIG_VARFRMRANGETYPE; 2803c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 2804c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 2805e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Single preview capture modes 2806e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2807e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef enum OMX_TI_SINGLEPREVIEWMODETYPE { 2808e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SinglePreviewMode_PreviewOnly, 2809e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SinglePreviewMode_Video, 2810e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SinglePreviewMode_ImageCapture, 2811e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SinglePreviewMode_ImageCaptureHighSpeed, 2812e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SinglePreviewMode_Reprocess, 2813e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SinglePreviewMode = 0x7FFFFFFF 2814e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_SINGLEPREVIEWMODETYPE; 2815e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2816e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2817e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Define configuration structure for 2818e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * single preview capture mode 2819e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2820e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * STRUCT MEMBERS: 2821e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 2822e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 2823e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eMode : Select the subusecase mode (Video/HQ/HS) 2824e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2825e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_CONFIG_SINGLEPREVIEWMODETYPE { 2826e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 2827e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 2828e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_SINGLEPREVIEWMODETYPE eMode; 2829e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_CONFIG_SINGLEPREVIEWMODETYPE; 2830e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2831e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2832e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2833e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Configuratin structure for freeze AWB parameter modifications. 2834e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2835e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nSize Size of the structure in bytes. 2836e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nVersion OMX specification version information. 2837e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nPortIndex Port index to which to apply. 2838e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nTimeDelay Time for which the AWB parameters to be frozen. 2839e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * measured in milliseconds 2840e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2841e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_CONFIG_FREEZE_AWB { 2842e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 2843e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 2844e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 2845e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nTimeDelay; 2846e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_CONFIG_FREEZE_AWB; 2847e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2848e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2849e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Configuration structure used to set 2850e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * minimum time between two sequential WB coefficients modifications. 2851e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2852e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nSize Size of the structure in bytes. 2853e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nVersion OMX specification version information. 2854e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nPortIndex Port index to which to apply. 2855e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nDelayTime The time in milliseconds. 2856e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2857e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_CONFIG_AWB_DELAY { 2858e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 2859e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 2860e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 2861e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nDelayTime; 2862e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_CONFIG_AWB_DELAY; 2863e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2864e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2865e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Configuration structure used to set 2866e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * minimum time delay between 2867e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * two sequential AE parameters modifications 2868e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2869e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nSize Size of the structure in bytes. 2870e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nVersion OMX specification version information. 2871e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nPortIndex Port index to which to apply. 2872e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nDelayTime The time in milliseconds. 2873e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2874e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_CONFIG_AE_DELAY { 2875e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 2876e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 2877e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 2878e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nDelayTime; 2879e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_CONFIG_AE_DELAY; 2880e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2881e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2882e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2883e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Configuration structure used to freeze AE modifications 2884e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * for a nTimeDelay milliseconds 2885e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2886e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nSize Size of the structure in bytes. 2887e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nVersion OMX specification version information. 2888e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nPortIndex Port index to which to apply. 2889e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nTimeDelay The time in milliseconds. 2890e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2891e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_CONFIG_FREEZE_AE { 2892e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 2893e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 2894e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 2895e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nTimeDelay; 2896e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_CONFIG_FREEZE_AE; 2897e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2898e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2899e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Configuration structure used to set 2900e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the AE gain threshold 2901e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2902e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nSize Size of the structure in bytes. 2903e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nVersion OMX specification version information. 2904e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param uMinTH Minimum value for AE gain. 2905e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param uMaxTH Maximum value for AE gain. 2906e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2907e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_CONFIG_AE_THRESHOLD { 2908e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 2909e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 2910e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 2911e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 uMinTH; 2912e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 uMaxTH; 2913e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_CONFIG_AE_THRESHOLD; 2914e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2915e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2916e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Enumeration describing the main gestures 2917e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2918e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef enum OMX_TI_GESTURES_TYPE { 2919e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_GESTURE_NO_GESTURE = 0x70000001, 2920e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_GESTURE_SWIPE_RIGHT, 2921e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_GESTURE_SWIPE_LEFT, 2922e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_GESTURE_FIST_RIGHT, 2923e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_GESTURE_FIST_LEFT, 2924e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2925e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_GESTURE_COUNT, 2926e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_GESTURE_MAX = 0x7FFFFFFF 2927e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_GESTURES_TYPE; 2928e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2929e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2930e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Enumeration describing the main gesture objects 2931e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2932e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef enum OMX_TI_OBJECT_TYPE { 2933e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_OBJECT_PALM, 2934e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_OBJECT_FIST, 2935e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_OBJECT_FACE, 2936e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2937e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_OBJECT_MAX = 0x7FFFFFFF 2938e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_OBJECT_TYPE; 2939e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2940e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2941e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Data structure carrying information about 2942e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * objects located at a certain area of frame buffer. 2943e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2944e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nSize Size of the structure in bytes. 2945e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nVersion OMX specification version information. 2946e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nPortIndex Port index to which to apply. 2947e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param eType The object type. 2948e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nTop The top coordinate. 2949e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nLeft The left coordinate. 2950e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nWidth The width of the object. 2951e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nHeight The height of the object. 2952e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2953e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_CONFIG_OBJECT_RECT_TYPE { 2954e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 2955e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 2956e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 2957e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_OBJECT_TYPE eType; 2958e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nTop; 2959e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nLeft; 2960e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nWidth; 2961e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHeight; 2962e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_CONFIG_OBJECT_RECT_TYPE; 2963e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2964e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2965e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Data structure carrying information about 2966e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * gestures detected at a certain frame. 2967e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 2968e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nSize Size of the structure in bytes. 2969e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nVersion OMX specification version information. 2970e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nPortIndex Port index to which to apply. 2971e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nTimeStamp Frame id. 2972e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param eType Type of the gesture detected at that frame. 2973e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nNumDetectedGestures Number ot the areas of the frame in which this gesture is detected. 2974e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * @param nGestureAreas The areas where this gesture is detected. 2975e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 2976e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_CONFIG_GESTURES_INFO { 2977e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 2978e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 2979e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 2980e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TICKS nTimeStamp; 2981e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_GESTURES_TYPE eType; 2982e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nNumDetectedGestures; 2983e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_CONFIG_OBJECT_RECT_TYPE nGestureAreas[35]; 2984e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_CONFIG_GESTURES_INFO; 2985e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 2986e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 2987e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Define the frames queue len for ZSL 2988e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 2989e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* STRUCT MEMBERS: 2990e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSize: Size of the structure in bytes 2991e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nVersion: OMX specification version information 2992e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nHistoryLen: History len in number of frames 2993e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 2994e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_PARAM_ZSLHISTORYLENTYPE { 2995e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 2996e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 2997e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHistoryLen; 2998e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_PARAM_ZSLHISTORYLENTYPE; 2999e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3000e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3001e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Define the frame delay in ms for ZSL 3002e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3003e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* STRUCT MEMBERS: 3004e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSize: Size of the structure in bytes 3005e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nVersion: OMX specification version information 3006e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nDelay: Capture frame delay in ms 3007e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 3008e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_CONFIG_ZSLDELAYTYPE { 3009e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3010e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3011e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nDelay; 3012e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_CONFIG_ZSLDELAYTYPE; 3013e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3014e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3015e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* AlogAreas purpose 3016e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* This type specifies the purpose of areas specified in OMX_ALGOAREASTYPE. 3017e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* */ 3018e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef enum OMX_ALGOAREAPURPOSE{ 3019e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_AlgoAreaFocus = 0, // Multi region focus 3020e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_AlgoAreaExposure, 3021e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_ALGOAREAPURPOSE; 3022e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3023e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_ALGOAREA { 3024e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nLeft; /**< The leftmost coordinate of the area rectangle */ 3025e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nTop; /**< The topmost coordinate of the area rectangle */ 3026e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nWidth; /**< The width of the area rectangle in pixels */ 3027e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHeight; /**< The height of the area rectangle in pixels */ 3028e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPriority; /**< Priority - ranges from 1 to 1000 */ 3029e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen }OMX_ALGOAREA; 3030e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3031e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3032e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Algorythm areas type 3033e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* This type defines areas for Multi Region Focus, 3034e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* or another algorithm region parameters, 3035e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* such as Multi Region Auto Exposure. 3036e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3037e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* STRUCT MEMBERS: 3038e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSize : Size of the structure in bytes 3039e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nVersion : OMX specification version information 3040e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nPortIndex : Port index 3041e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* tAreaPosition : Area definition - coordinates and purpose - Multi Region Focus, Auto Exposure, etc. 3042e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nNumAreas : Number of areas defined in the array 3043e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nAlgoAreaPurpose : Algo area purpose - eg. Multi Region Focus is OMX_AlgoAreaFocus 3044e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 3045e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_ALGOAREASTYPE { 3046e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3047e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3048e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3049e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3050e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nNumAreas; 3051e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_ALGOAREA tAlgoAreas[MAX_ALGOAREAS]; 3052e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_ALGOAREAPURPOSE nAlgoAreaPurpose; 3053e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_ALGOAREASTYPE; 3054e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3055e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/*==========================================================================*/ 3056e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/*! 3057e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@brief OMX_TI_PARAM_ENHANCEDPORTRECONFIG : Suport added to new port reconfig usage 3058e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param bUsePortReconfigForCrop Enables port reconfig for crop. 3059e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen@param bUsePortReconfigForPadding Enables port reconfig for padding 3060e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 3061e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/*==========================================================================*/ 3062e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3063e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_PARAM_ENHANCEDPORTRECONFIG { 3064e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3065e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3066e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3067e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bUsePortReconfigForCrop; 3068e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bUsePortReconfigForPadding; 3069e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_PARAM_ENHANCEDPORTRECONFIG; 3070e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3071e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3072e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct { 3073e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nVPos; //!< AEWINSTART WINSV //AFPAXSTART PAXSV 3074e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nVSize; //!< AEWWIN1 WINW //AFPAX1 PAXH 3075e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nHPos; //!< AEWINSTART WINSH //AFPAXSTART PAXSH 3076e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nHSize; //!< AEWWIN1 WINH //AFPAX1 PAXW 3077e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nVCount; //!< AEWWIN1 WINVC //AFPAX2 PAXVC 3078e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nVIncr; //!< AEWSUBWIN AEWINCV //AFPAX2 AFINCV 3079e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nHCount; //!< AEWWIN1 WINHC //AFPAX2 PAXHC 3080e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nHIncr; //!< AEWSUBWIN AEWINCH //AFPAX2 AFINCH 3081e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen}OMX_TI_H3aPAXELCFG; 3082e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3083e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct { 3084e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /** Average value for red pixels in current paxel */ 3085e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 red; 3086e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /** Average value for green pixels in current paxel */ 3087e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 green; 3088e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /** Average value for blue pixels in current paxel */ 3089e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 blue; 3090e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /** Flag indicating whether current paxel is valid 0:invalid, !0:valid */ 3091e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 valid; 3092e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_H3AAEWBPAXELDATA; 3093e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3094e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_H3AAFDATA { 3095e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; /**< The size of the structure 3096e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen including the length of data field containing the histogram data */ 3097e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3098e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3099e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CAMERAVIEWTYPE eCameraView; 3100e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 *data; 3101e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_H3AAFDATA; 3102e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3103e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3104e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Data structure carrying information about 3105e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* VTC slice height. 3106e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3107e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* @param nSize Size of the structure in bytes. 3108e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* @param nVersion OMX specification version information. 3109e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* @param nSliceHeight Definition of slice height. 3110e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3111e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3112e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3113e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3114e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 3115e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_PARAM_VTCSLICE { 3116e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3117e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3118e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSliceHeight; 3119e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nInternalBuffers; 3120e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_PTR IonBufhdl[2]; 3121e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_PARAM_VTCSLICE; 3122e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3123e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3124e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3125e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize is the size of the structure including the length of data field containing 3126e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * the histogram data. 3127e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nBins is the number of bins in the histogram. 3128e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eComponentType specifies the type of the histogram bins according to enum. 3129e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * It can be selected to generate multiple component types, then the extradata struct 3130e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * is repeated for each component type. 3131e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3132e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_HISTOGRAMTYPE { 3133e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; /**< The size of the structure 3134e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen including the length of data field containing the histogram data */ 3135e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3136e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3137e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CAMERAVIEWTYPE eCameraView; 3138e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nBins; /**< The number of bins in the histogram */ 3139e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_HISTCOMPONENTTYPE eComponentType; /**< Specifies the type of the histogram bins according to enum. 3140e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen It can be selected to generate multiple component types, 3141e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen then the extradata struct is repeated for each component type */ 3142e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 *data; 3143e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_HISTOGRAMTYPE; 3144e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3145e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3146e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3147e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_CPCAMDATA { 3148e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3149e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3150e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3151e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CAMERAVIEWTYPE eCameraView; 3152e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3153e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Face Detect */ 3154e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 ulFaceCount; // faces detected 3155e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_FACERESULT tFacePosition[35]; // 35 is max faces supported by FDIF 3156e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3157e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3158e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /**** Ancillary Data ******/ 3159e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nFrameNumber; 3160e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nInputImageHeight; 3161e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nInputImageWidth; 3162e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nOutputImageHeight; 3163e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nOutputImageWidth; 3164e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nDigitalZoomFactor; 3165e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nCropCenterColumn; 3166e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nCropCenterRow; 3167e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nOpticalZoomValue; 3168e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nAFStatus; 3169e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nAWBStatus; 3170e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nAEStatus; 3171e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nExposureTime; 3172e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nEVCompensation; 3173e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nDigitalGainValue; 3174e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nAnalogGainValue; 3175e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nCurrentISO; 3176e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nReferenceISO; 3177e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nApertureValue; 3178e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nPixelRange; 3179e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nCameraShake; 3180e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nNumFacesDetected; 3181e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3182e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Not Yet Supported */ 3183e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nFocalDistance; 3184e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nShotNumber; 3185e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nFlashStatus; 3186e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3187e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3188e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /*** White Balance gains ****/ 3189e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /**< White Balance Color Temperature in Kelvins */ 3190e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nColorTemperature; 3191e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3192e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /**< Bayer applied R color channel gain in (U13Q9) */ 3193e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nGainR; 3194e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3195e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /**< Bayer applied Gr color channel gain in (U13Q9) */ 3196e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nGainGR; 3197e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3198e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /**< Bayer applied Gb color channel gain in (U13Q9) */ 3199e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nGainGB; 3200e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3201e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /**< Bayer applied B color channel gain in (U13Q9) */ 3202e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U16 nGainB; 3203e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3204e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* BELOW ARE NOT SUPPORTED , Default set to 0 */ 3205e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nOffsetR; /**< Bayer applied R color channel offset */ 3206e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nOffsetGR; /**< Bayer applied Gr color channel offset */ 3207e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nOffsetGB; /**< Bayer applied Gb color channel offset */ 3208e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S16 nOffsetB; /**< Bayer applied B color channel offset */ 3209e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3210e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3211e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* AEWB,AF,HIST data size */ 3212e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nAewbDataSize; 3213e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nAfDataSize; 3214e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHistSize; 3215e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3216e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3217e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3218e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /*** H3A AF-AEW DATA ***/ 3219e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_H3aPAXELCFG tAfPaxelWin; 3220e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_H3aPAXELCFG tAewbPaxelWin; 3221e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_H3AAEWBPAXELDATA *tpPaxel; 3222e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_H3AAFDATA tH3A_Af; 3223e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen /* Histogram */ 3224e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_HISTOGRAMTYPE Histogram; 3225e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3226e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3227e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_CPCAMDATA; 3228e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3229e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3230e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Start/Stop mechanical misalignment 3231e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3232e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* STRUCT MEMBERS: 3233e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSize: Size of the structure in bytes 3234e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nVersion: OMX specification version information 3235e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nDelay: Capture frame delay in ms 3236e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 3237e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_CONFIG_MM { 3238e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3239e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3240e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bMM; 3241e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_CONFIG_MM; 3242e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3243e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3244e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Start/Stop Affine transformation for Mm/Ac 3245e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3246e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* STRUCT MEMBERS: 3247e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSize: Size of the structure in bytes 3248e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nVersion: OMX specification version information 3249e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* bAffine: Enable / Disable 3250e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 3251e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen typedef struct OMX_TI_PARAM_AFFINE { 3252e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3253e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3254e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bAffine; 3255e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen } OMX_TI_PARAM_AFFINE; 3256e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3257e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3258c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* A pointer to this struct is passed to the OMX_SetParameter when the extension 3259c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* index for the 'OMX.google.android.index.enableAndroidNativeBuffers' extension 3260c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* is given. 3261c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* The corresponding extension Index is OMX_TI_IndexUseNativeBuffers. 3262c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* This will be used to inform OMX about the presence of gralloc pointers instead 3263c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* of virtual pointers 3264c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 3265c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct OMX_TI_PARAMUSENATIVEBUFFER { 3266c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nSize; 3267c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 3268c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_U32 nPortIndex; 3269c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL bEnable; 3270c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} OMX_TI_PARAMUSENATIVEBUFFER; 3271c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 32729e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda/** 32739e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda* A pointer to this struct is passed to OMX_GetParameter when the extension 32749e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda* index for the 'OMX.google.android.index.getAndroidNativeBufferUsage' 32759e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda* extension is given. 32769e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda* The corresponding extension Index is OMX_TI_IndexAndroidNativeBufferUsage. 32779e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda* The usage bits returned from this query will be used to allocate the Gralloc 32789e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda* buffers that get passed to the useAndroidNativeBuffer command. 32799e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda*/ 32809e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowdatypedef struct OMX_TI_PARAMNATIVEBUFFERUSAGE { 32819e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda OMX_U32 nSize; 32829e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda OMX_VERSIONTYPE nVersion; 32839e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda OMX_U32 nPortIndex; 32849e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda OMX_U32 nUsage; 32859e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda} OMX_TI_PARAMNATIVEBUFFERUSAGE; 32869e964f98a366c756b96a97809b31579fdcc43e97Lakshman Gowda 3287e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3288e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * OMX_TI_ZSL_PRIORITY_TYPE Enumerated Value 3289e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3290e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_TI_ZSL_PRIORITY_TYPE { 3291e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ZSL_PRIORITY_TIME, 3292e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ZSL_PRIORITY_FOCUS, 3293e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ZSL_PRIORITY = 0x7FFFFFFF 3294e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_ZSL_PRIORITY_TYPE; 3295c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 3296c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 3297e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Define the priority tha twill be used to select ZSL frame 3298c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 3299c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* STRUCT MEMBERS: 3300c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* nSize: Size of the structure in bytes 3301c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* nVersion: OMX specification version information 3302e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* ePriority: Priority 3303c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 3304e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_CONFIG_ZSLFRAMESELECTPRIOTYPE { 3305e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3306e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3307e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_ZSL_PRIORITY_TYPE ePriority; 3308e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_CONFIG_ZSLFRAMESELECTPRIOTYPE; 3309e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3310e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3311e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* MIPI, ECC, and CRC counters 3312e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Mipi counter counts the frames from the MIPI receiver (CSI_RX). 3313e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* TCMD application will use this test 3314e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* to validate the MIPI channel integrity (TX to RX). 3315e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3316e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* STRUCT MEMBERS: 3317e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSize : Size of the structure in bytes 3318e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nVersion : OMX specification version information 3319e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nPortIndex : Port that this structure applies to 3320e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* bResetMIPICounter : if OMX_SetConfig() is called with value True 3321e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* for this parameter, the MIPICounter shall be reset to 0, by ducati. 3322e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nMIPICounter : MIPI frame counter 3323e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nECCCounter : ECC counter 3324e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nCRCCounter : CRC counter 3325e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 3326e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_CONFIG_MIPICOUNTERS { 3327e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3328e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3329e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3330e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bResetMIPICounter; 3331e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nMIPICounter; 3332e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nECCCounter; 3333e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nCRCCounter; 3334e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nFifoOvfCounter; 3335e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nOCPCounter; 3336e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nEccCorrCounter; 3337e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 SoTErrCnt; 3338e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 SoTSyncErrCnt; 3339e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ULPMCnt; 3340e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ULPMExitCnt; 3341e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ULPMEnterCnt; 3342e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ControlErrCnt; 3343e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 ErrEscapeCnt; 3344e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 CSIRxTimeoutCnt; 3345e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 bStopStartCntrs; 3346e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_CONFIG_MIPICOUNTERS; 3347e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3348e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3349e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* CSI Timing Register 3350e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3351e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* STRUCT MEMBERS: 3352e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSize : Size of the structure in bytes 3353e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nVersion : OMX specification version information 3354e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nPortIndex : Port that this structure applies to 3355e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nReadWrite : if OMX_SetConfig() is called with value True 3356e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* for this parameter, the ISS_CAMERARX_CORE1_REG0 register will be 3357e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* written with the supplied values below. 3358e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nThsSettle : 3359e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nThsTerm : 3360e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nHsClkCfg : 3361e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 3362e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_CONFIG_CSITIMINGRW { 3363e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3364c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 3365e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3366e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nReadWrite; 3367e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nThsSettle; 3368e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nThsTerm; 3369e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 nHsClkCfg; 3370e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_CONFIG_CSITIMINGRW; 3371c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 3372c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 3373e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* CSI Complex IO Data 3374c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 3375c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* STRUCT MEMBERS: 3376e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSize : Size of the structure in bytes 3377e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nVersion : OMX specification version information 3378e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nPortIndex : Port that this structure applies to 3379e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nFrameCount : Recieved Frames on the CSI2Rx 3380e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nLaneCount : Number of active lanes 3381e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nCSISpeed : CSI2Rx speed 3382c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 3383e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_CONFIG_CSICMPXIO { 3384e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3385c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_VERSIONTYPE nVersion; 3386e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3387e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nFrameCount; 3388e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nLaneCount; 3389e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nCSISpeed; 3390e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_CONFIG_CSICMPXIO; 3391c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 3392bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov/** 3393e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Auto Focus Score 3394e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 3395e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * STRUCT MEMBERS: 3396e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 3397e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 3398e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPortIndex : Port that this structure applies to 3399e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nAutoFocusScore : Auto Focus Score 3400e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3401e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_CONFIG_AUTOFOCUSSCORE { 3402e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3403e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3404e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3405e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nAutoFocusScore; 3406e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_CONFIG_AUTOFOCUSSCORE; 3407e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3408e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3409e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Color Bar test pattern 3410e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 3411e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * STRUCT MEMBERS: 3412e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 3413e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 3414e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPortIndex : Port that this structure applies to 3415e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bEnableColorBars : Enable Color Bars test pattern 3416e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3417e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_CONFIG_COLORBARS { 3418e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3419e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3420e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3421e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 bEnableColorBars; 3422e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_CONFIG_COLORBARS; 3423e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3424e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3425e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* Sensor OTP EEEPROM data 3426e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3427e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* STRUCT MEMBERS: 3428e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSize : Size of the structure in bytes 3429e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nVersion : OMX specification version information 3430e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nPortIndex : Port that this structure applies to 3431e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* pData : pointer to the client's buffer 3432e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nDataSize : size of the EEPROM data in bytes 3433e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nClientDataSize : size of the client's buffer 3434e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* SensorIndex : index of the eeprom buffer 3435e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 3436e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_CONFIG_OTPEEPROM { 3437e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3438e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3439e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3440e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_PTR pData; 3441e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nDataSize; 3442e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nClientDataSize; 3443e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U8 SensorIndex; 3444e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen}OMX_CONFIG_OTPEEPROM; 3445bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov 3446e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3447e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * The OMX_ISP_TYPE enumeration is used to define the 3448e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * TI ISP & ST ISP types. 3449e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3450e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_ISP_TYPE { 3451e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TIISP = 0, 3452e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_STISP= 1, 3453e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_ISPUnknown 3454e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_ISP_TYPE; 3455bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov 3456bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov/** 3457e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* ISP Information 3458e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* 3459e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* STRUCT MEMBERS: 3460e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSize : Size of the structure in bytes 3461e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nVersion : OMX specification version information 3462e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nPortIndex : Port that this structure applies to 3463e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* eIspType : ISP Type (TI ISP/ ST ISP) 3464e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nHardwareVersion : Hardware version of ISP 3465e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen* nSoftwareVersion : Software version of ISP 3466e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen*/ 3467e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_CONFIG_ISPINFO { 3468e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3469e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3470e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3471e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_ISP_TYPE eIspType; 3472e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nHardwareVersion; 3473e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSoftwareVersion; 3474e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S8 cDucatiVersion[32]; 3475e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen}OMX_CONFIG_ISPINFO; 3476e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3477e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_TI_PORTTAPPOINTTYPE { 3478e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_PortTap_Bayer_SensorOutput, 3479e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_PortTap_Bayer_PostLsc, 3480e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_PortTap_Bayer_PreBayerToYUVConversion, 3481e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_PortTap_YUV_PostBayerToYUVConversion, 3482e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_PortTap_YUV_PreJPEGCompression, 3483e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_PortTap = 0x7FFFFFFF 3484e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_PORTTAPPOINTTYPE; 3485e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3486e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3487e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Define configuration structure for 3488e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * tap in/out points for the selected port 3489bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov * 3490bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov * STRUCT MEMBERS: 3491e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 3492e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 3493e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPortIndex : Port that this structure applies to 3494e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eTapPoint : Select the tap in/out point for the port 3495e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3496e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_CONFIG_PORTTAPPOINTTYPE { 3497e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3498e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3499e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3500e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_PORTTAPPOINTTYPE eTapPoint; 3501e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_CONFIG_PORTTAPPOINTTYPE; 3502e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3503e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3504e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Available methods to apply vect shot exposure and gain 3505e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3506e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_TI_EXPGAINAPPLYMETHODTYPE { 3507e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_EXPGAINAPPLYMETHOD_ABSOLUTE, 3508e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_EXPGAINAPPLYMETHOD_RELATIVE, 3509e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_EXPGAINAPPLYMETHOD_FORCE_RELATIVE, 3510e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_EXPGAINAPPLYMETHOD_FORCE_ABSOLUTE, 3511e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_EXPGAINAPPLYMETHOD = 0x7FFFFFFF 3512e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_EXPGAINAPPLYMETHODTYPE; 3513e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3514e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3515e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Define configuration structure for 3516e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * shot configuration for the selected port 3517e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 3518e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * STRUCT MEMBERS: 3519e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 3520e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 3521e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPortIndex : Port that this structure applies to 3522e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nConfigId : A unique config identification number that will be 3523e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * put in ancillary data for the corresponding output frame 3524e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nFrames : Number of sequential frames that will use this 3525e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * configuration 3526e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nEC : Total exposure compensation value 3527e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nExp : Exposure value for this configuration slot 3528e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nGain : Gain value for this configuration slot 3529e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eExpGainApplyMethod : Selects the method which will be used to apply exposure and gain 3530e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bNoSnapshot : Determinates whether a snapshot image will be send 3531e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * on the preview port for this shot config 3532e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3533e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_CONFIG_SHOTCONFIG { 3534e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nConfigId; 3535e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nFrames; 3536e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nEC; 3537e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nExp; 3538e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_S32 nGain; 3539e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_EXPGAINAPPLYMETHODTYPE eExpGainApplyMethod; 3540e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bNoSnapshot; 3541e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_CONFIG_SHOTCONFIG; 3542e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3543e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3544e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Define configuration structure for 3545e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * shot configuration vector for the selected port 3546e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 3547e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * STRUCT MEMBERS: 3548e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 3549e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 3550e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPortIndex : Port that this structure applies to 3551e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * bFlushQueue : If TRUE: Flush queue and abort processing before enqueing 3552e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * new shot configurations 3553e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nNumConfigs : Number of valid configurations in the nShotConfig array 3554e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nShotConfig : Array of shot configurations 3555e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSlotsAvilable : Return value with number of available slots in the queue 3556e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3557e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_CONFIG_ENQUEUESHOTCONFIGS { 3558e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3559e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3560e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3561e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_BOOL bFlushQueue; 3562e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nNumConfigs; 3563e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_CONFIG_SHOTCONFIG nShotConfig[5]; 3564e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_CONFIG_ENQUEUESHOTCONFIGS; 3565e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen 3566e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3567e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Define configuration structure to 3568e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * query available/free shots in shot queue. 3569e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Will be supported only as GetConfig function. 3570e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 3571e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * STRUCT MEMBERS: 3572e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 3573e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 3574e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPortIndex : Port that this structure applies to 3575e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nAvailableShots : Number of available shots 3576e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3577e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_CONFIG_QUERYAVAILABLESHOTS { 3578e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3579bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov OMX_VERSIONTYPE nVersion; 3580e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3581e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nAvailableShots; 3582e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_CONFIG_QUERYAVAILABLESHOTS; 3583bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov 3584e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3585e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Available vector shot capture stop methods 3586e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3587e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef enum OMX_TI_VECTSHOTSTOPMETHOD { 3588e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VECTSHOTSTOPMETHOD_GOTO_PREVIEW, 3589e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VECTSHOTSTOPMETHOD_WAIT_IN_CAPTURE, 3590e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VECTSHOTSTOPMETHOD_MAX = 0x7FFFFFFF 3591e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_VECTSHOTSTOPMETHOD; 3592bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov 3593e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen/** 3594e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * Define configuration structure to 3595e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * specify the beahvior of vector shot capture 3596e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * when the shot queue is empty 3597e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * 3598e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * STRUCT MEMBERS: 3599e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nSize : Size of the structure in bytes 3600e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nVersion : OMX specification version information 3601e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * nPortIndex : Port that this structure applies to 3602e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen * eStopMethod : Select the stop method 3603e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen */ 3604e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chentypedef struct OMX_TI_CONFIG_VECTSHOTSTOPMETHODTYPE { 3605e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nSize; 3606e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_VERSIONTYPE nVersion; 3607e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_U32 nPortIndex; 3608e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen OMX_TI_VECTSHOTSTOPMETHOD eStopMethod; 3609e4b5eb97c1ebb41905d9acb8cf1c0992688152e9Mike J. Chen} OMX_TI_CONFIG_VECTSHOTSTOPMETHODTYPE; 3610bc0e345c35480fb8036a766f47a7ed65e98947c5Milen Mitkov 3611c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 3612c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef __cplusplus 3613c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 3614c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif /* __cplusplus */ 3615c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 3616c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif 3617c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 3618c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 3619