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 */ 1355aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan /**<Reserved android opaque colorformat. Tells the encoder that 1365aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan * the actual colorformat will be relayed by the 1375aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan * Gralloc Buffers. 1385aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan * FIXME: In the process of reserving some enum values for 1395aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan * Android-specific OMX IL colorformats. Change this enum to 1405aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan * an acceptable range once that is done. 1415aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan * */ 1425aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan OMX_COLOR_FormatAndroidOpaque = 0x7F000789, 1435aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan OMX_TI_COLOR_FormatYUV420PackedSemiPlanar = 0x7F000100, 1445aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan OMX_QCOM_COLOR_FormatYVU420SemiPlanar = 0x7FA30C00, 1455aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka = 0x7FA30C03, 1465aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan OMX_SEC_COLOR_FormatNV12Tiled = 0x7FC00002, 1475aa03230fef7a43a61e1ac5f19a2c5a71e5d6df7Praveen Chavan OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m = 0x7FA30C04, 148826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLOR_FormatMax = 0x7FFFFFFF 149826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_COLOR_FORMATTYPE; 150826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 151826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 1526eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 153826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Defines the matrix for conversion from RGB to YUV or vice versa. 1546eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * iColorMatrix should be initialized with the fixed point values 155826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * used in converting between formats. 156826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 157826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_COLORCONVERSIONTYPE { 158826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; /**< Size of the structure in bytes */ 1596eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 160826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; /**< Port that this struct applies to */ 161826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */ 162826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 xColorOffset[4]; /**< Stored in signed Q16 format */ 163826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}OMX_CONFIG_COLORCONVERSIONTYPE; 164826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 165826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 1666eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 1676eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure defining percent to scale each frame dimension. For example: 168826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * To make the width 50% larger, use fWidth = 1.5 and to make the width 169826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 1/2 the original size, use fWidth = 0.5 170826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 171826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_SCALEFACTORTYPE { 172826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; /**< Size of the structure in bytes */ 1736eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 174826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; /**< Port that this struct applies to */ 175826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 xWidth; /**< Fixed point value stored as Q16 */ 176826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 xHeight; /**< Fixed point value stored as Q16 */ 177826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}OMX_CONFIG_SCALEFACTORTYPE; 178826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 179826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 1806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 1816eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Enumeration of possible image filter types 182826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 183826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_IMAGEFILTERTYPE { 184826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterNone, 185826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterNoise, 186826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterEmboss, 187826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterNegative, 188826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterSketch, 189826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterOilPaint, 190826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterHatch, 191826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterGpen, 1926eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ImageFilterAntialias, 1936eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ImageFilterDeRing, 194826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterSolarize, 1956eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ImageFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 196826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 197826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ImageFilterMax = 0x7FFFFFFF 198826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_IMAGEFILTERTYPE; 199826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 200826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 2016eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2026eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Image filter configuration 203826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 204826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 2056eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 206826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 2076eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 2086eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eImageFilter : Image filter type enumeration 209826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 210826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_IMAGEFILTERTYPE { 211826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 212826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 213826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 214826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_IMAGEFILTERTYPE eImageFilter; 215826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_IMAGEFILTERTYPE; 216826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 217826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 2186eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2196eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Customized U and V for color enhancement 220826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 221826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 222826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 2236eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 224826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 225826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bColorEnhancement : Enable/disable color enhancement 2266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nCustomizedU : Practical values: 16-240, range: 0-255, value set for 227826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * U component 2286eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nCustomizedV : Practical values: 16-240, range: 0-255, value set for 229826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * V component 230826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 231826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_COLORENHANCEMENTTYPE { 232826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 2336eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; 234826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 235826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bColorEnhancement; 236826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U8 nCustomizedU; 237826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U8 nCustomizedV; 238826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_COLORENHANCEMENTTYPE; 239826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 240826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 2416eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Define color key and color key mask 243826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 244826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 245826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 2466eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 247826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 248826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nARGBColor : 32bit Alpha, Red, Green, Blue Color 249826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nARGBMask : 32bit Mask for Alpha, Red, Green, Blue channels 250826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 251826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_COLORKEYTYPE { 252826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 253826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 254826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 255826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nARGBColor; 256826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nARGBMask; 257826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_COLORKEYTYPE; 258826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 259826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 2606eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2616eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * List of color blend types for pre/post processing 262826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 263826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * ENUMS: 264826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * None : No color blending present 2656eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * AlphaConstant : Function is (alpha_constant * src) + 266826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * (1 - alpha_constant) * dst) 267826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * AlphaPerPixel : Function is (alpha * src) + (1 - alpha) * dst) 268826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Alternate : Function is alternating pixels from src and dst 269826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * And : Function is (src & dst) 270826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Or : Function is (src | dst) 271826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Invert : Function is ~src 272826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 273826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_COLORBLENDTYPE { 274826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendNone, 275826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendAlphaConstant, 276826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendAlphaPerPixel, 277826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendAlternate, 278826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendAnd, 279826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendOr, 280826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendInvert, 2816eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ColorBlendKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 282826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 283826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ColorBlendMax = 0x7FFFFFFF 284826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_COLORBLENDTYPE; 285826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 286826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 2876eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 2886eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Color blend configuration 289826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 290826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 2916eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 2926eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 2936eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 294826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nRGBAlphaConstant : Constant global alpha values when global alpha is used 2956eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eColorBlend : Color blend type enumeration 296826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 297826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_COLORBLENDTYPE { 298826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 299826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 300826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 301826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nRGBAlphaConstant; 302826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_COLORBLENDTYPE eColorBlend; 303826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_COLORBLENDTYPE; 304826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 305826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 3066eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 307826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Hold frame dimension 308826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 309826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 3106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 311826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 3126eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 3136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nWidth : Frame width in pixels 3146eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nHeight : Frame height in pixels 315826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 316826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_FRAMESIZETYPE { 317826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 318826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 319826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 320826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nWidth; 321826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nHeight; 322826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_FRAMESIZETYPE; 323826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 324826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 325826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** 3266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Rotation configuration 327826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 328826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 3296eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 330826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 331826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 3326eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nRotation : +/- integer rotation value 333826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 334826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_ROTATIONTYPE { 335826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 336826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 337826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 3386eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_S32 nRotation; 339826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_ROTATIONTYPE; 340826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 341826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 3426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3436eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Possible mirroring directions for pre/post processing 344826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 345826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * ENUMS: 3466eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * None : No mirroring 3476eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Vertical : Vertical mirroring, flip on X axis 3486eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Horizontal : Horizontal mirroring, flip on Y axis 349826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Both : Both vertical and horizontal mirroring 350826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 351826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_MIRRORTYPE { 352826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MirrorNone = 0, 353826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MirrorVertical, 354826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MirrorHorizontal, 3556eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MirrorBoth, 3566eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MirrorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 357826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MirrorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 3586eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MirrorMax = 0x7FFFFFFF 359826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_MIRRORTYPE; 360826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 361826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 3626eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3636eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Mirroring configuration 364826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 365826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 3666eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 367826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 3686eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 3696eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eMirror : Mirror type enumeration 370826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 371826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_MIRRORTYPE { 372826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 3736eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; 374826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 375826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MIRRORTYPE eMirror; 376826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_MIRRORTYPE; 377826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 378826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 3796eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Position information only 381826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 382826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 3836eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 384826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 385826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 3866eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nX : X coordinate for the point 3876eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nY : Y coordinate for the point 3886eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal */ 389826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_POINTTYPE { 390826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 391826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 392826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 393826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nX; 394826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nY; 395826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_POINTTYPE; 396826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 397826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 3986eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 3996eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Frame size plus position 400826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 401826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 4026eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 4036eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 4046eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 405826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nLeft : X Coordinate of the top left corner of the rectangle 406826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nTop : Y Coordinate of the top left corner of the rectangle 4076eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nWidth : Width of the rectangle 4086eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nHeight : Height of the rectangle 409826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 410826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_RECTTYPE { 411826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 4126eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; 4136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_U32 nPortIndex; 4146eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_S32 nLeft; 415826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nTop; 416826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nWidth; 417826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nHeight; 418826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_RECTTYPE; 419826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 420826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 4216eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4226eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Deblocking state; it is required to be set up before starting the codec 423826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 424826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 4256eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 4266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 427826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 4286eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * bDeblocking : Enable/disable deblocking mode 429826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 430826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_PARAM_DEBLOCKINGTYPE { 431826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 432826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 433826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 434826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bDeblocking; 435826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_PARAM_DEBLOCKINGTYPE; 436826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 437826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 4386eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4396eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Stabilization state 440826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 441826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 4426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 4436eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 4446eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 445826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bStab : Enable/disable frame stabilization state 446826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 447826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_FRAMESTABTYPE { 448826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 449826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 450826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 451826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bStab; 452826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_FRAMESTABTYPE; 453826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 454826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 4556eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4566eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * White Balance control type 457826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 458826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 459826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * SunLight : Referenced in JSR-234 460826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Flash : Optimal for device's integrated flash 461826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 462826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_WHITEBALCONTROLTYPE { 463826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlOff = 0, 464826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlAuto, 465826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlSunLight, 466826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlCloudy, 467826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlShade, 468826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlTungsten, 469826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlFluorescent, 470826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlIncandescent, 471826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlFlash, 472826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlHorizon, 4736eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_WhiteBalControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 474826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 475826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WhiteBalControlMax = 0x7FFFFFFF 476826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_WHITEBALCONTROLTYPE; 477826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 478826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 4796eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4806eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * White Balance control configuration 481826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 482826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 4836eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 484826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 4856eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 4866eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eWhiteBalControl : White balance enumeration 487826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 488826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_WHITEBALCONTROLTYPE { 489826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 490826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 491826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 492826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_WHITEBALCONTROLTYPE eWhiteBalControl; 493826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_WHITEBALCONTROLTYPE; 494826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 495826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 4966eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 4976eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Exposure control type 498826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 499826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_EXPOSURECONTROLTYPE { 500826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlOff = 0, 501826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlAuto, 502826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlNight, 503826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlBackLight, 504826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlSpotLight, 505826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlSports, 506826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlSnow, 507826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlBeach, 508826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlLargeAperture, 509826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlSmallApperture, 5106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_ExposureControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 511826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 512826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_ExposureControlMax = 0x7FFFFFFF 513826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_EXPOSURECONTROLTYPE; 514826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 515826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5166eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5176eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * White Balance control configuration 518826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 519826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 5206eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 521826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 5226eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 5236eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * eExposureControl : Exposure control enumeration 524826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 525826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_EXPOSURECONTROLTYPE { 526826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 527826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 528826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 529826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EXPOSURECONTROLTYPE eExposureControl; 530826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_EXPOSURECONTROLTYPE; 531826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 532826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5336eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5346eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines sensor supported mode. 535826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 536826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 5376eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 538826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 5396eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 5406eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nFrameRate : Single shot mode is indicated by a 0 541826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bOneShot : Enable for single shot, disable for streaming 5426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * sFrameSize : Framesize 543826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 544826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_PARAM_SENSORMODETYPE { 545826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 546826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 547826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 548826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nFrameRate; 549826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bOneShot; 550826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FRAMESIZETYPE sFrameSize; 551826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_PARAM_SENSORMODETYPE; 552826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 553826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5546eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5556eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines contrast level 556826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 557826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 5586eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 5596eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 5606eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 561826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nContrast : Values allowed for contrast -100 to 100, zero means no change 562826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 563826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_CONTRASTTYPE { 564826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 565826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 566826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 567826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nContrast; 568826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_CONTRASTTYPE; 569826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 570826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5716eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5726eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines brightness level 573826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 574826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 5756eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 5766eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 5776eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nPortIndex : Port that this structure applies to 5786eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nBrightness : 0-100% 579826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 580826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_BRIGHTNESSTYPE { 581826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 582826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 583826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 584826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nBrightness; 585826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_BRIGHTNESSTYPE; 586826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 587826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 5886eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 5896eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines backlight level configuration for a video sink, e.g. LCD panel 590826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 591826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 592826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 5936eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 594826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 595826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nBacklight : Values allowed for backlight 0-100% 5966eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nTimeout : Number of milliseconds before backlight automatically turns 5976eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * off. A value of 0x0 disables backight timeout 598826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 599826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_BACKLIGHTTYPE { 600826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 601826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 602826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 603826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nBacklight; 604826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nTimeout; 605826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_BACKLIGHTTYPE; 606826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 607826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 6086eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6096eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines setting for Gamma 610826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 611826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 612826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 6136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 614826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 615826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nGamma : Values allowed for gamma -100 to 100, zero means no change 616826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 617826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_GAMMATYPE { 618826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 619826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 620826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 621826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nGamma; 622826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_GAMMATYPE; 623826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 624826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 6256eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Define for setting saturation 6276eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * 628826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 629826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 630826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 631826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 6326eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSaturation : Values allowed for saturation -100 to 100, zero means 633826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * no change 634826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 635826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_SATURATIONTYPE { 636826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 637826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 638826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 639826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nSaturation; 640826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_SATURATIONTYPE; 641826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 642826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 6436eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6446eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Define for setting Lightness 645826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 646826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 647826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 648826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 649826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 6506eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nLightness : Values allowed for lightness -100 to 100, zero means no 651826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * change 652826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 653826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_LIGHTNESSTYPE { 654826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 655826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 656826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 657826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 nLightness; 658826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_LIGHTNESSTYPE; 659826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 660826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 6616eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 6626eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Plane blend configuration 663826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 664826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 6656eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 666826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 667826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Index of input port associated with the plane. 6686eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nDepth : Depth of the plane in relation to the screen. Higher 6696eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * numbered depths are "behind" lower number depths. 670826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * This number defaults to the Port Index number. 6716eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nAlpha : Transparency blending component for the entire plane. 672826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * See blending modes for more detail. 673826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 674826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_PLANEBLENDTYPE { 675826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 676826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 677826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 678826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nDepth; 679826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nAlpha; 680826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_PLANEBLENDTYPE; 681826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 682826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 6836eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 684826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Define interlace type 685826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 686826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 6876eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nSize : Size of the structure in bytes 6886eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 689826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 6906eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * bEnable : Enable control variable for this functionality 691826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * (see below) 6926eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nInterleavePortIndex : Index of input or output port associated with 6936eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * the interleaved plane. 694826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * pPlanarPortIndexes[4] : Index of input or output planar ports. 695826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 696826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_PARAM_INTERLEAVETYPE { 697826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 698826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 699826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 700826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bEnable; 701826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nInterleavePortIndex; 702826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_PARAM_INTERLEAVETYPE; 703826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 704826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 7056eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7066eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines the picture effect used for an input picture 707826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 708826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_TRANSITIONEFFECTTYPE { 709826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectNone, 710826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectFadeFromBlack, 711826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectFadeToBlack, 712826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectUnspecifiedThroughConstantColor, 713826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectDissolve, 714826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectWipe, 715826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectUnspecifiedMixOfTwoScenes, 7166eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_EffectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 717826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 718826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EffectMax = 0x7FFFFFFF 719826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_TRANSITIONEFFECTTYPE; 720826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 721826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 7226eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7236eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure used to configure current transition effect 724826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 725826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 726826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 7276eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * nVersion : OMX specification version information 728826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 729826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * eEffect : Effect to enable 730826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 731826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE { 732826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 733826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 734826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 735826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_TRANSITIONEFFECTTYPE eEffect; 736826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_TRANSITIONEFFECTTYPE; 737826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 738826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 7396eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7406eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines possible data unit types for encoded video data. The data unit 741826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * types are used both for encoded video input for playback as well as 7426eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * encoded video output from recording. 743826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 744826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_DATAUNITTYPE { 745826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitCodedPicture, 746826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitVideoSegment, 747826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitSeveralSegments, 748826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitArbitraryStreamSection, 7496eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_DataUnitKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 750826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 751826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataUnitMax = 0x7FFFFFFF 752826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DATAUNITTYPE; 753826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 754826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 7556eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7566eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines possible encapsulation types for coded video data unit. The 7576eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * encapsulation information is used both for encoded video input for 7586eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * playback as well as encoded video output from recording. 759826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 760826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_DATAUNITENCAPSULATIONTYPE { 761826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataEncapsulationElementaryStream, 762826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataEncapsulationGenericPayload, 763826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataEncapsulationRtpPayload, 7646eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_DataEncapsulationKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 765826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataEncapsulationVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 766826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DataEncapsulationMax = 0x7FFFFFFF 767826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DATAUNITENCAPSULATIONTYPE; 768826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 769826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 7706eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7716eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure used to configure the type of being decoded/encoded 772826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 773826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_PARAM_DATAUNITTYPE { 774826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; /**< Size of the structure in bytes */ 7756eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 776826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; /**< Port that this structure applies to */ 777826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DATAUNITTYPE eUnitType; 778826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType; 779826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_PARAM_DATAUNITTYPE; 780826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 781826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 782826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** 7836eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Defines dither types 784826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 785826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_DITHERTYPE { 786826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherNone, 787826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherOrdered, 788826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherErrorDiffusion, 789826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherOther, 7906eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_DitherKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 791826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 792826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DitherMax = 0x7FFFFFFF 793826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_DITHERTYPE; 794826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 795826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 7966eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 7976eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Structure used to configure current type of dithering 798826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 799826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_DITHERTYPE { 800826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; /**< Size of the structure in bytes */ 8016eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 802826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; /**< Port that this structure applies to */ 803826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_DITHERTYPE eDither; /**< Type of dithering to use */ 804826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_DITHERTYPE; 805826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 806826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_CAPTUREMODETYPE { 807826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 808826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 809826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; /**< Port that this structure applies to */ 8106eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_BOOL bContinuous; /**< If true then ignore frame rate and emit capture 811826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * data as fast as possible (otherwise obey port's frame rate). */ 8126eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_BOOL bFrameLimited; /**< If true then terminate capture after the port emits the 8136eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * specified number of frames (otherwise the port does not 8146eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * terminate the capture until instructed to do so by the client). 8156eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Even if set, the client may manually terminate the capture prior 816826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * to reaching the limit. */ 817826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nFrameLimit; /**< Limit on number of frames emitted during a capture (only 818826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * valid if bFrameLimited is set). */ 819826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_CAPTUREMODETYPE; 820826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 821826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_METERINGTYPE { 8226eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal 823826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MeteringModeAverage, /**< Center-weighted average metering. */ 824826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MeteringModeSpot, /**< Spot (partial) metering. */ 825826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MeteringModeMatrix, /**< Matrix or evaluative metering. */ 8266eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal 8276eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_MeteringKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 828826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_MeteringVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 829826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_EVModeMax = 0x7fffffff 830826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_METERINGTYPE; 8316eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal 832826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_EXPOSUREVALUETYPE { 833826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 834826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 835826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 836826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_METERINGTYPE eMetering; 837826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_S32 xEVCompensation; /**< Fixed point value stored as Q16 */ 838826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */ 839826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bAutoAperture; /**< Whether aperture number is defined automatically */ 8406eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_U32 nShutterSpeedMsec; /**< Shutterspeed in milliseconds */ 8416eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_BOOL bAutoShutterSpeed; /**< Whether shutter speed is defined automatically */ 842826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */ 843826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bAutoSensitivity; /**< Whether sensitivity is defined automatically */ 844826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_EXPOSUREVALUETYPE; 845826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 8466eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 8476eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Focus region configuration 848826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 849826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 850826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 851826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 852826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 853826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bCenter : Use center region as focus region of interest 854826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bLeft : Use left region as focus region of interest 855826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bRight : Use right region as focus region of interest 856826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTop : Use top region as focus region of interest 857826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottom : Use bottom region as focus region of interest 858826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTopLeft : Use top left region as focus region of interest 859826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTopRight : Use top right region as focus region of interest 860826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottomLeft : Use bottom left region as focus region of interest 861826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottomRight : Use bottom right region as focus region of interest 862826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 863826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_CONFIG_FOCUSREGIONTYPE { 864826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 865826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 866826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 867826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bCenter; 868826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bLeft; 869826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bRight; 870826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTop; 871826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottom; 872826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTopLeft; 873826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTopRight; 874826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottomLeft; 875826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottomRight; 876826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_CONFIG_FOCUSREGIONTYPE; 877826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 8786eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 8796eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Focus Status type 880826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 881826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum OMX_FOCUSSTATUSTYPE { 882826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusOff = 0, 883826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusRequest, 884826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusReached, 885826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusUnableToReach, 886826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusLost, 8876eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal OMX_FocusStatusKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 888826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 889826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FocusStatusMax = 0x7FFFFFFF 890826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_FOCUSSTATUSTYPE; 891826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 8926eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal/** 8936eec4d1ea65df853450a6e158718981cba900bf6Shashank Mittal * Focus status configuration 894826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * 895826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * STRUCT MEMBERS: 896826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nSize : Size of the structure in bytes 897826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nVersion : OMX specification version information 898826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * nPortIndex : Port that this structure applies to 899826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * eFocusStatus : Specifies the focus status 900826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bCenterStatus : Use center region as focus region of interest 901826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bLeftStatus : Use left region as focus region of interest 902826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bRightStatus : Use right region as focus region of interest 903826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTopStatus : Use top region as focus region of interest 904826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottomStatus : Use bottom region as focus region of interest 905826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTopLeftStatus : Use top left region as focus region of interest 906826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bTopRightStatus : Use top right region as focus region of interest 907826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottomLeftStatus : Use bottom left region as focus region of interest 908826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * bBottomRightStatus : Use bottom right region as focus region of interest 909826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */ 910826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct OMX_PARAM_FOCUSSTATUSTYPE { 911826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nSize; 912826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_VERSIONTYPE nVersion; 913826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_U32 nPortIndex; 914826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_FOCUSSTATUSTYPE eFocusStatus; 915826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bCenterStatus; 916826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bLeftStatus; 917826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bRightStatus; 918826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTopStatus; 919826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottomStatus; 920826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTopLeftStatus; 921826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bTopRightStatus; 922826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottomLeftStatus; 923826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev OMX_BOOL bBottomRightStatus; 924826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} OMX_PARAM_FOCUSSTATUSTYPE; 925826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 926826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** @} */ 927826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 928826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#ifdef __cplusplus 929826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} 930826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif /* __cplusplus */ 931826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev 932826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif 933826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/* File EOF */ 934