OMX_IVCommon.h revision 6eec4d1ea65df853450a6e158718981cba900bf6
1dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 26eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Copyright (c) 2008 The Khronos Group Inc. 36eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * 4dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Permission is hereby granted, free of charge, to any person obtaining 5dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * a copy of this software and associated documentation files (the 6dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * "Software"), to deal in the Software without restriction, including 7dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * without limitation the rights to use, copy, modify, merge, publish, 8dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * distribute, sublicense, and/or sell copies of the Software, and to 9dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * permit persons to whom the Software is furnished to do so, subject 106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * to the following conditions: 11dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * The above copyright notice and this permission notice shall be included 126eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * in all copies or substantial portions of the Software. 136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * 14dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 18dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 19dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 206eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 22dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 23dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 246eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 25dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * @file OMX_IVCommon.h - OpenMax IL version 1.1.2 26dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * The structures needed by Video and Image components to exchange 27dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * parameters and configuration data with the components. 28dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 29dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#ifndef OMX_IVCommon_h 30dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_IVCommon_h 31dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 32dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#ifdef __cplusplus 33dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandextern "C" { 34dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* __cplusplus */ 35dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 36dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 37dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Each OMX header must include all required header files to allow the header 38dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * to compile without errors. The includes below are required for this header 396eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * file to compile successfully 40dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 41dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 42dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#include <OMX_Core.h> 43dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 44dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** @defgroup iv OpenMAX IL Imaging and Video Domain 45dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Common structures for OpenMAX IL Imaging and Video domains 46dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * @{ 47dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 48dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 49dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 506eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 516eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Enumeration defining possible uncompressed image/video formats. 52dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 53dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ENUMS: 54dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Unused : Placeholder value when format is N/A 55dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Monochrome : black and white 56dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 8bitRGB332 : Red 7:5, Green 4:2, Blue 1:0 57dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 12bitRGB444 : Red 11:8, Green 7:4, Blue 3:0 58dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 16bitARGB4444 : Alpha 15:12, Red 11:8, Green 7:4, Blue 3:0 59dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 16bitARGB1555 : Alpha 15, Red 14:10, Green 9:5, Blue 4:0 60dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 16bitRGB565 : Red 15:11, Green 10:5, Blue 4:0 61dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 16bitBGR565 : Blue 15:11, Green 10:5, Red 4:0 62dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 18bitRGB666 : Red 17:12, Green 11:6, Blue 5:0 63dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 18bitARGB1665 : Alpha 17, Red 16:11, Green 10:5, Blue 4:0 64dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 19bitARGB1666 : Alpha 18, Red 17:12, Green 11:6, Blue 5:0 65dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 24bitRGB888 : Red 24:16, Green 15:8, Blue 7:0 66dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 24bitBGR888 : Blue 24:16, Green 15:8, Red 7:0 67dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 24bitARGB1887 : Alpha 23, Red 22:15, Green 14:7, Blue 6:0 68dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 25bitARGB1888 : Alpha 24, Red 23:16, Green 15:8, Blue 7:0 69dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 32bitBGRA8888 : Blue 31:24, Green 23:16, Red 15:8, Alpha 7:0 70dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 32bitARGB8888 : Alpha 31:24, Red 23:16, Green 15:8, Blue 7:0 71dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YUV411Planar : U,Y are subsampled by a factor of 4 horizontally 72dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YUV411PackedPlanar : packed per payload in planar slices 73dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YUV420Planar : Three arrays Y,U,V. 74dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YUV420PackedPlanar : packed per payload in planar slices 75dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YUV420SemiPlanar : Two arrays, one is all Y, the other is U and V 76dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YUV422Planar : Three arrays Y,U,V. 77dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YUV422PackedPlanar : packed per payload in planar slices 78dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YUV422SemiPlanar : Two arrays, one is all Y, the other is U and V 79dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YCbYCr : Organized as 16bit YUYV (i.e. YCbYCr) 80dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YCrYCb : Organized as 16bit YVYU (i.e. YCrYCb) 81dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * CbYCrY : Organized as 16bit UYVY (i.e. CbYCrY) 82dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * CrYCbY : Organized as 16bit VYUY (i.e. CrYCbY) 83dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * YUV444Interleaved : Each pixel contains equal parts YUV 84dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * RawBayer8bit : SMIA camera output format 85dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * RawBayer10bit : SMIA camera output format 86dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * RawBayer8bitcompressed : SMIA camera output format 87dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 88dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_COLOR_FORMATTYPE { 89dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatUnused, 90dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatMonochrome, 91dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format8bitRGB332, 92dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format12bitRGB444, 93dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format16bitARGB4444, 94dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format16bitARGB1555, 95dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format16bitRGB565, 96dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format16bitBGR565, 97dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format18bitRGB666, 98dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format18bitARGB1665, 996eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_COLOR_Format19bitARGB1666, 100dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format24bitRGB888, 101dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format24bitBGR888, 102dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format24bitARGB1887, 103dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format25bitARGB1888, 104dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format32bitBGRA8888, 105dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format32bitARGB8888, 106dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV411Planar, 107dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV411PackedPlanar, 108dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV420Planar, 109dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV420PackedPlanar, 110dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV420SemiPlanar, 111dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV422Planar, 112dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV422PackedPlanar, 113dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV422SemiPlanar, 114dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYCbYCr, 115dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYCrYCb, 116dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatCbYCrY, 117dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatCrYCbY, 118dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV444Interleaved, 119dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatRawBayer8bit, 120dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatRawBayer10bit, 121dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatRawBayer8bitcompressed, 1226eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_COLOR_FormatL2, 1236eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_COLOR_FormatL4, 1246eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_COLOR_FormatL8, 1256eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_COLOR_FormatL16, 1266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_COLOR_FormatL24, 127dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatL32, 128dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV420PackedSemiPlanar, 129dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatYUV422PackedSemiPlanar, 130dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format18BitBGR666, 131dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format24BitARGB6666, 132dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_Format24BitABGR6666, 1336eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_COLOR_FormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 134dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 135dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLOR_FormatMax = 0x7FFFFFFF 136dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_COLOR_FORMATTYPE; 137dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 138dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 1396eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 140dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Defines the matrix for conversion from RGB to YUV or vice versa. 1416eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * iColorMatrix should be initialized with the fixed point values 142dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * used in converting between formats. 143dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 144dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_COLORCONVERSIONTYPE { 145dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; /**< Size of the structure in bytes */ 1466eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 147dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; /**< Port that this struct applies to */ 148dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */ 149dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 xColorOffset[4]; /**< Stored in signed Q16 format */ 150dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}OMX_CONFIG_COLORCONVERSIONTYPE; 151dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 152dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 1536eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 1546eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure defining percent to scale each frame dimension. For example: 155dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * To make the width 50% larger, use fWidth = 1.5 and to make the width 156dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 1/2 the original size, use fWidth = 0.5 157dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 158dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_SCALEFACTORTYPE { 159dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; /**< Size of the structure in bytes */ 1606eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 161dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; /**< Port that this struct applies to */ 162dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 xWidth; /**< Fixed point value stored as Q16 */ 163dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 xHeight; /**< Fixed point value stored as Q16 */ 164dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}OMX_CONFIG_SCALEFACTORTYPE; 165dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 166dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 1676eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 1686eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Enumeration of possible image filter types 169dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 170dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_IMAGEFILTERTYPE { 171dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterNone, 172dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterNoise, 173dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterEmboss, 174dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterNegative, 175dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterSketch, 176dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterOilPaint, 177dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterHatch, 178dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterGpen, 1796eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ImageFilterAntialias, 1806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ImageFilterDeRing, 181dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterSolarize, 1826eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ImageFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 183dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 184dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ImageFilterMax = 0x7FFFFFFF 185dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_IMAGEFILTERTYPE; 186dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 187dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 1886eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 1896eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Image filter configuration 190dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 191dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 1926eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 193dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 1946eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 1956eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eImageFilter : Image filter type enumeration 196dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 197dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_IMAGEFILTERTYPE { 198dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 199dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 200dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 201dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_IMAGEFILTERTYPE eImageFilter; 202dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_IMAGEFILTERTYPE; 203dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 204dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 2056eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2066eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Customized U and V for color enhancement 207dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 208dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 209dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 2106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 211dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 212dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bColorEnhancement : Enable/disable color enhancement 2136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nCustomizedU : Practical values: 16-240, range: 0-255, value set for 214dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * U component 2156eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nCustomizedV : Practical values: 16-240, range: 0-255, value set for 216dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * V component 217dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 218dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_COLORENHANCEMENTTYPE { 219dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 2206eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; 221dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 222dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bColorEnhancement; 223dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U8 nCustomizedU; 224dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U8 nCustomizedV; 225dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_COLORENHANCEMENTTYPE; 226dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 227dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 2286eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2296eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Define color key and color key mask 230dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 231dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 232dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 2336eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 234dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 235dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nARGBColor : 32bit Alpha, Red, Green, Blue Color 236dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nARGBMask : 32bit Mask for Alpha, Red, Green, Blue channels 237dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 238dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_COLORKEYTYPE { 239dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 240dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 241dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 242dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nARGBColor; 243dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nARGBMask; 244dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_COLORKEYTYPE; 245dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 246dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 2476eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2486eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * List of color blend types for pre/post processing 249dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 250dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ENUMS: 251dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * None : No color blending present 2526eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * AlphaConstant : Function is (alpha_constant * src) + 253dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * (1 - alpha_constant) * dst) 254dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * AlphaPerPixel : Function is (alpha * src) + (1 - alpha) * dst) 255dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Alternate : Function is alternating pixels from src and dst 256dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * And : Function is (src & dst) 257dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Or : Function is (src | dst) 258dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Invert : Function is ~src 259dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 260dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_COLORBLENDTYPE { 261dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ColorBlendNone, 262dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ColorBlendAlphaConstant, 263dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ColorBlendAlphaPerPixel, 264dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ColorBlendAlternate, 265dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ColorBlendAnd, 266dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ColorBlendOr, 267dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ColorBlendInvert, 2686eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ColorBlendKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 269dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ColorBlendVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 270dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ColorBlendMax = 0x7FFFFFFF 271dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_COLORBLENDTYPE; 272dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 273dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 2746eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2756eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Color blend configuration 276dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 277dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 2786eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 2796eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 2806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 281dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nRGBAlphaConstant : Constant global alpha values when global alpha is used 2826eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eColorBlend : Color blend type enumeration 283dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 284dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_COLORBLENDTYPE { 285dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 286dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 287dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 288dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nRGBAlphaConstant; 289dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_COLORBLENDTYPE eColorBlend; 290dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_COLORBLENDTYPE; 291dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 292dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 2936eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 294dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Hold frame dimension 295dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 296dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 2976eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 298dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 2996eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 3006eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nWidth : Frame width in pixels 3016eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nHeight : Frame height in pixels 302dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 303dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_FRAMESIZETYPE { 304dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 305dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 306dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 307dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nWidth; 308dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nHeight; 309dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_FRAMESIZETYPE; 310dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 311dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 312dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 3136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Rotation configuration 314dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 315dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 3166eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 317dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 318dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 3196eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nRotation : +/- integer rotation value 320dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 321dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_ROTATIONTYPE { 322dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 323dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 324dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 3256eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_S32 nRotation; 326dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_ROTATIONTYPE; 327dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 328dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 3296eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3306eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Possible mirroring directions for pre/post processing 331dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 332dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ENUMS: 3336eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * None : No mirroring 3346eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Vertical : Vertical mirroring, flip on X axis 3356eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Horizontal : Horizontal mirroring, flip on Y axis 336dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Both : Both vertical and horizontal mirroring 337dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 338dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_MIRRORTYPE { 339dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_MirrorNone = 0, 340dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_MirrorVertical, 341dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_MirrorHorizontal, 3426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MirrorBoth, 3436eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MirrorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 344dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_MirrorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 3456eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MirrorMax = 0x7FFFFFFF 346dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_MIRRORTYPE; 347dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 348dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 3496eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3506eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Mirroring configuration 351dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 352dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 3536eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 354dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 3556eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 3566eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eMirror : Mirror type enumeration 357dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 358dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_MIRRORTYPE { 359dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 3606eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; 361dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 362dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_MIRRORTYPE eMirror; 363dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_MIRRORTYPE; 364dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 365dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 3666eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3676eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Position information only 368dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 369dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 3706eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 371dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 372dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 3736eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nX : X coordinate for the point 3746eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nY : Y coordinate for the point 3756eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal */ 376dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_POINTTYPE { 377dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 378dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 379dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 380dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 nX; 381dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 nY; 382dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_POINTTYPE; 383dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 384dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 3856eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3866eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Frame size plus position 387dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 388dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 3896eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 3906eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 3916eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 392dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nLeft : X Coordinate of the top left corner of the rectangle 393dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nTop : Y Coordinate of the top left corner of the rectangle 3946eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nWidth : Width of the rectangle 3956eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nHeight : Height of the rectangle 396dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 397dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_RECTTYPE { 398dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 3996eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; 4006eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_U32 nPortIndex; 4016eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_S32 nLeft; 402dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 nTop; 403dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nWidth; 404dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nHeight; 405dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_RECTTYPE; 406dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 407dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 4086eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4096eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Deblocking state; it is required to be set up before starting the codec 410dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 411dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 4126eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 4136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 414dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 4156eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * bDeblocking : Enable/disable deblocking mode 416dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 417dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_PARAM_DEBLOCKINGTYPE { 418dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 419dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 420dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 421dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bDeblocking; 422dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_PARAM_DEBLOCKINGTYPE; 423dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 424dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 4256eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Stabilization state 427dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 428dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 4296eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 4306eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 4316eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 432dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bStab : Enable/disable frame stabilization state 433dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 434dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_FRAMESTABTYPE { 435dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 436dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 437dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 438dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bStab; 439dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_FRAMESTABTYPE; 440dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 441dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 4426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4436eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * White Balance control type 444dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 445dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 446dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * SunLight : Referenced in JSR-234 447dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Flash : Optimal for device's integrated flash 448dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 449dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_WHITEBALCONTROLTYPE { 450dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlOff = 0, 451dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlAuto, 452dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlSunLight, 453dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlCloudy, 454dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlShade, 455dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlTungsten, 456dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlFluorescent, 457dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlIncandescent, 458dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlFlash, 459dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlHorizon, 4606eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_WhiteBalControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 461dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 462dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WhiteBalControlMax = 0x7FFFFFFF 463dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_WHITEBALCONTROLTYPE; 464dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 465dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 4666eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4676eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * White Balance control configuration 468dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 469dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 4706eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 471dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 4726eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 4736eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eWhiteBalControl : White balance enumeration 474dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 475dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_WHITEBALCONTROLTYPE { 476dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 477dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 478dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 479dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_WHITEBALCONTROLTYPE eWhiteBalControl; 480dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_WHITEBALCONTROLTYPE; 481dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 482dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 4836eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4846eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Exposure control type 485dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 486dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_EXPOSURECONTROLTYPE { 487dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlOff = 0, 488dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlAuto, 489dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlNight, 490dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlBackLight, 491dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlSpotLight, 492dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlSports, 493dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlSnow, 494dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlBeach, 495dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlLargeAperture, 496dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlSmallApperture, 4976eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ExposureControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 498dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 499dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_ExposureControlMax = 0x7FFFFFFF 500dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_EXPOSURECONTROLTYPE; 501dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 502dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 5036eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5046eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * White Balance control configuration 505dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 506dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 5076eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 508dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 5096eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 5106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eExposureControl : Exposure control enumeration 511dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 512dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_EXPOSURECONTROLTYPE { 513dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 514dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 515dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 516dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EXPOSURECONTROLTYPE eExposureControl; 517dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_EXPOSURECONTROLTYPE; 518dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 519dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 5206eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5216eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines sensor supported mode. 522dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 523dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 5246eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 525dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 5266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 5276eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nFrameRate : Single shot mode is indicated by a 0 528dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bOneShot : Enable for single shot, disable for streaming 5296eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * sFrameSize : Framesize 530dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 531dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_PARAM_SENSORMODETYPE { 532dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 533dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 534dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 535dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nFrameRate; 536dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bOneShot; 537dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_FRAMESIZETYPE sFrameSize; 538dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_PARAM_SENSORMODETYPE; 539dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 540dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 5416eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines contrast level 543dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 544dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 5456eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 5466eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 5476eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 548dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nContrast : Values allowed for contrast -100 to 100, zero means no change 549dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 550dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_CONTRASTTYPE { 551dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 552dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 553dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 554dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 nContrast; 555dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_CONTRASTTYPE; 556dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 557dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 5586eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5596eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines brightness level 560dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 561dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 5626eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 5636eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 5646eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 5656eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nBrightness : 0-100% 566dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 567dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_BRIGHTNESSTYPE { 568dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 569dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 570dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 571dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nBrightness; 572dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_BRIGHTNESSTYPE; 573dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 574dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 5756eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5766eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines backlight level configuration for a video sink, e.g. LCD panel 577dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 578dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 579dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 5806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 581dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 582dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nBacklight : Values allowed for backlight 0-100% 5836eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nTimeout : Number of milliseconds before backlight automatically turns 5846eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * off. A value of 0x0 disables backight timeout 585dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 586dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_BACKLIGHTTYPE { 587dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 588dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 589dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 590dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nBacklight; 591dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nTimeout; 592dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_BACKLIGHTTYPE; 593dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 594dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 5956eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5966eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines setting for Gamma 597dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 598dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 599dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 6006eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 601dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 602dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nGamma : Values allowed for gamma -100 to 100, zero means no change 603dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 604dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_GAMMATYPE { 605dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 606dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 607dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 608dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 nGamma; 609dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_GAMMATYPE; 610dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 611dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 6126eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Define for setting saturation 6146eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * 615dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 616dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 617dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 618dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 6196eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSaturation : Values allowed for saturation -100 to 100, zero means 620dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * no change 621dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 622dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_SATURATIONTYPE { 623dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 624dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 625dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 626dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 nSaturation; 627dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_SATURATIONTYPE; 628dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 629dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 6306eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6316eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Define for setting Lightness 632dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 633dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 634dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 635dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 636dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 6376eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nLightness : Values allowed for lightness -100 to 100, zero means no 638dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * change 639dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 640dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_LIGHTNESSTYPE { 641dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 642dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 643dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 644dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 nLightness; 645dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_LIGHTNESSTYPE; 646dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 647dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 6486eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6496eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Plane blend configuration 650dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 651dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 6526eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 653dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 654dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Index of input port associated with the plane. 6556eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nDepth : Depth of the plane in relation to the screen. Higher 6566eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * numbered depths are "behind" lower number depths. 657dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * This number defaults to the Port Index number. 6586eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nAlpha : Transparency blending component for the entire plane. 659dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * See blending modes for more detail. 660dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 661dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_PLANEBLENDTYPE { 662dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 663dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 664dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 665dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nDepth; 666dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nAlpha; 667dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_PLANEBLENDTYPE; 668dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 669dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 6706eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 671dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Define interlace type 672dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 673dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 6746eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 6756eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 676dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 6776eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * bEnable : Enable control variable for this functionality 678dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * (see below) 6796eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nInterleavePortIndex : Index of input or output port associated with 6806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * the interleaved plane. 681dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * pPlanarPortIndexes[4] : Index of input or output planar ports. 682dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 683dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_PARAM_INTERLEAVETYPE { 684dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 685dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 686dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 687dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bEnable; 688dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nInterleavePortIndex; 689dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_PARAM_INTERLEAVETYPE; 690dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 691dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 6926eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6936eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines the picture effect used for an input picture 694dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 695dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_TRANSITIONEFFECTTYPE { 696dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EffectNone, 697dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EffectFadeFromBlack, 698dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EffectFadeToBlack, 699dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EffectUnspecifiedThroughConstantColor, 700dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EffectDissolve, 701dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EffectWipe, 702dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EffectUnspecifiedMixOfTwoScenes, 7036eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_EffectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 704dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EffectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 705dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EffectMax = 0x7FFFFFFF 706dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_TRANSITIONEFFECTTYPE; 707dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 708dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 7096eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure used to configure current transition effect 711dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 712dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 713dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 7146eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 715dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 716dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eEffect : Effect to enable 717dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 718dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE { 719dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 720dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 721dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 722dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_TRANSITIONEFFECTTYPE eEffect; 723dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_TRANSITIONEFFECTTYPE; 724dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 725dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 7266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7276eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines possible data unit types for encoded video data. The data unit 728dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * types are used both for encoded video input for playback as well as 7296eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * encoded video output from recording. 730dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 731dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_DATAUNITTYPE { 732dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataUnitCodedPicture, 733dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataUnitVideoSegment, 734dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataUnitSeveralSegments, 735dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataUnitArbitraryStreamSection, 7366eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_DataUnitKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 737dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataUnitVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 738dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataUnitMax = 0x7FFFFFFF 739dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DATAUNITTYPE; 740dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 741dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 7426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7436eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines possible encapsulation types for coded video data unit. The 7446eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * encapsulation information is used both for encoded video input for 7456eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * playback as well as encoded video output from recording. 746dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 747dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_DATAUNITENCAPSULATIONTYPE { 748dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataEncapsulationElementaryStream, 749dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataEncapsulationGenericPayload, 750dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataEncapsulationRtpPayload, 7516eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_DataEncapsulationKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 752dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataEncapsulationVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 753dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DataEncapsulationMax = 0x7FFFFFFF 754dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DATAUNITENCAPSULATIONTYPE; 755dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 756dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 7576eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7586eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure used to configure the type of being decoded/encoded 759dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 760dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_PARAM_DATAUNITTYPE { 761dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; /**< Size of the structure in bytes */ 7626eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 763dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; /**< Port that this structure applies to */ 764dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DATAUNITTYPE eUnitType; 765dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType; 766dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_PARAM_DATAUNITTYPE; 767dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 768dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 769dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 7706eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines dither types 771dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 772dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_DITHERTYPE { 773dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DitherNone, 774dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DitherOrdered, 775dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DitherErrorDiffusion, 776dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DitherOther, 7776eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_DitherKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 778dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DitherVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 779dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DitherMax = 0x7FFFFFFF 780dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_DITHERTYPE; 781dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 782dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 7836eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7846eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure used to configure current type of dithering 785dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 786dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_DITHERTYPE { 787dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; /**< Size of the structure in bytes */ 7886eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 789dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; /**< Port that this structure applies to */ 790dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_DITHERTYPE eDither; /**< Type of dithering to use */ 791dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_DITHERTYPE; 792dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 793dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_CAPTUREMODETYPE { 794dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 795dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 796dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; /**< Port that this structure applies to */ 7976eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_BOOL bContinuous; /**< If true then ignore frame rate and emit capture 798dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * data as fast as possible (otherwise obey port's frame rate). */ 7996eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_BOOL bFrameLimited; /**< If true then terminate capture after the port emits the 8006eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * specified number of frames (otherwise the port does not 8016eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * terminate the capture until instructed to do so by the client). 8026eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Even if set, the client may manually terminate the capture prior 803dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * to reaching the limit. */ 804dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nFrameLimit; /**< Limit on number of frames emitted during a capture (only 805dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * valid if bFrameLimited is set). */ 806dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_CAPTUREMODETYPE; 807dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 808dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_METERINGTYPE { 8096eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal 810dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_MeteringModeAverage, /**< Center-weighted average metering. */ 811dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_MeteringModeSpot, /**< Spot (partial) metering. */ 812dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_MeteringModeMatrix, /**< Matrix or evaluative metering. */ 8136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal 8146eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MeteringKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 815dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_MeteringVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 816dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_EVModeMax = 0x7fffffff 817dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_METERINGTYPE; 8186eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal 819dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_EXPOSUREVALUETYPE { 820dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 821dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 822dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 823dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_METERINGTYPE eMetering; 824dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_S32 xEVCompensation; /**< Fixed point value stored as Q16 */ 825dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */ 826dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bAutoAperture; /**< Whether aperture number is defined automatically */ 8276eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_U32 nShutterSpeedMsec; /**< Shutterspeed in milliseconds */ 8286eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_BOOL bAutoShutterSpeed; /**< Whether shutter speed is defined automatically */ 829dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */ 830dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bAutoSensitivity; /**< Whether sensitivity is defined automatically */ 831dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_EXPOSUREVALUETYPE; 832dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 8336eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 8346eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Focus region configuration 835dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 836dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 837dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 838dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 839dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 840dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bCenter : Use center region as focus region of interest 841dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bLeft : Use left region as focus region of interest 842dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bRight : Use right region as focus region of interest 843dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bTop : Use top region as focus region of interest 844dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bBottom : Use bottom region as focus region of interest 845dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bTopLeft : Use top left region as focus region of interest 846dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bTopRight : Use top right region as focus region of interest 847dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bBottomLeft : Use bottom left region as focus region of interest 848dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bBottomRight : Use bottom right region as focus region of interest 849dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 850dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_FOCUSREGIONTYPE { 851dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 852dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 853dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 854dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bCenter; 855dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bLeft; 856dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bRight; 857dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bTop; 858dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bBottom; 859dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bTopLeft; 860dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bTopRight; 861dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bBottomLeft; 862dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bBottomRight; 863dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_FOCUSREGIONTYPE; 864dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 8656eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 8666eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Focus Status type 867dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 868dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_FOCUSSTATUSTYPE { 869dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_FocusStatusOff = 0, 870dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_FocusStatusRequest, 871dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_FocusStatusReached, 872dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_FocusStatusUnableToReach, 873dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_FocusStatusLost, 8746eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_FocusStatusKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 875dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_FocusStatusVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 876dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_FocusStatusMax = 0x7FFFFFFF 877dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_FOCUSSTATUSTYPE; 878dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 8796eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 8806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Focus status configuration 881dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 882dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 883dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 884dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 885dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 886dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eFocusStatus : Specifies the focus status 887dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bCenterStatus : Use center region as focus region of interest 888dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bLeftStatus : Use left region as focus region of interest 889dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bRightStatus : Use right region as focus region of interest 890dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bTopStatus : Use top region as focus region of interest 891dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bBottomStatus : Use bottom region as focus region of interest 892dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bTopLeftStatus : Use top left region as focus region of interest 893dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bTopRightStatus : Use top right region as focus region of interest 894dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bBottomLeftStatus : Use bottom left region as focus region of interest 895dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bBottomRightStatus : Use bottom right region as focus region of interest 896dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 897dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_PARAM_FOCUSSTATUSTYPE { 898dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 899dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 900dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 901dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_FOCUSSTATUSTYPE eFocusStatus; 902dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bCenterStatus; 903dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bLeftStatus; 904dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bRightStatus; 905dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bTopStatus; 906dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bBottomStatus; 907dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bTopLeftStatus; 908dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bTopRightStatus; 909dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bBottomLeftStatus; 910dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bBottomRightStatus; 911dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_PARAM_FOCUSSTATUSTYPE; 912dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 913dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** @} */ 914dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 915dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#ifdef __cplusplus 916dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} 917dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* __cplusplus */ 918dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 919dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif 920dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* File EOF */ 921