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