1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (c) 2008 The Khronos Group Inc. 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Permission is hereby granted, free of charge, to any person obtaining 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * a copy of this software and associated documentation files (the 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * "Software"), to deal in the Software without restriction, including 7d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmera * without limitation the rights to use, copy, modify, merge, publish, 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distribute, sublicense, and/or sell copies of the Software, and to 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * permit persons to whom the Software is furnished to do so, subject 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * to the following conditions: 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The above copyright notice and this permission notice shall be included 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * in all copies or substantial portions of the Software. 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @file OMX_IVCommon.h - OpenMax IL version 1.1.2 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The structures needed by Video and Image components to exchange 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * parameters and configuration data with the components. 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project#ifndef OMX_IVCommon_h 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project#define OMX_IVCommon_h 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 32229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom#ifdef __cplusplus 33d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmeraextern "C" { 34d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmera#endif /* __cplusplus */ 35d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmera 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Each OMX header must include all required header files to allow the header 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * to compile without errors. The includes below are required for this header 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * file to compile successfully 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project#include <OMX_Core.h> 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** @defgroup iv OpenMAX IL Imaging and Video Domain 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Common structures for OpenMAX IL Imaging and Video domains 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @{ 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 48f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Enumeration defining possible uncompressed image/video formats. 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ENUMS: 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unused : Placeholder value when format is N/A 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Monochrome : black and white 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 8bitRGB332 : Red 7:5, Green 4:2, Blue 1:0 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 12bitRGB444 : Red 11:8, Green 7:4, Blue 3:0 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 16bitARGB4444 : Alpha 15:12, Red 11:8, Green 7:4, Blue 3:0 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 16bitARGB1555 : Alpha 15, Red 14:10, Green 9:5, Blue 4:0 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 16bitRGB565 : Red 15:11, Green 10:5, Blue 4:0 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 16bitBGR565 : Blue 15:11, Green 10:5, Red 4:0 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 18bitRGB666 : Red 17:12, Green 11:6, Blue 5:0 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 18bitARGB1665 : Alpha 17, Red 16:11, Green 10:5, Blue 4:0 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 19bitARGB1666 : Alpha 18, Red 17:12, Green 11:6, Blue 5:0 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 24bitRGB888 : Red 24:16, Green 15:8, Blue 7:0 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 24bitBGR888 : Blue 24:16, Green 15:8, Red 7:0 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 24bitARGB1887 : Alpha 23, Red 22:15, Green 14:7, Blue 6:0 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 25bitARGB1888 : Alpha 24, Red 23:16, Green 15:8, Blue 7:0 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 32bitBGRA8888 : Blue 31:24, Green 23:16, Red 15:8, Alpha 7:0 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 32bitARGB8888 : Alpha 31:24, Red 23:16, Green 15:8, Blue 7:0 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YUV411Planar : U,Y are subsampled by a factor of 4 horizontally 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YUV411PackedPlanar : packed per payload in planar slices 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YUV420Planar : Three arrays Y,U,V. 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YUV420PackedPlanar : packed per payload in planar slices 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YUV420SemiPlanar : Two arrays, one is all Y, the other is U and V 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YUV422Planar : Three arrays Y,U,V. 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YUV422PackedPlanar : packed per payload in planar slices 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YUV422SemiPlanar : Two arrays, one is all Y, the other is U and V 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YCbYCr : Organized as 16bit YUYV (i.e. YCbYCr) 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YCrYCb : Organized as 16bit YVYU (i.e. YCrYCb) 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * CbYCrY : Organized as 16bit UYVY (i.e. CbYCrY) 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * CrYCbY : Organized as 16bit VYUY (i.e. CrYCbY) 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * YUV444Interleaved : Each pixel contains equal parts YUV 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * RawBayer8bit : SMIA camera output format 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * RawBayer10bit : SMIA camera output format 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * RawBayer8bitcompressed : SMIA camera output format 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef enum OMX_COLOR_FORMATTYPE { 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatUnused, 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatMonochrome, 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format8bitRGB332, 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format12bitRGB444, 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format16bitARGB4444, 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format16bitARGB1555, 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format16bitRGB565, 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format16bitBGR565, 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format18bitRGB666, 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format18bitARGB1665, 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format19bitARGB1666, 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format24bitRGB888, 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format24bitBGR888, 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format24bitARGB1887, 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format25bitARGB1888, 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format32bitBGRA8888, 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format32bitARGB8888, 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV411Planar, 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV411PackedPlanar, 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV420Planar, 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV420PackedPlanar, 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV420SemiPlanar, 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV422Planar, 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV422PackedPlanar, 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV422SemiPlanar, 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYCbYCr, 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYCrYCb, 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatCbYCrY, 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatCrYCbY, 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV444Interleaved, 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatRawBayer8bit, 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatRawBayer10bit, 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatRawBayer8bitcompressed, 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatL2, 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatL4, 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatL8, 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatL16, 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatL24, 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatL32, 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV420PackedSemiPlanar, 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatYUV422PackedSemiPlanar, 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format18BitBGR666, 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format24BitARGB6666, 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_Format24BitABGR6666, 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /**<Reserved android opaque colorformat. Tells the encoder that 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the actual colorformat will be relayed by the 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gralloc Buffers. 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * FIXME: In the process of reserving some enum values for 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Android-specific OMX IL colorformats. Change this enum to 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * an acceptable range once that is done. 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * */ 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatAndroidOpaque = 0x7F000789, 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_TI_COLOR_FormatYUV420PackedSemiPlanar = 0x7F000100, 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_QCOM_COLOR_FormatYVU420SemiPlanar = 0x7FA30C00, 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka = 0x7FA30C03, 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_SEC_COLOR_FormatNV12Tiled = 0x7FC00002, 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m = 0x7FA30C04, 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLOR_FormatMax = 0x7FFFFFFF 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_COLOR_FORMATTYPE; 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Defines the matrix for conversion from RGB to YUV or vice versa. 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * iColorMatrix should be initialized with the fixed point values 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * used in converting between formats. 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_COLORCONVERSIONTYPE { 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; /**< Size of the structure in bytes */ 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; /**< Port that this struct applies to */ 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */ 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_S32 xColorOffset[4]; /**< Stored in signed Q16 format */ 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}OMX_CONFIG_COLORCONVERSIONTYPE; 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Structure defining percent to scale each frame dimension. For example: 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * To make the width 50% larger, use fWidth = 1.5 and to make the width 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 1/2 the original size, use fWidth = 0.5 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_SCALEFACTORTYPE { 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; /**< Size of the structure in bytes */ 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; /**< Port that this struct applies to */ 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_S32 xWidth; /**< Fixed point value stored as Q16 */ 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_S32 xHeight; /**< Fixed point value stored as Q16 */ 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}OMX_CONFIG_SCALEFACTORTYPE; 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Enumeration of possible image filter types 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef enum OMX_IMAGEFILTERTYPE { 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterNone, 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterNoise, 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterEmboss, 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterNegative, 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterSketch, 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterOilPaint, 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterHatch, 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterGpen, 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterAntialias, 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterDeRing, 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterSolarize, 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ImageFilterMax = 0x7FFFFFFF 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_IMAGEFILTERTYPE; 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Image filter configuration 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * eImageFilter : Image filter type enumeration 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_IMAGEFILTERTYPE { 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_IMAGEFILTERTYPE eImageFilter; 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_IMAGEFILTERTYPE; 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Customized U and V for color enhancement 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * bColorEnhancement : Enable/disable color enhancement 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nCustomizedU : Practical values: 16-240, range: 0-255, value set for 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * U component 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nCustomizedV : Practical values: 16-240, range: 0-255, value set for 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * V component 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_COLORENHANCEMENTTYPE { 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_BOOL bColorEnhancement; 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U8 nCustomizedU; 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U8 nCustomizedV; 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_COLORENHANCEMENTTYPE; 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Define color key and color key mask 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nARGBColor : 32bit Alpha, Red, Green, Blue Color 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nARGBMask : 32bit Mask for Alpha, Red, Green, Blue channels 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_COLORKEYTYPE { 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nARGBColor; 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nARGBMask; 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_COLORKEYTYPE; 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * List of color blend types for pre/post processing 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ENUMS: 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * None : No color blending present 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * AlphaConstant : Function is (alpha_constant * src) + 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (1 - alpha_constant) * dst) 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * AlphaPerPixel : Function is (alpha * src) + (1 - alpha) * dst) 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Alternate : Function is alternating pixels from src and dst 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * And : Function is (src & dst) 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Or : Function is (src | dst) 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Invert : Function is ~src 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef enum OMX_COLORBLENDTYPE { 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ColorBlendNone, 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ColorBlendAlphaConstant, 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ColorBlendAlphaPerPixel, 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ColorBlendAlternate, 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ColorBlendAnd, 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ColorBlendOr, 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ColorBlendInvert, 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ColorBlendKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ColorBlendVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ColorBlendMax = 0x7FFFFFFF 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_COLORBLENDTYPE; 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Color blend configuration 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nRGBAlphaConstant : Constant global alpha values when global alpha is used 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * eColorBlend : Color blend type enumeration 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_COLORBLENDTYPE { 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nRGBAlphaConstant; 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_COLORBLENDTYPE eColorBlend; 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_COLORBLENDTYPE; 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 307f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * Hold frame dimension 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nWidth : Frame width in pixels 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nHeight : Frame height in pixels 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_FRAMESIZETYPE { 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nWidth; 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nHeight; 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_FRAMESIZETYPE; 323f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Rotation configuration 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nRotation : +/- integer rotation value 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_ROTATIONTYPE { 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_S32 nRotation; 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_ROTATIONTYPE; 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Possible mirroring directions for pre/post processing 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ENUMS: 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * None : No mirroring 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Vertical : Vertical mirroring, flip on X axis 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Horizontal : Horizontal mirroring, flip on Y axis 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Both : Both vertical and horizontal mirroring 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef enum OMX_MIRRORTYPE { 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_MirrorNone = 0, 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_MirrorVertical, 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_MirrorHorizontal, 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_MirrorBoth, 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_MirrorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_MirrorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_MirrorMax = 0x7FFFFFFF 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_MIRRORTYPE; 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Mirroring configuration 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * eMirror : Mirror type enumeration 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_MIRRORTYPE { 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_MIRRORTYPE eMirror; 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_MIRRORTYPE; 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Position information only 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nX : X coordinate for the point 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nY : Y coordinate for the point 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_POINTTYPE { 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_S32 nX; 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_S32 nY; 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_POINTTYPE; 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Frame size plus position 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nLeft : X Coordinate of the top left corner of the rectangle 406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nTop : Y Coordinate of the top left corner of the rectangle 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nWidth : Width of the rectangle 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nHeight : Height of the rectangle 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_RECTTYPE { 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_S32 nLeft; 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_S32 nTop; 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nWidth; 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nHeight; 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_RECTTYPE; 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Deblocking state; it is required to be set up before starting the codec 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 425f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * nSize : Size of the structure in bytes 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * bDeblocking : Enable/disable deblocking mode 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_PARAM_DEBLOCKINGTYPE { 431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_BOOL bDeblocking; 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_PARAM_DEBLOCKINGTYPE; 436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 437adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 438f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes/** 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Stabilization state 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 442f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * nSize : Size of the structure in bytes 443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 445adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * bStab : Enable/disable frame stabilization state 446adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_FRAMESTABTYPE { 448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 449adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 450adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 451adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_BOOL bStab; 452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_FRAMESTABTYPE; 453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * White Balance control type 457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * SunLight : Referenced in JSR-234 460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Flash : Optimal for device's integrated flash 461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef enum OMX_WHITEBALCONTROLTYPE { 463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlOff = 0, 464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlAuto, 465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlSunLight, 466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlCloudy, 467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlShade, 468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlTungsten, 469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlFluorescent, 470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlIncandescent, 471adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlFlash, 472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlHorizon, 473adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 474adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WhiteBalControlMax = 0x7FFFFFFF 476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_WHITEBALCONTROLTYPE; 477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 478adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 479adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 480adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * White Balance control configuration 481adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 483adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 485adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 486adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * eWhiteBalControl : White balance enumeration 487adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 488adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_WHITEBALCONTROLTYPE { 489adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 491adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 492adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_WHITEBALCONTROLTYPE eWhiteBalControl; 493adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_WHITEBALCONTROLTYPE; 494adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 495adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 496adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 497adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Exposure control type 498adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 499adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef enum OMX_EXPOSURECONTROLTYPE { 500adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlOff = 0, 501adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlAuto, 502adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlNight, 503adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlBackLight, 504adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlSpotLight, 505adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlSports, 506adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlSnow, 507adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlBeach, 508adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlLargeAperture, 509adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlSmallApperture, 510adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 511adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 512adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_ExposureControlMax = 0x7FFFFFFF 513adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_EXPOSURECONTROLTYPE; 514adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 515adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 516adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 517adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * White Balance control configuration 518adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 519adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 520adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 521adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 522adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 523adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * eExposureControl : Exposure control enumeration 524adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 525adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_EXPOSURECONTROLTYPE { 526adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 527adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 528adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 529adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_EXPOSURECONTROLTYPE eExposureControl; 530adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_EXPOSURECONTROLTYPE; 531adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 532adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 533adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 534adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Defines sensor supported mode. 535adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 536adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 537adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 538adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 539adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 540adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nFrameRate : Single shot mode is indicated by a 0 541adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * bOneShot : Enable for single shot, disable for streaming 542adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * sFrameSize : Framesize 543adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 544adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_PARAM_SENSORMODETYPE { 545adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 546adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 547adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 548adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nFrameRate; 549adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_BOOL bOneShot; 550adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_FRAMESIZETYPE sFrameSize; 551adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_PARAM_SENSORMODETYPE; 552adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 553adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 554adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 555adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Defines contrast level 556adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 557adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 558adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 559adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 560adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 561d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmera * nContrast : Values allowed for contrast -100 to 100, zero means no change 562d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmera */ 563d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmeratypedef struct OMX_CONFIG_CONTRASTTYPE { 564d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmera OMX_U32 nSize; 565d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmera OMX_VERSIONTYPE nVersion; 566d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmera OMX_U32 nPortIndex; 567d0dadcd8a41800e5d708829e27be057192f9d134Shubham Ajmera OMX_S32 nContrast; 568adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_CONTRASTTYPE; 569adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 570adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 571adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 572adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Defines brightness level 573adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 574adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 575adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 576adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 577adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 578adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nBrightness : 0-100% 579adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 580adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_BRIGHTNESSTYPE { 581adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 582adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 583adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 584adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nBrightness; 585adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_BRIGHTNESSTYPE; 586adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 587adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 588adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 589adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Defines backlight level configuration for a video sink, e.g. LCD panel 590adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 591adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 592adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 593adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 594adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 595adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nBacklight : Values allowed for backlight 0-100% 596adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nTimeout : Number of milliseconds before backlight automatically turns 597adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * off. A value of 0x0 disables backight timeout 598adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 599adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_BACKLIGHTTYPE { 600adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 601adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 602adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 603adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nBacklight; 604adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nTimeout; 605adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_BACKLIGHTTYPE; 606adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 607adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 608adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 609adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Defines setting for Gamma 610adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 611adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 612adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 613adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 614adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 615adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nGamma : Values allowed for gamma -100 to 100, zero means no change 616adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 617adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_GAMMATYPE { 618adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 619adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 620adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nPortIndex; 621adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_S32 nGamma; 622adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} OMX_CONFIG_GAMMATYPE; 623adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 624adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 625adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 626adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Define for setting saturation 627adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 628adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * STRUCT MEMBERS: 629adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSize : Size of the structure in bytes 630adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nVersion : OMX specification version information 631adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nPortIndex : Port that this structure applies to 632adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nSaturation : Values allowed for saturation -100 to 100, zero means 633adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * no change 634adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 635adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecttypedef struct OMX_CONFIG_SATURATIONTYPE { 636adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_U32 nSize; 637adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project OMX_VERSIONTYPE nVersion; 638 OMX_U32 nPortIndex; 639 OMX_S32 nSaturation; 640} OMX_CONFIG_SATURATIONTYPE; 641 642 643/** 644 * Define for setting Lightness 645 * 646 * STRUCT MEMBERS: 647 * nSize : Size of the structure in bytes 648 * nVersion : OMX specification version information 649 * nPortIndex : Port that this structure applies to 650 * nLightness : Values allowed for lightness -100 to 100, zero means no 651 * change 652 */ 653typedef struct OMX_CONFIG_LIGHTNESSTYPE { 654 OMX_U32 nSize; 655 OMX_VERSIONTYPE nVersion; 656 OMX_U32 nPortIndex; 657 OMX_S32 nLightness; 658} OMX_CONFIG_LIGHTNESSTYPE; 659 660 661/** 662 * Plane blend configuration 663 * 664 * STRUCT MEMBERS: 665 * nSize : Size of the structure in bytes 666 * nVersion : OMX specification version information 667 * nPortIndex : Index of input port associated with the plane. 668 * nDepth : Depth of the plane in relation to the screen. Higher 669 * numbered depths are "behind" lower number depths. 670 * This number defaults to the Port Index number. 671 * nAlpha : Transparency blending component for the entire plane. 672 * See blending modes for more detail. 673 */ 674typedef struct OMX_CONFIG_PLANEBLENDTYPE { 675 OMX_U32 nSize; 676 OMX_VERSIONTYPE nVersion; 677 OMX_U32 nPortIndex; 678 OMX_U32 nDepth; 679 OMX_U32 nAlpha; 680} OMX_CONFIG_PLANEBLENDTYPE; 681 682 683/** 684 * Define interlace type 685 * 686 * STRUCT MEMBERS: 687 * nSize : Size of the structure in bytes 688 * nVersion : OMX specification version information 689 * nPortIndex : Port that this structure applies to 690 * bEnable : Enable control variable for this functionality 691 * (see below) 692 * nInterleavePortIndex : Index of input or output port associated with 693 * the interleaved plane. 694 * pPlanarPortIndexes[4] : Index of input or output planar ports. 695 */ 696typedef struct OMX_PARAM_INTERLEAVETYPE { 697 OMX_U32 nSize; 698 OMX_VERSIONTYPE nVersion; 699 OMX_U32 nPortIndex; 700 OMX_BOOL bEnable; 701 OMX_U32 nInterleavePortIndex; 702} OMX_PARAM_INTERLEAVETYPE; 703 704 705/** 706 * Defines the picture effect used for an input picture 707 */ 708typedef enum OMX_TRANSITIONEFFECTTYPE { 709 OMX_EffectNone, 710 OMX_EffectFadeFromBlack, 711 OMX_EffectFadeToBlack, 712 OMX_EffectUnspecifiedThroughConstantColor, 713 OMX_EffectDissolve, 714 OMX_EffectWipe, 715 OMX_EffectUnspecifiedMixOfTwoScenes, 716 OMX_EffectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 717 OMX_EffectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 718 OMX_EffectMax = 0x7FFFFFFF 719} OMX_TRANSITIONEFFECTTYPE; 720 721 722/** 723 * Structure used to configure current transition effect 724 * 725 * STRUCT MEMBERS: 726 * nSize : Size of the structure in bytes 727 * nVersion : OMX specification version information 728 * nPortIndex : Port that this structure applies to 729 * eEffect : Effect to enable 730 */ 731typedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE { 732 OMX_U32 nSize; 733 OMX_VERSIONTYPE nVersion; 734 OMX_U32 nPortIndex; 735 OMX_TRANSITIONEFFECTTYPE eEffect; 736} OMX_CONFIG_TRANSITIONEFFECTTYPE; 737 738 739/** 740 * Defines possible data unit types for encoded video data. The data unit 741 * types are used both for encoded video input for playback as well as 742 * encoded video output from recording. 743 */ 744typedef enum OMX_DATAUNITTYPE { 745 OMX_DataUnitCodedPicture, 746 OMX_DataUnitVideoSegment, 747 OMX_DataUnitSeveralSegments, 748 OMX_DataUnitArbitraryStreamSection, 749 OMX_DataUnitKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 750 OMX_DataUnitVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 751 OMX_DataUnitMax = 0x7FFFFFFF 752} OMX_DATAUNITTYPE; 753 754 755/** 756 * Defines possible encapsulation types for coded video data unit. The 757 * encapsulation information is used both for encoded video input for 758 * playback as well as encoded video output from recording. 759 */ 760typedef enum OMX_DATAUNITENCAPSULATIONTYPE { 761 OMX_DataEncapsulationElementaryStream, 762 OMX_DataEncapsulationGenericPayload, 763 OMX_DataEncapsulationRtpPayload, 764 OMX_DataEncapsulationKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 765 OMX_DataEncapsulationVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 766 OMX_DataEncapsulationMax = 0x7FFFFFFF 767} OMX_DATAUNITENCAPSULATIONTYPE; 768 769 770/** 771 * Structure used to configure the type of being decoded/encoded 772 */ 773typedef struct OMX_PARAM_DATAUNITTYPE { 774 OMX_U32 nSize; /**< Size of the structure in bytes */ 775 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 776 OMX_U32 nPortIndex; /**< Port that this structure applies to */ 777 OMX_DATAUNITTYPE eUnitType; 778 OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType; 779} OMX_PARAM_DATAUNITTYPE; 780 781 782/** 783 * Defines dither types 784 */ 785typedef enum OMX_DITHERTYPE { 786 OMX_DitherNone, 787 OMX_DitherOrdered, 788 OMX_DitherErrorDiffusion, 789 OMX_DitherOther, 790 OMX_DitherKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 791 OMX_DitherVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 792 OMX_DitherMax = 0x7FFFFFFF 793} OMX_DITHERTYPE; 794 795 796/** 797 * Structure used to configure current type of dithering 798 */ 799typedef struct OMX_CONFIG_DITHERTYPE { 800 OMX_U32 nSize; /**< Size of the structure in bytes */ 801 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 802 OMX_U32 nPortIndex; /**< Port that this structure applies to */ 803 OMX_DITHERTYPE eDither; /**< Type of dithering to use */ 804} OMX_CONFIG_DITHERTYPE; 805 806typedef struct OMX_CONFIG_CAPTUREMODETYPE { 807 OMX_U32 nSize; 808 OMX_VERSIONTYPE nVersion; 809 OMX_U32 nPortIndex; /**< Port that this structure applies to */ 810 OMX_BOOL bContinuous; /**< If true then ignore frame rate and emit capture 811 * data as fast as possible (otherwise obey port's frame rate). */ 812 OMX_BOOL bFrameLimited; /**< If true then terminate capture after the port emits the 813 * specified number of frames (otherwise the port does not 814 * terminate the capture until instructed to do so by the client). 815 * Even if set, the client may manually terminate the capture prior 816 * to reaching the limit. */ 817 OMX_U32 nFrameLimit; /**< Limit on number of frames emitted during a capture (only 818 * valid if bFrameLimited is set). */ 819} OMX_CONFIG_CAPTUREMODETYPE; 820 821typedef enum OMX_METERINGTYPE { 822 823 OMX_MeteringModeAverage, /**< Center-weighted average metering. */ 824 OMX_MeteringModeSpot, /**< Spot (partial) metering. */ 825 OMX_MeteringModeMatrix, /**< Matrix or evaluative metering. */ 826 827 OMX_MeteringKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 828 OMX_MeteringVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 829 OMX_EVModeMax = 0x7fffffff 830} OMX_METERINGTYPE; 831 832typedef struct OMX_CONFIG_EXPOSUREVALUETYPE { 833 OMX_U32 nSize; 834 OMX_VERSIONTYPE nVersion; 835 OMX_U32 nPortIndex; 836 OMX_METERINGTYPE eMetering; 837 OMX_S32 xEVCompensation; /**< Fixed point value stored as Q16 */ 838 OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */ 839 OMX_BOOL bAutoAperture; /**< Whether aperture number is defined automatically */ 840 OMX_U32 nShutterSpeedMsec; /**< Shutterspeed in milliseconds */ 841 OMX_BOOL bAutoShutterSpeed; /**< Whether shutter speed is defined automatically */ 842 OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */ 843 OMX_BOOL bAutoSensitivity; /**< Whether sensitivity is defined automatically */ 844} OMX_CONFIG_EXPOSUREVALUETYPE; 845 846/** 847 * Focus region configuration 848 * 849 * STRUCT MEMBERS: 850 * nSize : Size of the structure in bytes 851 * nVersion : OMX specification version information 852 * nPortIndex : Port that this structure applies to 853 * bCenter : Use center region as focus region of interest 854 * bLeft : Use left region as focus region of interest 855 * bRight : Use right region as focus region of interest 856 * bTop : Use top region as focus region of interest 857 * bBottom : Use bottom region as focus region of interest 858 * bTopLeft : Use top left region as focus region of interest 859 * bTopRight : Use top right region as focus region of interest 860 * bBottomLeft : Use bottom left region as focus region of interest 861 * bBottomRight : Use bottom right region as focus region of interest 862 */ 863typedef struct OMX_CONFIG_FOCUSREGIONTYPE { 864 OMX_U32 nSize; 865 OMX_VERSIONTYPE nVersion; 866 OMX_U32 nPortIndex; 867 OMX_BOOL bCenter; 868 OMX_BOOL bLeft; 869 OMX_BOOL bRight; 870 OMX_BOOL bTop; 871 OMX_BOOL bBottom; 872 OMX_BOOL bTopLeft; 873 OMX_BOOL bTopRight; 874 OMX_BOOL bBottomLeft; 875 OMX_BOOL bBottomRight; 876} OMX_CONFIG_FOCUSREGIONTYPE; 877 878/** 879 * Focus Status type 880 */ 881typedef enum OMX_FOCUSSTATUSTYPE { 882 OMX_FocusStatusOff = 0, 883 OMX_FocusStatusRequest, 884 OMX_FocusStatusReached, 885 OMX_FocusStatusUnableToReach, 886 OMX_FocusStatusLost, 887 OMX_FocusStatusKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 888 OMX_FocusStatusVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 889 OMX_FocusStatusMax = 0x7FFFFFFF 890} OMX_FOCUSSTATUSTYPE; 891 892/** 893 * Focus status configuration 894 * 895 * STRUCT MEMBERS: 896 * nSize : Size of the structure in bytes 897 * nVersion : OMX specification version information 898 * nPortIndex : Port that this structure applies to 899 * eFocusStatus : Specifies the focus status 900 * bCenterStatus : Use center region as focus region of interest 901 * bLeftStatus : Use left region as focus region of interest 902 * bRightStatus : Use right region as focus region of interest 903 * bTopStatus : Use top region as focus region of interest 904 * bBottomStatus : Use bottom region as focus region of interest 905 * bTopLeftStatus : Use top left region as focus region of interest 906 * bTopRightStatus : Use top right region as focus region of interest 907 * bBottomLeftStatus : Use bottom left region as focus region of interest 908 * bBottomRightStatus : Use bottom right region as focus region of interest 909 */ 910typedef struct OMX_PARAM_FOCUSSTATUSTYPE { 911 OMX_U32 nSize; 912 OMX_VERSIONTYPE nVersion; 913 OMX_U32 nPortIndex; 914 OMX_FOCUSSTATUSTYPE eFocusStatus; 915 OMX_BOOL bCenterStatus; 916 OMX_BOOL bLeftStatus; 917 OMX_BOOL bRightStatus; 918 OMX_BOOL bTopStatus; 919 OMX_BOOL bBottomStatus; 920 OMX_BOOL bTopLeftStatus; 921 OMX_BOOL bTopRightStatus; 922 OMX_BOOL bBottomLeftStatus; 923 OMX_BOOL bBottomRightStatus; 924} OMX_PARAM_FOCUSSTATUSTYPE; 925 926/** @} */ 927 928#ifdef __cplusplus 929} 930#endif /* __cplusplus */ 931 932#endif 933/* File EOF */ 934