1334de520b0369215b7931fefa424fb92d295f0ebJames Dong/* ------------------------------------------------------------------
2334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Copyright (C) 1998-2009 PacketVideo
3334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
4334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Licensed under the Apache License, Version 2.0 (the "License");
5334de520b0369215b7931fefa424fb92d295f0ebJames Dong * you may not use this file except in compliance with the License.
6334de520b0369215b7931fefa424fb92d295f0ebJames Dong * You may obtain a copy of the License at
7334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
8334de520b0369215b7931fefa424fb92d295f0ebJames Dong *      http://www.apache.org/licenses/LICENSE-2.0
9334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
10334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Unless required by applicable law or agreed to in writing, software
11334de520b0369215b7931fefa424fb92d295f0ebJames Dong * distributed under the License is distributed on an "AS IS" BASIS,
12334de520b0369215b7931fefa424fb92d295f0ebJames Dong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13334de520b0369215b7931fefa424fb92d295f0ebJames Dong * express or implied.
14334de520b0369215b7931fefa424fb92d295f0ebJames Dong * See the License for the specific language governing permissions
15334de520b0369215b7931fefa424fb92d295f0ebJames Dong * and limitations under the License.
16334de520b0369215b7931fefa424fb92d295f0ebJames Dong * -------------------------------------------------------------------
17334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
18334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
19334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Copyright (c) 2008 The Khronos Group Inc.
20334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
21334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Permission is hereby granted, free of charge, to any person obtaining
22334de520b0369215b7931fefa424fb92d295f0ebJames Dong * a copy of this software and associated documentation files (the
23334de520b0369215b7931fefa424fb92d295f0ebJames Dong * "Software"), to deal in the Software without restriction, including
24334de520b0369215b7931fefa424fb92d295f0ebJames Dong * without limitation the rights to use, copy, modify, merge, publish,
25334de520b0369215b7931fefa424fb92d295f0ebJames Dong * distribute, sublicense, and/or sell copies of the Software, and to
26334de520b0369215b7931fefa424fb92d295f0ebJames Dong * permit persons to whom the Software is furnished to do so, subject
27334de520b0369215b7931fefa424fb92d295f0ebJames Dong * to the following conditions:
28334de520b0369215b7931fefa424fb92d295f0ebJames Dong * The above copyright notice and this permission notice shall be included
29334de520b0369215b7931fefa424fb92d295f0ebJames Dong * in all copies or substantial portions of the Software.
30334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
31334de520b0369215b7931fefa424fb92d295f0ebJames Dong * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
32334de520b0369215b7931fefa424fb92d295f0ebJames Dong * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
33334de520b0369215b7931fefa424fb92d295f0ebJames Dong * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
34334de520b0369215b7931fefa424fb92d295f0ebJames Dong * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
35334de520b0369215b7931fefa424fb92d295f0ebJames Dong * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
36334de520b0369215b7931fefa424fb92d295f0ebJames Dong * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
37334de520b0369215b7931fefa424fb92d295f0ebJames Dong * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
39334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
40334de520b0369215b7931fefa424fb92d295f0ebJames Dong
41334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
42334de520b0369215b7931fefa424fb92d295f0ebJames Dong * @file OMX_IVCommon.h - OpenMax IL version 1.1.2
43334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  The structures needed by Video and Image components to exchange
44334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  parameters and configuration data with the components.
45334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
46334de520b0369215b7931fefa424fb92d295f0ebJames Dong#ifndef OMX_IVCommon_h
47334de520b0369215b7931fefa424fb92d295f0ebJames Dong#define OMX_IVCommon_h
48334de520b0369215b7931fefa424fb92d295f0ebJames Dong
49334de520b0369215b7931fefa424fb92d295f0ebJames Dong#ifdef __cplusplus
50334de520b0369215b7931fefa424fb92d295f0ebJames Dongextern "C" {
51334de520b0369215b7931fefa424fb92d295f0ebJames Dong#endif /* __cplusplus */
52334de520b0369215b7931fefa424fb92d295f0ebJames Dong
53334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
54334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Each OMX header must include all required header files to allow the header
55334de520b0369215b7931fefa424fb92d295f0ebJames Dong * to compile without errors.  The includes below are required for this header
56334de520b0369215b7931fefa424fb92d295f0ebJames Dong * file to compile successfully
57334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
58334de520b0369215b7931fefa424fb92d295f0ebJames Dong
59334de520b0369215b7931fefa424fb92d295f0ebJames Dong#include <OMX_Core.h>
60334de520b0369215b7931fefa424fb92d295f0ebJames Dong
61334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** @defgroup iv OpenMAX IL Imaging and Video Domain
62334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Common structures for OpenMAX IL Imaging and Video domains
63334de520b0369215b7931fefa424fb92d295f0ebJames Dong * @{
64334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
65334de520b0369215b7931fefa424fb92d295f0ebJames Dong
66334de520b0369215b7931fefa424fb92d295f0ebJames Dong
67334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
68334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Enumeration defining possible uncompressed image/video formats.
69334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
70334de520b0369215b7931fefa424fb92d295f0ebJames Dong * ENUMS:
71334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  Unused                 : Placeholder value when format is N/A
72334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  Monochrome             : black and white
73334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  8bitRGB332             : Red 7:5, Green 4:2, Blue 1:0
74334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  12bitRGB444            : Red 11:8, Green 7:4, Blue 3:0
75334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  16bitARGB4444          : Alpha 15:12, Red 11:8, Green 7:4, Blue 3:0
76334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  16bitARGB1555          : Alpha 15, Red 14:10, Green 9:5, Blue 4:0
77334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  16bitRGB565            : Red 15:11, Green 10:5, Blue 4:0
78334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  16bitBGR565            : Blue 15:11, Green 10:5, Red 4:0
79334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  18bitRGB666            : Red 17:12, Green 11:6, Blue 5:0
80334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  18bitARGB1665          : Alpha 17, Red 16:11, Green 10:5, Blue 4:0
81334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  19bitARGB1666          : Alpha 18, Red 17:12, Green 11:6, Blue 5:0
82334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  24bitRGB888            : Red 24:16, Green 15:8, Blue 7:0
83334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  24bitBGR888            : Blue 24:16, Green 15:8, Red 7:0
84334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  24bitARGB1887          : Alpha 23, Red 22:15, Green 14:7, Blue 6:0
85334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  25bitARGB1888          : Alpha 24, Red 23:16, Green 15:8, Blue 7:0
86334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  32bitBGRA8888          : Blue 31:24, Green 23:16, Red 15:8, Alpha 7:0
87334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  32bitARGB8888          : Alpha 31:24, Red 23:16, Green 15:8, Blue 7:0
88334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YUV411Planar           : U,Y are subsampled by a factor of 4 horizontally
89334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YUV411PackedPlanar     : packed per payload in planar slices
90334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YUV420Planar           : Three arrays Y,U,V.
91334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YUV420PackedPlanar     : packed per payload in planar slices
92334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YUV420SemiPlanar       : Two arrays, one is all Y, the other is U and V
93334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YUV422Planar           : Three arrays Y,U,V.
94334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YUV422PackedPlanar     : packed per payload in planar slices
95334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YUV422SemiPlanar       : Two arrays, one is all Y, the other is U and V
96334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YCbYCr                 : Organized as 16bit YUYV (i.e. YCbYCr)
97334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YCrYCb                 : Organized as 16bit YVYU (i.e. YCrYCb)
98334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  CbYCrY                 : Organized as 16bit UYVY (i.e. CbYCrY)
99334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  CrYCbY                 : Organized as 16bit VYUY (i.e. CrYCbY)
100334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  YUV444Interleaved      : Each pixel contains equal parts YUV
101334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  RawBayer8bit           : SMIA camera output format
102334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  RawBayer10bit          : SMIA camera output format
103334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  RawBayer8bitcompressed : SMIA camera output format
104334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
105334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_COLOR_FORMATTYPE {
106334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatUnused,
107334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatMonochrome,
108334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format8bitRGB332,
109334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format12bitRGB444,
110334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format16bitARGB4444,
111334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format16bitARGB1555,
112334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format16bitRGB565,
113334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format16bitBGR565,
114334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format18bitRGB666,
115334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format18bitARGB1665,
116334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format19bitARGB1666,
117334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format24bitRGB888,
118334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format24bitBGR888,
119334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format24bitARGB1887,
120334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format25bitARGB1888,
121334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format32bitBGRA8888,
122334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format32bitARGB8888,
123334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV411Planar,
124334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV411PackedPlanar,
125334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV420Planar,
126334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV420PackedPlanar,
127334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV420SemiPlanar,
128334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV422Planar,
129334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV422PackedPlanar,
130334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV422SemiPlanar,
131334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYCbYCr,
132334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYCrYCb,
133334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatCbYCrY,
134334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatCrYCbY,
135334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV444Interleaved,
136334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatRawBayer8bit,
137334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatRawBayer10bit,
138334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatRawBayer8bitcompressed,
139334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatL2,
140334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatL4,
141334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatL8,
142334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatL16,
143334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatL24,
144334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatL32,
145334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV420PackedSemiPlanar,
146334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatYUV422PackedSemiPlanar,
147334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format18BitBGR666,
148334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format24BitARGB6666,
149334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_Format24BitABGR6666,
150334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
151334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
152334de520b0369215b7931fefa424fb92d295f0ebJames Dong    /**<Reserved android opaque colorformat. Tells the encoder that
153334de520b0369215b7931fefa424fb92d295f0ebJames Dong     * the actual colorformat will be  relayed by the
154334de520b0369215b7931fefa424fb92d295f0ebJames Dong     * Gralloc Buffers.
155334de520b0369215b7931fefa424fb92d295f0ebJames Dong     * FIXME: In the process of reserving some enum values for
156334de520b0369215b7931fefa424fb92d295f0ebJames Dong     * Android-specific OMX IL colorformats. Change this enum to
157334de520b0369215b7931fefa424fb92d295f0ebJames Dong     * an acceptable range once that is done.
158334de520b0369215b7931fefa424fb92d295f0ebJames Dong     * */
159334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatAndroidOpaque = 0x7F000789,
16001cb166a53808b4c896923756244a7ed3348a972David Smith    OMX_COLOR_Format32BitRGBA8888 = 0x7F00A000,
161524077caa6a5e5508af40cf2012d45087ed9e7f3Lajos Molnar    /** Flexible 8-bit YUV format.  Codec should report this format
162524077caa6a5e5508af40cf2012d45087ed9e7f3Lajos Molnar     *  as being supported if it supports any YUV420 packed planar
163524077caa6a5e5508af40cf2012d45087ed9e7f3Lajos Molnar     *  or semiplanar formats.  When port is set to use this format,
164524077caa6a5e5508af40cf2012d45087ed9e7f3Lajos Molnar     *  codec can substitute any YUV420 packed planar or semiplanar
165524077caa6a5e5508af40cf2012d45087ed9e7f3Lajos Molnar     *  format for it. */
166524077caa6a5e5508af40cf2012d45087ed9e7f3Lajos Molnar    OMX_COLOR_FormatYUV420Flexible = 0x7F420888,
167524077caa6a5e5508af40cf2012d45087ed9e7f3Lajos Molnar
168334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_TI_COLOR_FormatYUV420PackedSemiPlanar = 0x7F000100,
169334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_QCOM_COLOR_FormatYVU420SemiPlanar = 0x7FA30C00,
17007912f50930cf8cea2bc5f8f94e014c31af583b6Haynes Mathew George    OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka = 0x7FA30C03,
17162b40b35358910315be9ea44520ad6403d0023f6Marco Nelissen    OMX_SEC_COLOR_FormatNV12Tiled = 0x7FC00002,
1721bc7e2f6dd78499f8ad469c54e200edb654acc67Rom Lemarchand    OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m = 0x7FA30C04,
173334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLOR_FormatMax = 0x7FFFFFFF
174334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_COLOR_FORMATTYPE;
175334de520b0369215b7931fefa424fb92d295f0ebJames Dong
176334de520b0369215b7931fefa424fb92d295f0ebJames Dong
177334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
178334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines the matrix for conversion from RGB to YUV or vice versa.
179334de520b0369215b7931fefa424fb92d295f0ebJames Dong * iColorMatrix should be initialized with the fixed point values
180334de520b0369215b7931fefa424fb92d295f0ebJames Dong * used in converting between formats.
181334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
182334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_COLORCONVERSIONTYPE {
183334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;              /**< Size of the structure in bytes */
184334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;   /**< OMX specification version info */
185334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;         /**< Port that this struct applies to */
186334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */
187334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 xColorOffset[4];    /**< Stored in signed Q16 format */
188334de520b0369215b7931fefa424fb92d295f0ebJames Dong}OMX_CONFIG_COLORCONVERSIONTYPE;
189334de520b0369215b7931fefa424fb92d295f0ebJames Dong
190334de520b0369215b7931fefa424fb92d295f0ebJames Dong
191334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
192334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structure defining percent to scale each frame dimension.  For example:
193334de520b0369215b7931fefa424fb92d295f0ebJames Dong * To make the width 50% larger, use fWidth = 1.5 and to make the width
194334de520b0369215b7931fefa424fb92d295f0ebJames Dong * 1/2 the original size, use fWidth = 0.5
195334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
196334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_SCALEFACTORTYPE {
197334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;            /**< Size of the structure in bytes */
198334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion; /**< OMX specification version info */
199334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;       /**< Port that this struct applies to */
200334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 xWidth;           /**< Fixed point value stored as Q16 */
201334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 xHeight;          /**< Fixed point value stored as Q16 */
202334de520b0369215b7931fefa424fb92d295f0ebJames Dong}OMX_CONFIG_SCALEFACTORTYPE;
203334de520b0369215b7931fefa424fb92d295f0ebJames Dong
204334de520b0369215b7931fefa424fb92d295f0ebJames Dong
205334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
206334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Enumeration of possible image filter types
207334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
208334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_IMAGEFILTERTYPE {
209334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterNone,
210334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterNoise,
211334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterEmboss,
212334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterNegative,
213334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterSketch,
214334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterOilPaint,
215334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterHatch,
216334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterGpen,
217334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterAntialias,
218334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterDeRing,
219334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterSolarize,
220334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
221334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
222334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ImageFilterMax = 0x7FFFFFFF
223334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_IMAGEFILTERTYPE;
224334de520b0369215b7931fefa424fb92d295f0ebJames Dong
225334de520b0369215b7931fefa424fb92d295f0ebJames Dong
226334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
227334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Image filter configuration
228334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
229334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
230334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize        : Size of the structure in bytes
231334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion     : OMX specification version information
232334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex   : Port that this structure applies to
233334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  eImageFilter : Image filter type enumeration
234334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
235334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_IMAGEFILTERTYPE {
236334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
237334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
238334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
239334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_IMAGEFILTERTYPE eImageFilter;
240334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_IMAGEFILTERTYPE;
241334de520b0369215b7931fefa424fb92d295f0ebJames Dong
242334de520b0369215b7931fefa424fb92d295f0ebJames Dong
243334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
244334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Customized U and V for color enhancement
245334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
246334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
247334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize             : Size of the structure in bytes
248334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion          : OMX specification version information
249334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex        : Port that this structure applies to
250334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bColorEnhancement : Enable/disable color enhancement
251334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nCustomizedU      : Practical values: 16-240, range: 0-255, value set for
252334de520b0369215b7931fefa424fb92d295f0ebJames Dong *                      U component
253334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nCustomizedV      : Practical values: 16-240, range: 0-255, value set for
254334de520b0369215b7931fefa424fb92d295f0ebJames Dong *                      V component
255334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
256334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_COLORENHANCEMENTTYPE {
257334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
258334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
259334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
260334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bColorEnhancement;
261334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U8 nCustomizedU;
262334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U8 nCustomizedV;
263334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_COLORENHANCEMENTTYPE;
264334de520b0369215b7931fefa424fb92d295f0ebJames Dong
265334de520b0369215b7931fefa424fb92d295f0ebJames Dong
266334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
267334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Define color key and color key mask
268334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
269334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
270334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
271334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
272334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
273334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nARGBColor : 32bit Alpha, Red, Green, Blue Color
274334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nARGBMask  : 32bit Mask for Alpha, Red, Green, Blue channels
275334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
276334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_COLORKEYTYPE {
277334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
278334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
279334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
280334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nARGBColor;
281334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nARGBMask;
282334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_COLORKEYTYPE;
283334de520b0369215b7931fefa424fb92d295f0ebJames Dong
284334de520b0369215b7931fefa424fb92d295f0ebJames Dong
285334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
286334de520b0369215b7931fefa424fb92d295f0ebJames Dong * List of color blend types for pre/post processing
287334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
288334de520b0369215b7931fefa424fb92d295f0ebJames Dong * ENUMS:
289334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  None          : No color blending present
290334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  AlphaConstant : Function is (alpha_constant * src) +
291334de520b0369215b7931fefa424fb92d295f0ebJames Dong *                  (1 - alpha_constant) * dst)
292334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  AlphaPerPixel : Function is (alpha * src) + (1 - alpha) * dst)
293334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  Alternate     : Function is alternating pixels from src and dst
294334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  And           : Function is (src & dst)
295334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  Or            : Function is (src | dst)
296334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  Invert        : Function is ~src
297334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
298334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_COLORBLENDTYPE {
299334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ColorBlendNone,
300334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ColorBlendAlphaConstant,
301334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ColorBlendAlphaPerPixel,
302334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ColorBlendAlternate,
303334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ColorBlendAnd,
304334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ColorBlendOr,
305334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ColorBlendInvert,
306334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ColorBlendKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
307334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ColorBlendVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
308334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ColorBlendMax = 0x7FFFFFFF
309334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_COLORBLENDTYPE;
310334de520b0369215b7931fefa424fb92d295f0ebJames Dong
311334de520b0369215b7931fefa424fb92d295f0ebJames Dong
312334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
313334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Color blend configuration
314334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
315334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
316334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize             : Size of the structure in bytes
317334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion          : OMX specification version information
318334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex        : Port that this structure applies to
319334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nRGBAlphaConstant : Constant global alpha values when global alpha is used
320334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  eColorBlend       : Color blend type enumeration
321334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
322334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_COLORBLENDTYPE {
323334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
324334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
325334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
326334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nRGBAlphaConstant;
327334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_COLORBLENDTYPE  eColorBlend;
328334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_COLORBLENDTYPE;
329334de520b0369215b7931fefa424fb92d295f0ebJames Dong
330334de520b0369215b7931fefa424fb92d295f0ebJames Dong
331334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
332334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Hold frame dimension
333334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
334334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
335334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
336334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
337334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
338334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nWidth     : Frame width in pixels
339334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nHeight    : Frame height in pixels
340334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
341334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_FRAMESIZETYPE {
342334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
343334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
344334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
345334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nWidth;
346334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nHeight;
347334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_FRAMESIZETYPE;
348334de520b0369215b7931fefa424fb92d295f0ebJames Dong
349334de520b0369215b7931fefa424fb92d295f0ebJames Dong
350334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
351334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Rotation configuration
352334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
353334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
354334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
355334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
356334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
357334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nRotation  : +/- integer rotation value
358334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
359334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_ROTATIONTYPE {
360334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
361334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
362334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
363334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 nRotation;
364334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_ROTATIONTYPE;
365334de520b0369215b7931fefa424fb92d295f0ebJames Dong
366334de520b0369215b7931fefa424fb92d295f0ebJames Dong
367334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
368334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Possible mirroring directions for pre/post processing
369334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
370334de520b0369215b7931fefa424fb92d295f0ebJames Dong * ENUMS:
371334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  None       : No mirroring
372334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  Vertical   : Vertical mirroring, flip on X axis
373334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  Horizontal : Horizontal mirroring, flip on Y axis
374334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  Both       : Both vertical and horizontal mirroring
375334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
376334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_MIRRORTYPE {
377334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MirrorNone = 0,
378334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MirrorVertical,
379334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MirrorHorizontal,
380334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MirrorBoth,
381334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MirrorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
382334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MirrorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
383334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MirrorMax = 0x7FFFFFFF
384334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_MIRRORTYPE;
385334de520b0369215b7931fefa424fb92d295f0ebJames Dong
386334de520b0369215b7931fefa424fb92d295f0ebJames Dong
387334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
388334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Mirroring configuration
389334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
390334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
391334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
392334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
393334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
394334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  eMirror    : Mirror type enumeration
395334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
396334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_MIRRORTYPE {
397334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
398334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
399334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
400334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MIRRORTYPE  eMirror;
401334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_MIRRORTYPE;
402334de520b0369215b7931fefa424fb92d295f0ebJames Dong
403334de520b0369215b7931fefa424fb92d295f0ebJames Dong
404334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
405334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Position information only
406334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
407334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
408334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
409334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
410334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
411334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nX         : X coordinate for the point
412334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nY         : Y coordinate for the point
413334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
414334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_POINTTYPE {
415334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
416334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
417334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
418334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 nX;
419334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 nY;
420334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_POINTTYPE;
421334de520b0369215b7931fefa424fb92d295f0ebJames Dong
422334de520b0369215b7931fefa424fb92d295f0ebJames Dong
423334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
424334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Frame size plus position
425334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
426334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
427334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
428334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
429334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
430334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nLeft      : X Coordinate of the top left corner of the rectangle
431334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nTop       : Y Coordinate of the top left corner of the rectangle
432334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nWidth     : Width of the rectangle
433334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nHeight    : Height of the rectangle
434334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
435334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_RECTTYPE {
436334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
437334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
438334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
439334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 nLeft;
440334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 nTop;
441334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nWidth;
442334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nHeight;
443334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_RECTTYPE;
444334de520b0369215b7931fefa424fb92d295f0ebJames Dong
445334de520b0369215b7931fefa424fb92d295f0ebJames Dong
446334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
447334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Deblocking state; it is required to be set up before starting the codec
448334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
449334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
450334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize       : Size of the structure in bytes
451334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion    : OMX specification version information
452334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex  : Port that this structure applies to
453334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bDeblocking : Enable/disable deblocking mode
454334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
455334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_PARAM_DEBLOCKINGTYPE {
456334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
457334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
458334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
459334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bDeblocking;
460334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_PARAM_DEBLOCKINGTYPE;
461334de520b0369215b7931fefa424fb92d295f0ebJames Dong
462334de520b0369215b7931fefa424fb92d295f0ebJames Dong
463334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
464334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Stabilization state
465334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
466334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
467334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
468334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
469334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
470334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bStab      : Enable/disable frame stabilization state
471334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
472334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_FRAMESTABTYPE {
473334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
474334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
475334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
476334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bStab;
477334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_FRAMESTABTYPE;
478334de520b0369215b7931fefa424fb92d295f0ebJames Dong
479334de520b0369215b7931fefa424fb92d295f0ebJames Dong
480334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
481334de520b0369215b7931fefa424fb92d295f0ebJames Dong * White Balance control type
482334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
483334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
484334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  SunLight : Referenced in JSR-234
485334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  Flash    : Optimal for device's integrated flash
486334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
487334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_WHITEBALCONTROLTYPE {
488334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlOff = 0,
489334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlAuto,
490334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlSunLight,
491334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlCloudy,
492334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlShade,
493334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlTungsten,
494334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlFluorescent,
495334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlIncandescent,
496334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlFlash,
497334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlHorizon,
498334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
499334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
500334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WhiteBalControlMax = 0x7FFFFFFF
501334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_WHITEBALCONTROLTYPE;
502334de520b0369215b7931fefa424fb92d295f0ebJames Dong
503334de520b0369215b7931fefa424fb92d295f0ebJames Dong
504334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
505334de520b0369215b7931fefa424fb92d295f0ebJames Dong * White Balance control configuration
506334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
507334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
508334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize            : Size of the structure in bytes
509334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion         : OMX specification version information
510334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex       : Port that this structure applies to
511334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  eWhiteBalControl : White balance enumeration
512334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
513334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_WHITEBALCONTROLTYPE {
514334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
515334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
516334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
517334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_WHITEBALCONTROLTYPE eWhiteBalControl;
518334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_WHITEBALCONTROLTYPE;
519334de520b0369215b7931fefa424fb92d295f0ebJames Dong
520334de520b0369215b7931fefa424fb92d295f0ebJames Dong
521334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
522334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Exposure control type
523334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
524334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_EXPOSURECONTROLTYPE {
525334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlOff = 0,
526334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlAuto,
527334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlNight,
528334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlBackLight,
529334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlSpotLight,
530334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlSports,
531334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlSnow,
532334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlBeach,
533334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlLargeAperture,
534334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlSmallApperture,
535334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
536334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
537334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_ExposureControlMax = 0x7FFFFFFF
538334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_EXPOSURECONTROLTYPE;
539334de520b0369215b7931fefa424fb92d295f0ebJames Dong
540334de520b0369215b7931fefa424fb92d295f0ebJames Dong
541334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
542334de520b0369215b7931fefa424fb92d295f0ebJames Dong * White Balance control configuration
543334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
544334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
545334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize            : Size of the structure in bytes
546334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion         : OMX specification version information
547334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex       : Port that this structure applies to
548334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  eExposureControl : Exposure control enumeration
549334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
550334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_EXPOSURECONTROLTYPE {
551334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
552334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
553334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
554334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EXPOSURECONTROLTYPE eExposureControl;
555334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_EXPOSURECONTROLTYPE;
556334de520b0369215b7931fefa424fb92d295f0ebJames Dong
557334de520b0369215b7931fefa424fb92d295f0ebJames Dong
558334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
559334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines sensor supported mode.
560334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
561334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
562334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
563334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
564334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
565334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nFrameRate : Single shot mode is indicated by a 0
566334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bOneShot   : Enable for single shot, disable for streaming
567334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  sFrameSize : Framesize
568334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
569334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_PARAM_SENSORMODETYPE {
570334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
571334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
572334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
573334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nFrameRate;
574334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bOneShot;
575334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_FRAMESIZETYPE sFrameSize;
576334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_PARAM_SENSORMODETYPE;
577334de520b0369215b7931fefa424fb92d295f0ebJames Dong
578334de520b0369215b7931fefa424fb92d295f0ebJames Dong
579334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
580334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines contrast level
581334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
582334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
583334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
584334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
585334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
586334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nContrast  : Values allowed for contrast -100 to 100, zero means no change
587334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
588334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_CONTRASTTYPE {
589334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
590334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
591334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
592334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 nContrast;
593334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_CONTRASTTYPE;
594334de520b0369215b7931fefa424fb92d295f0ebJames Dong
595334de520b0369215b7931fefa424fb92d295f0ebJames Dong
596334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
597334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines brightness level
598334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
599334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
600334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize       : Size of the structure in bytes
601334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion    : OMX specification version information
602334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex  : Port that this structure applies to
603334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nBrightness : 0-100%
604334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
605334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_BRIGHTNESSTYPE {
606334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
607334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
608334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
609334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nBrightness;
610334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_BRIGHTNESSTYPE;
611334de520b0369215b7931fefa424fb92d295f0ebJames Dong
612334de520b0369215b7931fefa424fb92d295f0ebJames Dong
613334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
614334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines backlight level configuration for a video sink, e.g. LCD panel
615334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
616334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
617334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
618334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
619334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
620334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nBacklight : Values allowed for backlight 0-100%
621334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nTimeout   : Number of milliseconds before backlight automatically turns
622334de520b0369215b7931fefa424fb92d295f0ebJames Dong *               off.  A value of 0x0 disables backight timeout
623334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
624334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_BACKLIGHTTYPE {
625334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
626334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
627334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
628334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nBacklight;
629334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nTimeout;
630334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_BACKLIGHTTYPE;
631334de520b0369215b7931fefa424fb92d295f0ebJames Dong
632334de520b0369215b7931fefa424fb92d295f0ebJames Dong
633334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
634334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines setting for Gamma
635334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
636334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
637334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
638334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
639334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
640334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nGamma     : Values allowed for gamma -100 to 100, zero means no change
641334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
642334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_GAMMATYPE {
643334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
644334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
645334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
646334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 nGamma;
647334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_GAMMATYPE;
648334de520b0369215b7931fefa424fb92d295f0ebJames Dong
649334de520b0369215b7931fefa424fb92d295f0ebJames Dong
650334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
651334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Define for setting saturation
652334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
653334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
654334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize       : Size of the structure in bytes
655334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion    : OMX specification version information
656334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex  : Port that this structure applies to
657334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSaturation : Values allowed for saturation -100 to 100, zero means
658334de520b0369215b7931fefa424fb92d295f0ebJames Dong *                no change
659334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
660334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_SATURATIONTYPE {
661334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
662334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
663334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
664334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 nSaturation;
665334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_SATURATIONTYPE;
666334de520b0369215b7931fefa424fb92d295f0ebJames Dong
667334de520b0369215b7931fefa424fb92d295f0ebJames Dong
668334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
669334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Define for setting Lightness
670334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
671334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
672334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
673334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
674334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Port that this structure applies to
675334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nLightness : Values allowed for lightness -100 to 100, zero means no
676334de520b0369215b7931fefa424fb92d295f0ebJames Dong *               change
677334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
678334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_LIGHTNESSTYPE {
679334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
680334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
681334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
682334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 nLightness;
683334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_LIGHTNESSTYPE;
684334de520b0369215b7931fefa424fb92d295f0ebJames Dong
685334de520b0369215b7931fefa424fb92d295f0ebJames Dong
686334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
687334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Plane blend configuration
688334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
689334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
690334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize      : Size of the structure in bytes
691334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion   : OMX specification version information
692334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex : Index of input port associated with the plane.
693334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nDepth     : Depth of the plane in relation to the screen. Higher
694334de520b0369215b7931fefa424fb92d295f0ebJames Dong *               numbered depths are "behind" lower number depths.
695334de520b0369215b7931fefa424fb92d295f0ebJames Dong *               This number defaults to the Port Index number.
696334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nAlpha     : Transparency blending component for the entire plane.
697334de520b0369215b7931fefa424fb92d295f0ebJames Dong *               See blending modes for more detail.
698334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
699334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_PLANEBLENDTYPE {
700334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
701334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
702334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
703334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nDepth;
704334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nAlpha;
705334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_PLANEBLENDTYPE;
706334de520b0369215b7931fefa424fb92d295f0ebJames Dong
707334de520b0369215b7931fefa424fb92d295f0ebJames Dong
708334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
709334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Define interlace type
710334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
711334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
712334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize                 : Size of the structure in bytes
713334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion              : OMX specification version information
714334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex            : Port that this structure applies to
715334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bEnable               : Enable control variable for this functionality
716334de520b0369215b7931fefa424fb92d295f0ebJames Dong *                          (see below)
717334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nInterleavePortIndex  : Index of input or output port associated with
718334de520b0369215b7931fefa424fb92d295f0ebJames Dong *                          the interleaved plane.
719334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  pPlanarPortIndexes[4] : Index of input or output planar ports.
720334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
721334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_PARAM_INTERLEAVETYPE {
722334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
723334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
724334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
725334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bEnable;
726334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nInterleavePortIndex;
727334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_PARAM_INTERLEAVETYPE;
728334de520b0369215b7931fefa424fb92d295f0ebJames Dong
729334de520b0369215b7931fefa424fb92d295f0ebJames Dong
730334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
731334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines the picture effect used for an input picture
732334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
733334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_TRANSITIONEFFECTTYPE {
734334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EffectNone,
735334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EffectFadeFromBlack,
736334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EffectFadeToBlack,
737334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EffectUnspecifiedThroughConstantColor,
738334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EffectDissolve,
739334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EffectWipe,
740334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EffectUnspecifiedMixOfTwoScenes,
741334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EffectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
742334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EffectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
743334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EffectMax = 0x7FFFFFFF
744334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_TRANSITIONEFFECTTYPE;
745334de520b0369215b7931fefa424fb92d295f0ebJames Dong
746334de520b0369215b7931fefa424fb92d295f0ebJames Dong
747334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
748334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structure used to configure current transition effect
749334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
750334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
751334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nSize      : Size of the structure in bytes
752334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nVersion   : OMX specification version information
753334de520b0369215b7931fefa424fb92d295f0ebJames Dong * nPortIndex : Port that this structure applies to
754334de520b0369215b7931fefa424fb92d295f0ebJames Dong * eEffect    : Effect to enable
755334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
756334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE {
757334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
758334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
759334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
760334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_TRANSITIONEFFECTTYPE eEffect;
761334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_TRANSITIONEFFECTTYPE;
762334de520b0369215b7931fefa424fb92d295f0ebJames Dong
763334de520b0369215b7931fefa424fb92d295f0ebJames Dong
764334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
765334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines possible data unit types for encoded video data. The data unit
766334de520b0369215b7931fefa424fb92d295f0ebJames Dong * types are used both for encoded video input for playback as well as
767334de520b0369215b7931fefa424fb92d295f0ebJames Dong * encoded video output from recording.
768334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
769334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_DATAUNITTYPE {
770334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataUnitCodedPicture,
771334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataUnitVideoSegment,
772334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataUnitSeveralSegments,
773334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataUnitArbitraryStreamSection,
774334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataUnitKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
775334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataUnitVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
776334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataUnitMax = 0x7FFFFFFF
777334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_DATAUNITTYPE;
778334de520b0369215b7931fefa424fb92d295f0ebJames Dong
779334de520b0369215b7931fefa424fb92d295f0ebJames Dong
780334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
781334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines possible encapsulation types for coded video data unit. The
782334de520b0369215b7931fefa424fb92d295f0ebJames Dong * encapsulation information is used both for encoded video input for
783334de520b0369215b7931fefa424fb92d295f0ebJames Dong * playback as well as encoded video output from recording.
784334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
785334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_DATAUNITENCAPSULATIONTYPE {
786334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataEncapsulationElementaryStream,
787334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataEncapsulationGenericPayload,
788334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataEncapsulationRtpPayload,
789334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataEncapsulationKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
790334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataEncapsulationVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
791334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DataEncapsulationMax = 0x7FFFFFFF
792334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_DATAUNITENCAPSULATIONTYPE;
793334de520b0369215b7931fefa424fb92d295f0ebJames Dong
794334de520b0369215b7931fefa424fb92d295f0ebJames Dong
795334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
796334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structure used to configure the type of being decoded/encoded
797334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
798334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_PARAM_DATAUNITTYPE {
799334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;            /**< Size of the structure in bytes */
800334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
801334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;       /**< Port that this structure applies to */
802334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DATAUNITTYPE eUnitType;
803334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType;
804334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_PARAM_DATAUNITTYPE;
805334de520b0369215b7931fefa424fb92d295f0ebJames Dong
806334de520b0369215b7931fefa424fb92d295f0ebJames Dong
807334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
808334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Defines dither types
809334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
810334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_DITHERTYPE {
811334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DitherNone,
812334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DitherOrdered,
813334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DitherErrorDiffusion,
814334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DitherOther,
815334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DitherKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
816334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DitherVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
817334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DitherMax = 0x7FFFFFFF
818334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_DITHERTYPE;
819334de520b0369215b7931fefa424fb92d295f0ebJames Dong
820334de520b0369215b7931fefa424fb92d295f0ebJames Dong
821334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
822334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Structure used to configure current type of dithering
823334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
824334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_DITHERTYPE {
825334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;            /**< Size of the structure in bytes */
826334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
827334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;       /**< Port that this structure applies to */
828334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_DITHERTYPE eDither;   /**< Type of dithering to use */
829334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_DITHERTYPE;
830334de520b0369215b7931fefa424fb92d295f0ebJames Dong
831334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_CAPTUREMODETYPE {
832334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
833334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
834334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;     /**< Port that this structure applies to */
835334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bContinuous;   /**< If true then ignore frame rate and emit capture
836334de520b0369215b7931fefa424fb92d295f0ebJames Dong                             *   data as fast as possible (otherwise obey port's frame rate). */
837334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bFrameLimited; /**< If true then terminate capture after the port emits the
838334de520b0369215b7931fefa424fb92d295f0ebJames Dong                             *   specified number of frames (otherwise the port does not
839334de520b0369215b7931fefa424fb92d295f0ebJames Dong                             *   terminate the capture until instructed to do so by the client).
840334de520b0369215b7931fefa424fb92d295f0ebJames Dong                             *   Even if set, the client may manually terminate the capture prior
841334de520b0369215b7931fefa424fb92d295f0ebJames Dong                             *   to reaching the limit. */
842334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nFrameLimit;      /**< Limit on number of frames emitted during a capture (only
843334de520b0369215b7931fefa424fb92d295f0ebJames Dong                               *   valid if bFrameLimited is set). */
844334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_CAPTUREMODETYPE;
845334de520b0369215b7931fefa424fb92d295f0ebJames Dong
846334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_METERINGTYPE {
847334de520b0369215b7931fefa424fb92d295f0ebJames Dong
848334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MeteringModeAverage,     /**< Center-weighted average metering. */
849a1ae5a4fe52192525f510dc14ecf1f7d4fb107f5Lajos Molnar    OMX_MeteringModeSpot,        /**< Spot (partial) metering. */
850334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MeteringModeMatrix,      /**< Matrix or evaluative metering. */
851334de520b0369215b7931fefa424fb92d295f0ebJames Dong
852334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MeteringKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
853334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_MeteringVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
854334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_EVModeMax = 0x7fffffff
855334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_METERINGTYPE;
856334de520b0369215b7931fefa424fb92d295f0ebJames Dong
857334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_EXPOSUREVALUETYPE {
858334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
859334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
860334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
861334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_METERINGTYPE eMetering;
862334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_S32 xEVCompensation;      /**< Fixed point value stored as Q16 */
863334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nApertureFNumber;     /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */
864a1ae5a4fe52192525f510dc14ecf1f7d4fb107f5Lajos Molnar    OMX_BOOL bAutoAperture;       /**< Whether aperture number is defined automatically */
865334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nShutterSpeedMsec;    /**< Shutterspeed in milliseconds */
866a1ae5a4fe52192525f510dc14ecf1f7d4fb107f5Lajos Molnar    OMX_BOOL bAutoShutterSpeed;   /**< Whether shutter speed is defined automatically */
867334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSensitivity;         /**< e.g. nSensitivity = 100 implies "ISO 100" */
868a1ae5a4fe52192525f510dc14ecf1f7d4fb107f5Lajos Molnar    OMX_BOOL bAutoSensitivity;    /**< Whether sensitivity is defined automatically */
869334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_EXPOSUREVALUETYPE;
870334de520b0369215b7931fefa424fb92d295f0ebJames Dong
871334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
872334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Focus region configuration
873334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
874334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
875334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize           : Size of the structure in bytes
876334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion        : OMX specification version information
877334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex      : Port that this structure applies to
878334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bCenter         : Use center region as focus region of interest
879334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bLeft           : Use left region as focus region of interest
880334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bRight          : Use right region as focus region of interest
881334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bTop            : Use top region as focus region of interest
882334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bBottom         : Use bottom region as focus region of interest
883334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bTopLeft        : Use top left region as focus region of interest
884334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bTopRight       : Use top right region as focus region of interest
885334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bBottomLeft     : Use bottom left region as focus region of interest
886334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bBottomRight    : Use bottom right region as focus region of interest
887334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
888334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_CONFIG_FOCUSREGIONTYPE {
889334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
890334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
891334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
892334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bCenter;
893334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bLeft;
894334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bRight;
895334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bTop;
896334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bBottom;
897334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bTopLeft;
898334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bTopRight;
899334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bBottomLeft;
900334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bBottomRight;
901334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_CONFIG_FOCUSREGIONTYPE;
902334de520b0369215b7931fefa424fb92d295f0ebJames Dong
903334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
904334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Focus Status type
905334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
906334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef enum OMX_FOCUSSTATUSTYPE {
907334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_FocusStatusOff = 0,
908334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_FocusStatusRequest,
909334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_FocusStatusReached,
910334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_FocusStatusUnableToReach,
911334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_FocusStatusLost,
912334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_FocusStatusKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
913334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_FocusStatusVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
914334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_FocusStatusMax = 0x7FFFFFFF
915334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_FOCUSSTATUSTYPE;
916334de520b0369215b7931fefa424fb92d295f0ebJames Dong
917334de520b0369215b7931fefa424fb92d295f0ebJames Dong/**
918334de520b0369215b7931fefa424fb92d295f0ebJames Dong * Focus status configuration
919334de520b0369215b7931fefa424fb92d295f0ebJames Dong *
920334de520b0369215b7931fefa424fb92d295f0ebJames Dong * STRUCT MEMBERS:
921334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nSize               : Size of the structure in bytes
922334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nVersion            : OMX specification version information
923334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  nPortIndex          : Port that this structure applies to
924334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  eFocusStatus        : Specifies the focus status
925334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bCenterStatus       : Use center region as focus region of interest
926334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bLeftStatus         : Use left region as focus region of interest
927334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bRightStatus        : Use right region as focus region of interest
928334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bTopStatus          : Use top region as focus region of interest
929334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bBottomStatus       : Use bottom region as focus region of interest
930334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bTopLeftStatus      : Use top left region as focus region of interest
931334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bTopRightStatus     : Use top right region as focus region of interest
932334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bBottomLeftStatus   : Use bottom left region as focus region of interest
933334de520b0369215b7931fefa424fb92d295f0ebJames Dong *  bBottomRightStatus  : Use bottom right region as focus region of interest
934334de520b0369215b7931fefa424fb92d295f0ebJames Dong */
935334de520b0369215b7931fefa424fb92d295f0ebJames Dongtypedef struct OMX_PARAM_FOCUSSTATUSTYPE {
936334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nSize;
937334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_VERSIONTYPE nVersion;
938334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_U32 nPortIndex;
939334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_FOCUSSTATUSTYPE eFocusStatus;
940334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bCenterStatus;
941334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bLeftStatus;
942334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bRightStatus;
943334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bTopStatus;
944334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bBottomStatus;
945334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bTopLeftStatus;
946334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bTopRightStatus;
947334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bBottomLeftStatus;
948334de520b0369215b7931fefa424fb92d295f0ebJames Dong    OMX_BOOL bBottomRightStatus;
949334de520b0369215b7931fefa424fb92d295f0ebJames Dong} OMX_PARAM_FOCUSSTATUSTYPE;
950334de520b0369215b7931fefa424fb92d295f0ebJames Dong
951334de520b0369215b7931fefa424fb92d295f0ebJames Dong/** @} */
952334de520b0369215b7931fefa424fb92d295f0ebJames Dong
953334de520b0369215b7931fefa424fb92d295f0ebJames Dong#ifdef __cplusplus
954334de520b0369215b7931fefa424fb92d295f0ebJames Dong}
955334de520b0369215b7931fefa424fb92d295f0ebJames Dong#endif /* __cplusplus */
956334de520b0369215b7931fefa424fb92d295f0ebJames Dong
957334de520b0369215b7931fefa424fb92d295f0ebJames Dong#endif
958334de520b0369215b7931fefa424fb92d295f0ebJames Dong/* File EOF */
959