1826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** 26eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Copyright (c) 2008 The Khronos Group Inc. 36eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * 4826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Permission is hereby granted, free of charge, to any person obtaining 5826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * a copy of this software and associated documentation files (the 6826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * "Software"), to deal in the Software without restriction, including 7826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * without limitation the rights to use, copy, modify, merge, publish, 8826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * distribute, sublicense, and/or sell copies of the Software, and to 9826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * permit persons to whom the Software is furnished to do so, subject 106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * to the following conditions: 11826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * The above copyright notice and this permission notice shall be included 126eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * in all copies or substantial portions of the Software. 136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * 14826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 18826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 19826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 206eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 22826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 23826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 246eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 25826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * @file OMX_IVCommon.h - OpenMax IL version 1.1.2 26826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * The structures needed by Video and Image components to exchange 27826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * parameters and configuration data with the components. 28826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 29826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#ifndef OMX_IVCommon_h 30826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_IVCommon_h 31826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 32826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#ifdef __cplusplus 33826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevextern "C" { 34826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif /* __cplusplus */ 35826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 36826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** 37826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Each OMX header must include all required header files to allow the header 38826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * to compile without errors. The includes below are required for this header 396eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * file to compile successfully 40826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 41826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 42826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#include <OMX_Core.h> 43826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 44826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** @defgroup iv OpenMAX IL Imaging and Video Domain 45826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Common structures for OpenMAX IL Imaging and Video domains 46826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * @{ 47826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 48826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 49826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 506eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 516eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Enumeration defining possible uncompressed image/video formats. 52826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 53826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * ENUMS: 54826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Unused : Placeholder value when format is N/A 55826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Monochrome : black and white 56826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 8bitRGB332 : Red 7:5, Green 4:2, Blue 1:0 57826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 12bitRGB444 : Red 11:8, Green 7:4, Blue 3:0 58826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 16bitARGB4444 : Alpha 15:12, Red 11:8, Green 7:4, Blue 3:0 59826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 16bitARGB1555 : Alpha 15, Red 14:10, Green 9:5, Blue 4:0 60826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 16bitRGB565 : Red 15:11, Green 10:5, Blue 4:0 61826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 16bitBGR565 : Blue 15:11, Green 10:5, Red 4:0 62826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 18bitRGB666 : Red 17:12, Green 11:6, Blue 5:0 63826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 18bitARGB1665 : Alpha 17, Red 16:11, Green 10:5, Blue 4:0 64826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 19bitARGB1666 : Alpha 18, Red 17:12, Green 11:6, Blue 5:0 65826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 24bitRGB888 : Red 24:16, Green 15:8, Blue 7:0 66826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 24bitBGR888 : Blue 24:16, Green 15:8, Red 7:0 67826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 24bitARGB1887 : Alpha 23, Red 22:15, Green 14:7, Blue 6:0 68826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 25bitARGB1888 : Alpha 24, Red 23:16, Green 15:8, Blue 7:0 69826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 32bitBGRA8888 : Blue 31:24, Green 23:16, Red 15:8, Alpha 7:0 70826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 32bitARGB8888 : Alpha 31:24, Red 23:16, Green 15:8, Blue 7:0 71826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YUV411Planar : U,Y are subsampled by a factor of 4 horizontally 72826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YUV411PackedPlanar : packed per payload in planar slices 73826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YUV420Planar : Three arrays Y,U,V. 74826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YUV420PackedPlanar : packed per payload in planar slices 75826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YUV420SemiPlanar : Two arrays, one is all Y, the other is U and V 76826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YUV422Planar : Three arrays Y,U,V. 77826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YUV422PackedPlanar : packed per payload in planar slices 78826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YUV422SemiPlanar : Two arrays, one is all Y, the other is U and V 79826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YCbYCr : Organized as 16bit YUYV (i.e. YCbYCr) 80826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YCrYCb : Organized as 16bit YVYU (i.e. YCrYCb) 81826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * CbYCrY : Organized as 16bit UYVY (i.e. CbYCrY) 82826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * CrYCbY : Organized as 16bit VYUY (i.e. CrYCbY) 83826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * YUV444Interleaved : Each pixel contains equal parts YUV 84826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * RawBayer8bit : SMIA camera output format 85826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * RawBayer10bit : SMIA camera output format 86826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * RawBayer8bitcompressed : SMIA camera output format 87826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 88826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_COLOR_FORMATTYPE { 89826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatUnused, 90826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatMonochrome, 91826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format8bitRGB332, 92826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format12bitRGB444, 93826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format16bitARGB4444, 94826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format16bitARGB1555, 95826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format16bitRGB565, 96826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format16bitBGR565, 97826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format18bitRGB666, 98826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format18bitARGB1665, 996eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_COLOR_Format19bitARGB1666, 100826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format24bitRGB888, 101826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format24bitBGR888, 102826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format24bitARGB1887, 103826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format25bitARGB1888, 104826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format32bitBGRA8888, 105826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format32bitARGB8888, 106826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV411Planar, 107826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV411PackedPlanar, 108826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV420Planar, 109826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV420PackedPlanar, 110826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV420SemiPlanar, 111826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV422Planar, 112826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV422PackedPlanar, 113826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV422SemiPlanar, 114826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYCbYCr, 115826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYCrYCb, 116826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatCbYCrY, 117826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatCrYCbY, 118826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV444Interleaved, 119826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatRawBayer8bit, 120826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatRawBayer10bit, 121826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 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, 127826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatL32, 128826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV420PackedSemiPlanar, 129826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatYUV422PackedSemiPlanar, 130826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format18BitBGR666, 131826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format24BitARGB6666, 132826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_Format24BitABGR6666, 1336eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_COLOR_FormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 134826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 135826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatMax = 0x7FFFFFFF 136826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_COLOR_FORMATTYPE; 137826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 138826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 1396eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 140826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Defines the matrix for conversion from RGB to YUV or vice versa. 1416eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * iColorMatrix should be initialized with the fixed point values 142826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * used in converting between formats. 143826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 144826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_COLORCONVERSIONTYPE { 145826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; /**< Size of the structure in bytes */ 1466eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 147826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; /**< Port that this struct applies to */ 148826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */ 149826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 xColorOffset[4]; /**< Stored in signed Q16 format */ 150826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}OMX_CONFIG_COLORCONVERSIONTYPE; 151826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 152826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 1536eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 1546eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure defining percent to scale each frame dimension. For example: 155826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * To make the width 50% larger, use fWidth = 1.5 and to make the width 156826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 1/2 the original size, use fWidth = 0.5 157826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 158826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_SCALEFACTORTYPE { 159826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; /**< Size of the structure in bytes */ 1606eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 161826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; /**< Port that this struct applies to */ 162826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 xWidth; /**< Fixed point value stored as Q16 */ 163826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 xHeight; /**< Fixed point value stored as Q16 */ 164826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}OMX_CONFIG_SCALEFACTORTYPE; 165826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 166826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 1676eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 1686eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Enumeration of possible image filter types 169826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 170826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_IMAGEFILTERTYPE { 171826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterNone, 172826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterNoise, 173826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterEmboss, 174826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterNegative, 175826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterSketch, 176826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterOilPaint, 177826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterHatch, 178826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterGpen, 1796eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ImageFilterAntialias, 1806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ImageFilterDeRing, 181826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterSolarize, 1826eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ImageFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 183826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 184826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterMax = 0x7FFFFFFF 185826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_IMAGEFILTERTYPE; 186826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 187826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 1886eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 1896eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Image filter configuration 190826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 191826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 1926eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 193826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 1946eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 1956eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eImageFilter : Image filter type enumeration 196826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 197826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_IMAGEFILTERTYPE { 198826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 199826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 200826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 201826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_IMAGEFILTERTYPE eImageFilter; 202826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_IMAGEFILTERTYPE; 203826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 204826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 2056eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2066eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Customized U and V for color enhancement 207826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 208826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 209826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 2106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 211826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 212826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bColorEnhancement : Enable/disable color enhancement 2136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nCustomizedU : Practical values: 16-240, range: 0-255, value set for 214826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * U component 2156eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nCustomizedV : Practical values: 16-240, range: 0-255, value set for 216826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * V component 217826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 218826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_COLORENHANCEMENTTYPE { 219826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 2206eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; 221826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 222826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bColorEnhancement; 223826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U8 nCustomizedU; 224826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U8 nCustomizedV; 225826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_COLORENHANCEMENTTYPE; 226826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 227826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 2286eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2296eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Define color key and color key mask 230826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 231826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 232826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 2336eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 234826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 235826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nARGBColor : 32bit Alpha, Red, Green, Blue Color 236826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nARGBMask : 32bit Mask for Alpha, Red, Green, Blue channels 237826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 238826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_COLORKEYTYPE { 239826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 240826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 241826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 242826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nARGBColor; 243826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nARGBMask; 244826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_COLORKEYTYPE; 245826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 246826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 2476eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2486eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * List of color blend types for pre/post processing 249826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 250826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * ENUMS: 251826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * None : No color blending present 2526eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * AlphaConstant : Function is (alpha_constant * src) + 253826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * (1 - alpha_constant) * dst) 254826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * AlphaPerPixel : Function is (alpha * src) + (1 - alpha) * dst) 255826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Alternate : Function is alternating pixels from src and dst 256826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * And : Function is (src & dst) 257826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Or : Function is (src | dst) 258826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Invert : Function is ~src 259826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 260826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_COLORBLENDTYPE { 261826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendNone, 262826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendAlphaConstant, 263826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendAlphaPerPixel, 264826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendAlternate, 265826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendAnd, 266826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendOr, 267826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendInvert, 2686eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ColorBlendKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 269826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 270826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendMax = 0x7FFFFFFF 271826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_COLORBLENDTYPE; 272826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 273826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 2746eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2756eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Color blend configuration 276826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 277826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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 281826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nRGBAlphaConstant : Constant global alpha values when global alpha is used 2826eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eColorBlend : Color blend type enumeration 283826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 284826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_COLORBLENDTYPE { 285826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 286826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 287826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 288826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nRGBAlphaConstant; 289826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLORBLENDTYPE eColorBlend; 290826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_COLORBLENDTYPE; 291826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 292826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 2936eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 294826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Hold frame dimension 295826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 296826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 2976eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 298826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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 302826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 303826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_FRAMESIZETYPE { 304826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 305826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 306826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 307826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nWidth; 308826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nHeight; 309826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_FRAMESIZETYPE; 310826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 311826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 312826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** 3136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Rotation configuration 314826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 315826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 3166eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 317826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 318826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 3196eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nRotation : +/- integer rotation value 320826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 321826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_ROTATIONTYPE { 322826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 323826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 324826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 3256eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_S32 nRotation; 326826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_ROTATIONTYPE; 327826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 328826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 3296eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3306eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Possible mirroring directions for pre/post processing 331826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 332826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * ENUMS: 3336eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * None : No mirroring 3346eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Vertical : Vertical mirroring, flip on X axis 3356eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Horizontal : Horizontal mirroring, flip on Y axis 336826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Both : Both vertical and horizontal mirroring 337826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 338826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_MIRRORTYPE { 339826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MirrorNone = 0, 340826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MirrorVertical, 341826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MirrorHorizontal, 3426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MirrorBoth, 3436eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MirrorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 344826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MirrorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 3456eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MirrorMax = 0x7FFFFFFF 346826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_MIRRORTYPE; 347826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 348826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 3496eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3506eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Mirroring configuration 351826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 352826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 3536eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 354826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 3556eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 3566eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eMirror : Mirror type enumeration 357826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 358826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_MIRRORTYPE { 359826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 3606eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; 361826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 362826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MIRRORTYPE eMirror; 363826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_MIRRORTYPE; 364826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 365826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 3666eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3676eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Position information only 368826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 369826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 3706eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 371826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 372826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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 */ 376826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_POINTTYPE { 377826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 378826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 379826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 380826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nX; 381826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nY; 382826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_POINTTYPE; 383826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 384826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 3856eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3866eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Frame size plus position 387826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 388826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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 392826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nLeft : X Coordinate of the top left corner of the rectangle 393826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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 396826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 397826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_RECTTYPE { 398826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 3996eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; 4006eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_U32 nPortIndex; 4016eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_S32 nLeft; 402826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nTop; 403826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nWidth; 404826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nHeight; 405826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_RECTTYPE; 406826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 407826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 4086eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4096eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Deblocking state; it is required to be set up before starting the codec 410826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 411826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 4126eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 4136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 414826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 4156eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * bDeblocking : Enable/disable deblocking mode 416826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 417826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_PARAM_DEBLOCKINGTYPE { 418826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 419826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 420826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 421826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bDeblocking; 422826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_PARAM_DEBLOCKINGTYPE; 423826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 424826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 4256eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Stabilization state 427826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 428826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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 432826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bStab : Enable/disable frame stabilization state 433826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 434826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_FRAMESTABTYPE { 435826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 436826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 437826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 438826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bStab; 439826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_FRAMESTABTYPE; 440826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 441826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 4426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4436eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * White Balance control type 444826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 445826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 446826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * SunLight : Referenced in JSR-234 447826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Flash : Optimal for device's integrated flash 448826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 449826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_WHITEBALCONTROLTYPE { 450826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlOff = 0, 451826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlAuto, 452826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlSunLight, 453826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlCloudy, 454826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlShade, 455826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlTungsten, 456826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlFluorescent, 457826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlIncandescent, 458826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlFlash, 459826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlHorizon, 4606eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_WhiteBalControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 461826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 462826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlMax = 0x7FFFFFFF 463826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_WHITEBALCONTROLTYPE; 464826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 465826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 4666eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4676eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * White Balance control configuration 468826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 469826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 4706eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 471826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 4726eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 4736eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eWhiteBalControl : White balance enumeration 474826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 475826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_WHITEBALCONTROLTYPE { 476826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 477826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 478826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 479826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WHITEBALCONTROLTYPE eWhiteBalControl; 480826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_WHITEBALCONTROLTYPE; 481826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 482826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 4836eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4846eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Exposure control type 485826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 486826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_EXPOSURECONTROLTYPE { 487826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlOff = 0, 488826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlAuto, 489826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlNight, 490826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlBackLight, 491826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlSpotLight, 492826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlSports, 493826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlSnow, 494826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlBeach, 495826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlLargeAperture, 496826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlSmallApperture, 4976eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ExposureControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 498826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 499826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlMax = 0x7FFFFFFF 500826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_EXPOSURECONTROLTYPE; 501826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 502826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5036eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5046eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * White Balance control configuration 505826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 506826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 5076eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 508826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 5096eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 5106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eExposureControl : Exposure control enumeration 511826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 512826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_EXPOSURECONTROLTYPE { 513826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 514826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 515826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 516826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EXPOSURECONTROLTYPE eExposureControl; 517826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_EXPOSURECONTROLTYPE; 518826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 519826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5206eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5216eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines sensor supported mode. 522826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 523826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 5246eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 525826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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 528826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bOneShot : Enable for single shot, disable for streaming 5296eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * sFrameSize : Framesize 530826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 531826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_PARAM_SENSORMODETYPE { 532826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 533826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 534826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 535826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nFrameRate; 536826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bOneShot; 537826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FRAMESIZETYPE sFrameSize; 538826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_PARAM_SENSORMODETYPE; 539826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 540826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5416eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines contrast level 543826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 544826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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 548826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nContrast : Values allowed for contrast -100 to 100, zero means no change 549826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 550826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_CONTRASTTYPE { 551826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 552826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 553826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 554826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nContrast; 555826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_CONTRASTTYPE; 556826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 557826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5586eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5596eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines brightness level 560826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 561826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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% 566826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 567826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_BRIGHTNESSTYPE { 568826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 569826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 570826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 571826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nBrightness; 572826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_BRIGHTNESSTYPE; 573826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 574826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5756eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5766eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines backlight level configuration for a video sink, e.g. LCD panel 577826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 578826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 579826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 5806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 581826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 582826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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 585826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 586826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_BACKLIGHTTYPE { 587826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 588826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 589826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 590826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nBacklight; 591826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nTimeout; 592826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_BACKLIGHTTYPE; 593826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 594826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5956eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5966eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines setting for Gamma 597826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 598826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 599826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 6006eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 601826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 602826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nGamma : Values allowed for gamma -100 to 100, zero means no change 603826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 604826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_GAMMATYPE { 605826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 606826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 607826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 608826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nGamma; 609826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_GAMMATYPE; 610826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 611826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 6126eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Define for setting saturation 6146eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * 615826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 616826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 617826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 618826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 6196eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSaturation : Values allowed for saturation -100 to 100, zero means 620826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * no change 621826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 622826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_SATURATIONTYPE { 623826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 624826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 625826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 626826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nSaturation; 627826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_SATURATIONTYPE; 628826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 629826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 6306eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6316eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Define for setting Lightness 632826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 633826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 634826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 635826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 636826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 6376eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nLightness : Values allowed for lightness -100 to 100, zero means no 638826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * change 639826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 640826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_LIGHTNESSTYPE { 641826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 642826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 643826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 644826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nLightness; 645826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_LIGHTNESSTYPE; 646826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 647826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 6486eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6496eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Plane blend configuration 650826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 651826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 6526eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 653826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 654826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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. 657826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * This number defaults to the Port Index number. 6586eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nAlpha : Transparency blending component for the entire plane. 659826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * See blending modes for more detail. 660826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 661826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_PLANEBLENDTYPE { 662826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 663826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 664826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 665826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nDepth; 666826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nAlpha; 667826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_PLANEBLENDTYPE; 668826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 669826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 6706eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 671826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Define interlace type 672826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 673826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 6746eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 6756eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 676826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 6776eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * bEnable : Enable control variable for this functionality 678826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * (see below) 6796eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nInterleavePortIndex : Index of input or output port associated with 6806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * the interleaved plane. 681826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * pPlanarPortIndexes[4] : Index of input or output planar ports. 682826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 683826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_PARAM_INTERLEAVETYPE { 684826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 685826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 686826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 687826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bEnable; 688826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nInterleavePortIndex; 689826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_PARAM_INTERLEAVETYPE; 690826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 691826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 6926eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6936eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines the picture effect used for an input picture 694826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 695826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_TRANSITIONEFFECTTYPE { 696826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectNone, 697826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectFadeFromBlack, 698826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectFadeToBlack, 699826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectUnspecifiedThroughConstantColor, 700826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectDissolve, 701826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectWipe, 702826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectUnspecifiedMixOfTwoScenes, 7036eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_EffectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 704826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 705826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectMax = 0x7FFFFFFF 706826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_TRANSITIONEFFECTTYPE; 707826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 708826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 7096eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure used to configure current transition effect 711826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 712826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 713826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 7146eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 715826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 716826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * eEffect : Effect to enable 717826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 718826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE { 719826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 720826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 721826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 722826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_TRANSITIONEFFECTTYPE eEffect; 723826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_TRANSITIONEFFECTTYPE; 724826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 725826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 7266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7276eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines possible data unit types for encoded video data. The data unit 728826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * types are used both for encoded video input for playback as well as 7296eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * encoded video output from recording. 730826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 731826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_DATAUNITTYPE { 732826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitCodedPicture, 733826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitVideoSegment, 734826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitSeveralSegments, 735826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitArbitraryStreamSection, 7366eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_DataUnitKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 737826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 738826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitMax = 0x7FFFFFFF 739826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DATAUNITTYPE; 740826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 741826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 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. 746826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 747826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_DATAUNITENCAPSULATIONTYPE { 748826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataEncapsulationElementaryStream, 749826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataEncapsulationGenericPayload, 750826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataEncapsulationRtpPayload, 7516eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_DataEncapsulationKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 752826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataEncapsulationVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 753826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataEncapsulationMax = 0x7FFFFFFF 754826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DATAUNITENCAPSULATIONTYPE; 755826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 756826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 7576eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7586eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure used to configure the type of being decoded/encoded 759826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 760826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_PARAM_DATAUNITTYPE { 761826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; /**< Size of the structure in bytes */ 7626eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 763826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; /**< Port that this structure applies to */ 764826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DATAUNITTYPE eUnitType; 765826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType; 766826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_PARAM_DATAUNITTYPE; 767826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 768826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 769826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** 7706eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines dither types 771826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 772826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_DITHERTYPE { 773826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherNone, 774826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherOrdered, 775826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherErrorDiffusion, 776826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherOther, 7776eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_DitherKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 778826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 779826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherMax = 0x7FFFFFFF 780826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DITHERTYPE; 781826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 782826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 7836eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7846eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure used to configure current type of dithering 785826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 786826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_DITHERTYPE { 787826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; /**< Size of the structure in bytes */ 7886eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 789826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; /**< Port that this structure applies to */ 790826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DITHERTYPE eDither; /**< Type of dithering to use */ 791826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_DITHERTYPE; 792826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 793826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_CAPTUREMODETYPE { 794826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 795826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 796826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; /**< Port that this structure applies to */ 7976eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_BOOL bContinuous; /**< If true then ignore frame rate and emit capture 798826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 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 803826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * to reaching the limit. */ 804826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nFrameLimit; /**< Limit on number of frames emitted during a capture (only 805826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * valid if bFrameLimited is set). */ 806826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_CAPTUREMODETYPE; 807826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 808826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_METERINGTYPE { 8096eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal 810826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MeteringModeAverage, /**< Center-weighted average metering. */ 811826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MeteringModeSpot, /**< Spot (partial) metering. */ 812826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MeteringModeMatrix, /**< Matrix or evaluative metering. */ 8136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal 8146eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MeteringKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 815826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MeteringVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 816826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EVModeMax = 0x7fffffff 817826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_METERINGTYPE; 8186eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal 819826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_EXPOSUREVALUETYPE { 820826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 821826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 822826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 823826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_METERINGTYPE eMetering; 824826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 xEVCompensation; /**< Fixed point value stored as Q16 */ 825826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */ 826826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 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 */ 829826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */ 830826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bAutoSensitivity; /**< Whether sensitivity is defined automatically */ 831826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_EXPOSUREVALUETYPE; 832826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 8336eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 8346eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Focus region configuration 835826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 836826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 837826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 838826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 839826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 840826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bCenter : Use center region as focus region of interest 841826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bLeft : Use left region as focus region of interest 842826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bRight : Use right region as focus region of interest 843826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTop : Use top region as focus region of interest 844826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottom : Use bottom region as focus region of interest 845826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTopLeft : Use top left region as focus region of interest 846826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTopRight : Use top right region as focus region of interest 847826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottomLeft : Use bottom left region as focus region of interest 848826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottomRight : Use bottom right region as focus region of interest 849826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 850826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_FOCUSREGIONTYPE { 851826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 852826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 853826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 854826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bCenter; 855826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bLeft; 856826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bRight; 857826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTop; 858826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottom; 859826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTopLeft; 860826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTopRight; 861826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottomLeft; 862826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottomRight; 863826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_FOCUSREGIONTYPE; 864826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 8656eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 8666eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Focus Status type 867826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 868826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_FOCUSSTATUSTYPE { 869826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusOff = 0, 870826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusRequest, 871826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusReached, 872826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusUnableToReach, 873826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusLost, 8746eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_FocusStatusKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 875826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 876826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusMax = 0x7FFFFFFF 877826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_FOCUSSTATUSTYPE; 878826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 8796eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 8806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Focus status configuration 881826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 882826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 883826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 884826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 885826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 886826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * eFocusStatus : Specifies the focus status 887826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bCenterStatus : Use center region as focus region of interest 888826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bLeftStatus : Use left region as focus region of interest 889826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bRightStatus : Use right region as focus region of interest 890826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTopStatus : Use top region as focus region of interest 891826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottomStatus : Use bottom region as focus region of interest 892826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTopLeftStatus : Use top left region as focus region of interest 893826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTopRightStatus : Use top right region as focus region of interest 894826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottomLeftStatus : Use bottom left region as focus region of interest 895826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottomRightStatus : Use bottom right region as focus region of interest 896826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 897826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_PARAM_FOCUSSTATUSTYPE { 898826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 899826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 900826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 901826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FOCUSSTATUSTYPE eFocusStatus; 902826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bCenterStatus; 903826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bLeftStatus; 904826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bRightStatus; 905826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTopStatus; 906826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottomStatus; 907826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTopLeftStatus; 908826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTopRightStatus; 909826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottomLeftStatus; 910826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottomRightStatus; 911826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_PARAM_FOCUSSTATUSTYPE; 912826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 913826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** @} */ 914826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 915826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#ifdef __cplusplus 916826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} 917826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif /* __cplusplus */ 918826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 919826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif 920826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/* File EOF */ 921