OMX_TI_IVCommon.h revision c322989ae6ff6769490828de1b5eda12b749cce9
1/* 2 * Copyright (c) 2010, Texas Instruments Incorporated 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * * Neither the name of Texas Instruments Incorporated nor the names of 17 * its contributors may be used to endorse or promote products derived 18 * from this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33/* -------------------------------------------------------------------------- * 34 * 35 * @file:OMX_TI_IVCommon.h 36 * This header defines the structures specific to the config indices of msp_VPPM. 37 * 38 * @path ..\OMAPSW_SysDev\multimedia\omx\khronos1_1\omx_core\inc 39 * 40 * -------------------------------------------------------------------------- */ 41 42/* ======================================================================== *! 43 *! Revision History 44 *! ==================================================================== */ 45 46#ifndef OMX_TI_IVCommon_H 47#define OMX_TI_IVCommon_H 48 49#ifdef __cplusplus 50extern "C" { 51#endif /* __cplusplus */ 52 53#include <OMX_IVCommon.h> 54#include <OMX_Image.h> 55 56 57#define MAX_URI_LENGTH (OMX_MAX_STRINGNAME_SIZE) 58 59/*======================================================================= */ 60/* Enumerated values for operation mode for compressed image 61 * 62 * ENUMS: 63 * Chunk : Chunk based operation 64 * NonChunk : Non-chunk based operation 65 */ 66 /* ======================================================================= */ 67typedef enum OMX_JPEG_COMPRESSEDMODETYPE { 68 OMX_JPEG_ModeChunk = 0, 69 OMX_JPEG_ModeNonChunk 70}OMX_JPEG_COMPRESSEDMODETYPE ; 71 72 73/*======================================================================= */ 74/* Enumerated values for operation mode for uncompressed image 75 * 76 * ENUMS: 77 * Frame : Frame based operation 78 * Slice : Slice based operation 79 * Stitch : For stitching between image frames 80 * Burst : For stitching between image frames 81 */ 82 /* ======================================================================= */ 83typedef enum OMX_JPEG_UNCOMPRESSEDMODETYPE { 84 OMX_JPEG_UncompressedModeFrame = 0, 85 OMX_JPEG_UncompressedModeSlice, 86 OMX_JPEG_UncompressedModeStitch, 87 OMX_JPEG_UncompressedModeBurst 88}OMX_JPEG_UNCOMPRESSEDMODETYPE; 89 90 91 92/*======================================================================= */ 93/* Configuration structure for compressed image 94 * 95 * STRUCT MEMBERS: 96 * nSize : Size of the structure in bytes 97 * nVersion : OMX specification version information 98 * nPortIndex : Port that this structure applies to 99 * eCompressedImageMode : Operating mode enumeration for compressed image 100 */ 101 /*======================================================================= */ 102typedef struct OMX_JPEG_PARAM_COMPRESSEDMODETYPE{ 103 OMX_U32 nSize; 104 OMX_VERSIONTYPE nVersion; 105 OMX_U32 nPortIndex; 106 OMX_JPEG_COMPRESSEDMODETYPE eCompressedImageMode; 107}OMX_JPEG_PARAM_COMPRESSEDMODETYPE; 108 109 110 111/*======================================================================= */ 112/* Uncompressed image Operating mode configuration structure 113 * 114 * STRUCT MEMBERS: 115 * nSize : Size of the structure in bytes 116 * nVersion : OMX specification version information 117 * nPortIndex : Port that this structure applies to 118 * nBurstLength : No of frames to be dumped in burst mode 119 * eUncompressedImageMode : uncompressed image mode information 120 * eSourceType : Image encode souce info 121 * tRotationInfo : Rotation related information 122 */ 123 /*======================================================================= */ 124typedef struct OMX_JPEG_PARAM_UNCOMPRESSEDMODETYPE{ 125 OMX_U32 nSize; 126 OMX_VERSIONTYPE nVersion; 127 OMX_U32 nPortIndex; 128 OMX_U32 nBurstLength; 129 OMX_JPEG_UNCOMPRESSEDMODETYPE eUncompressedImageMode; 130}OMX_JPEG_PARAM_UNCOMPRESSEDMODETYPE; 131 132 133/*======================================================================= */ 134/* Subregion Decode Parameter configuration structure 135 * 136 * STRUCT MEMBERS: 137 * nSize : Size of the structure in bytes 138 * nVersion : OMX specification version information 139 * nXOrg : Sectional decoding X origin 140 * nYOrg : Sectional decoding Y origin 141 * nXLength : Sectional decoding X length 142 * nYLength : Sectional decoding Y length 143 */ 144 /*======================================================================= */ 145typedef struct OMX_IMAGE_PARAM_DECODE_SUBREGION{ 146 OMX_U32 nSize; 147 OMX_VERSIONTYPE nVersion; 148 OMX_U32 nXOrg; 149 OMX_U32 nYOrg; 150 OMX_U32 nXLength; 151 OMX_U32 nYLength; 152}OMX_IMAGE_PARAM_DECODE_SUBREGION; 153 154 155/** 156 * sensor select types 157 */ 158typedef enum OMX_SENSORSELECT{ 159 OMX_PrimarySensor = 0, 160 OMX_SecondarySensor, 161 OMX_TI_StereoSensor, 162 OMX_SensorTypeMax = 0x7fffffff 163}OMX_SENSORSELECT; 164 165/** 166 * 167 * Sensor Select 168 */ 169typedef struct OMX_CONFIG_SENSORSELECTTYPE { 170OMX_U32 nSize; /**< Size of the structure in bytes */ 171OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 172OMX_U32 nPortIndex; /**< Port that this struct applies to */ 173OMX_SENSORSELECT eSensor; /**< sensor select */ 174} OMX_CONFIG_SENSORSELECTTYPE; 175 176/** 177 * Flicker cancellation types 178 */ 179typedef enum OMX_COMMONFLICKERCANCELTYPE{ 180 OMX_FlickerCancelOff = 0, 181 OMX_FlickerCancelAuto, 182 OMX_FlickerCancel50, 183 OMX_FlickerCancel60, 184 OMX_FlickerCancel100, 185 OMX_FlickerCancel120, 186 OMX_FlickerCancelMax = 0x7fffffff 187}OMX_COMMONFLICKERCANCELTYPE; 188 189typedef struct OMX_CONFIG_FLICKERCANCELTYPE { 190 OMX_U32 nSize; 191 OMX_VERSIONTYPE nVersion; 192 OMX_U32 nPortIndex; 193 OMX_COMMONFLICKERCANCELTYPE eFlickerCancel; 194} OMX_CONFIG_FLICKERCANCELTYPE; 195 196 197/** 198 * Sensor caleberation types 199 */ 200typedef enum OMX_SENSORCALTYPE{ 201 OMX_SensorCalFull = 0, 202 OMX_SensorCalQuick, 203 OMX_SensorCalMax = 0x7fffffff 204}OMX_SENSORCALTYPE; 205 206typedef struct OMX_CONFIG_SENSORCALTYPE { 207 OMX_U32 nSize; 208 OMX_VERSIONTYPE nVersion; 209 OMX_U32 nPortIndex; 210 OMX_SENSORCALTYPE eSensorCal; 211} OMX_CONFIG_SENSORCALTYPE; 212 213/** 214 * Scene mode types 215 */ 216typedef enum OMX_SCENEMODETYPE{ 217 218 OMX_Manual = 0, 219 OMX_Closeup, 220 OMX_Portrait, 221 OMX_Landscape, 222 OMX_Underwater, 223 OMX_Sport, 224 OMX_SnowBeach, 225 OMX_Mood, 226 OMX_NightPortrait, 227 OMX_NightIndoor, 228 OMX_Fireworks, 229 OMX_Document, /**< for still image */ 230 OMX_Barcode, /**< for still image */ 231 OMX_SuperNight, /**< for video */ 232 OMX_Cine, /**< for video */ 233 OMX_OldFilm, /**< for video */ 234 OMX_TI_Action, 235 OMX_TI_Beach, 236 OMX_TI_Candlelight, 237 OMX_TI_Night, 238 OMX_TI_Party, 239 OMX_TI_Portrait, 240 OMX_TI_Snow, 241 OMX_TI_Steadyphoto, 242 OMX_TI_Sunset, 243 OMX_TI_Theatre, 244 OMX_SceneModeMax = 0x7fffffff 245}OMX_SCENEMODETYPE; 246 247typedef struct OMX_CONFIG_SCENEMODETYPE { 248 OMX_U32 nSize; 249 OMX_VERSIONTYPE nVersion; 250 OMX_U32 nPortIndex; 251 OMX_SCENEMODETYPE eSceneMode; 252} OMX_CONFIG_SCENEMODETYPE; 253 254 /** 255 * Port specific capture trigger 256 * useful for the usecases with multiple capture ports. 257 * 258 * STRUCT MEMBERS: 259 * nSize : Size of the structure in bytes 260 * nVersion : OMX specification version information 261 * nPortIndex : Port that this structure applies to 262 * bExtCapturing : Start Captre at the specified port. Can be queried to know the status of a specific port. 263 */ 264typedef struct OMX_CONFIG_EXTCAPTURING { 265 OMX_U32 nSize; 266 OMX_VERSIONTYPE nVersion; 267 OMX_U32 nPortIndex; 268 OMX_BOOL bExtCapturing; 269} OMX_CONFIG_EXTCAPTURING; 270 271 272 /** 273 * Digital Zoom Speed 274 * 275 * STRUCT MEMBERS: 276 * nSize : Size of the structure in bytes 277 * nVersion : OMX specification version information 278 * nPortIndex : Port that this structure applies to 279 * nDigitalZoomSpeed : Optical zoom speed level. Special values: 280 * 0 - stop current movement 281 * values from 1 to 254 are mapped proportionally to supported zoom speeds inside optical zoom driver. 282 * So 1 is slowest available optical zoom speed and 254 is fastest available optical zoom speed 283 * 255 - default optical zoom speed value 284 */ 285typedef struct OMX_CONFIG_DIGITALZOOMSPEEDTYPE { 286 OMX_U32 nSize; 287 OMX_VERSIONTYPE nVersion; 288 OMX_U32 nPortIndex; 289 OMX_U8 nDigitalZoomSpeed; 290} OMX_CONFIG_DIGITALZOOMSPEEDTYPE; 291 292 293 /** 294 * Digital Zoom Target 295 * 296 * STRUCT MEMBERS: 297 * nSize : Size of the structure in bytes 298 * nVersion : OMX specification version information 299 * nPortIndex : Port that this structure applies to 300 * nDigitalZoomTarget : Default and minimum is 0. Maximum is determined by the current supported range 301 */ 302 303typedef struct OMX_CONFIG_DIGITALZOOMTARGETTYPE { 304 OMX_U32 nSize; 305 OMX_VERSIONTYPE nVersion; 306 OMX_U32 nPortIndex; 307 OMX_U32 nDigitalZoomTarget; 308} OMX_CONFIG_DIGITALZOOMTARGETTYPE; 309 310 311/** 312* Scale quality enums 313*/ 314typedef enum OMX_SCALEQUALITY{ 315 OMX_DefaultScaling = 0, /** <default scaling if nothing is specified > */ 316 OMX_BetterScaling, /** <better scaling> */ 317 OMX_BestScaling, /** <best scaling> */ 318 OMX_AutoScalingQuality, /** <auto scaling quality> */ 319 OMX_FastScaling, /** <fast scaling, prioritizes speed> */ 320 OMX_ScaleQualityMax = 0x7fffffff 321}OMX_SCALEQUALITY; 322 323/** 324* Scaling Quality Mode 325*/ 326typedef enum OMX_SCALEQUALITYMODE{ 327 OMX_SingleFrameScalingMode = 0, /** <default > */ 328 OMX_MultiFrameScalingMode, /** <better scaling> */ 329 OMX_AutoScalingMode, /** <best scaling> */ 330 OMX_ScaleModeMax = 0x7fffffff 331}OMX_SCALEQUALITYMODE; 332 333 /** 334 * Rescale quality control type 335 * 336 * STRUCT MEMBERS: 337 * nSize : Size of the structure in bytes 338 * nVersion : OMX specification version information 339 * eScaleQuality : controls the quality level. 340 * eScaleQualityMode : controls the scaling algo types 341 */ 342typedef struct OMX_CONFIG_SCALEQUALITYTYPE { 343 OMX_U32 nSize; 344 OMX_VERSIONTYPE nVersion; 345 OMX_U32 nPortIndex; 346 OMX_SCALEQUALITY eScaleQuality; 347 OMX_SCALEQUALITYMODE eScaleQualityMode; 348} OMX_CONFIG_SCALEQUALITYTYPE; 349 350/** 351* Smooth Zoom mode enum 352* Starts or stops the Smooth Zoom. Selecting INCREASE will cause an increasing digital zoom factor (increased cropping), 353* with a shrinking viewable area and crop height percentage. Selecting DECREASE will cause a decreasing digital zoom (decreased cropping), 354* with a growing viewable area and crop height percentage. The CaptureCropHeight will continue to update based on the SmoothZoomRate until 355* the SmoothZoomMin or SmoothZoomMax zoom step is reached, the framework minimum zoom step is reached, the SmoothZoomRate becomes 0, 356* or the SmoothZoomMode is set to OFF. 357* NOTE: The message payload includes all parts of the message that is NOT part of the message header as listed for the CAM_SEND_DATA message. 358*/ 359typedef enum OMX_SMOOTHZOOMMODE{ 360 OMX_Off=0, /**< default OFF */ 361 OMX_Increase, 362 OMX_Decrease 363}OMX_SMOOTHZOOMMODE; 364 365 366 /** 367 * Rescale quality control type 368 * 369 * STRUCT MEMBERS: 370 * nSize : Size of the structure in bytes 371 * nVersion : OMX specification version information 372 * eSmoothZoomMode : controls the smooth zoom feature. 373 * nSmoothZoomRate : Values from 0 to 65535 which represents percentage to increase per second, where 65535 = 100%, and 0 = 0%. 374 * nSmoothZoomQuantize: 375 * nSmoothZoomThresh 376 * nSmoothZoomMin 377 * nSmoothZoomMax 378 */ 379typedef struct OMX_CONFIG_SMOOTHZOOMTYPE { 380 OMX_U32 nSize; 381 OMX_VERSIONTYPE nVersion; 382 OMX_U32 nPortIndex; 383 OMX_SMOOTHZOOMMODE eSmoothZoomMode; 384 OMX_U32 nSmoothZoomRate; 385 OMX_U32 nSmoothZoomQuantize; 386 OMX_U32 nSmoothZoomThresh; 387 OMX_U32 nSmoothZoomMin; 388 OMX_U32 nSmoothZoomMax; 389} OMX_CONFIG_SMOOTHZOOMTYPE; 390 391/** 392 * Enumeration of possible Extended image filter types for OMX_CONFIG_IMAGEFILTERTYPE 393 */ 394typedef enum OMX_EXTIMAGEFILTERTYPE { 395 OMX_ImageFilterSepia = 0x7F000001, 396 OMX_ImageFilterGrayScale, 397 OMX_ImageFilterNatural, 398 OMX_ImageFilterVivid, 399 OMX_ImageFilterColourSwap, 400 OMX_ImageFilterOutOfFocus, 401 OMX_ImageFilterWaterColour, 402 OMX_ImageFilterPastel, 403 OMX_ImageFilterFilm, 404 OMX_TI_ImageFilterBlackWhite, 405 OMX_TI_ImageFilterWhiteBoard, 406 OMX_TI_ImageFilterBlackBoard, 407 OMX_TI_ImageFilterAqua, 408 OMX_TI_ImageFilterPosterize 409} OMX_EXTIMAGEFILTERTYPE; 410 411 412/** 413 * Image filter configuration extended 414 * 415 * STRUCT MEMBERS: 416 * nSize : Size of the structure in bytes 417 * nVersion : OMX specification version information 418 * nPortIndex : Port that this structure applies to 419 * bBlemish : Enable/Disable Blemish correction 420 */ 421typedef struct OMX_CONFIG_BLEMISHTYPE { 422 OMX_U32 nSize; 423 OMX_VERSIONTYPE nVersion; 424 OMX_U32 nPortIndex; 425 OMX_BOOL bBlemish; 426} OMX_CONFIG_BLEMISHTYPE; 427 428/** 429 * Enumeration of Bracket types 430 * OMX_BracketExposureRelativeInEV: 431 * Exposure value is changed relative to the value set by automatic exposure. 432 * nBracketStartValue and nBracketStep are in Q16. Increment is additive. 433 * OMX_BracketExposureAbsoluteMs: 434 * Exposure value is changed in absolute value in ms. 435 * nBracketStartValue and nBracketStep are in Q16. Increment is multiplicative. 436 * OMX_BracketFocusRelative: 437 * Focus is adjusted relative to the focus set by auto focus. 438 * The value is S32 integer, and is the same as adjusting nFocusSteps of OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE relatively. 439 * Increment is additive. 440 * OMX_BracketFocusAbsolute: 441 * Focus position is adjusted absolutely. It is the same as setting nFocusSteps of 442 * OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE relatively for each captures. 443 * The value should be interpreted as U32 value. Increment is additive. 444 * OMX_BracketFlashPower: 445 * Power of flash is adjusted relative to the automatic level. Increment is multiplicative. 446 * OMX_BracketAperture: 447 * Aperture number relative to the automatic setting. Data in Q16 format. Increment is multiplicative. 448 * OMX_BracketTemporal: 449 * To suppport temporal bracketing. 450 */ 451typedef enum OMX_BRACKETMODETYPE { 452 OMX_BracketExposureRelativeInEV = 0, 453 OMX_BracketExposureAbsoluteMs, 454 OMX_BracketFocusRelative, 455 OMX_BracketFocusAbsolute, 456 OMX_BracketFlashPower, 457 OMX_BracketAperture, 458 OMX_BracketTemporal, 459 OMX_BrackerTypeKhronosExtensions = 0x6f000000, 460 OMX_BrackerTypeVendorStartUnused = 0x7f000000, 461 OMX_BracketTypeMax = 0x7FFFFFFF 462} OMX_BRACKETMODETYPE; 463 464typedef struct OMX_CONFIG_BRACKETINGTYPE { 465 OMX_U32 nSize; 466 OMX_VERSIONTYPE nVersion; 467 OMX_U32 nPortIndex; 468 OMX_BRACKETMODETYPE eBracketMode; 469 OMX_U32 nNbrBracketingValues; 470 OMX_S32 nBracketValues[10]; /**< 10 can be assumed */ 471} OMX_CONFIG_BRACKETINGTYPE; 472 473 474/** 475 * Capture mode types 476 * Note: this list could get extended modified based on the type of interenal use-case pipelines implemented within the camera component. 477 * 478 * OMX_CaptureImageHighSpeedBurst = 0, 479 * OMX_CaptureImageHighSpeedTemporalBracketing, 480 * OMX_CaptureImageProfileBase(Base): 481 * Base one almost same as Highspeed one. 482 * OMX_CaptureImageProfileLowLight1(LL1): 483 * Includes NSF2 in addition to Base processing 484 * OMX_CaptureImageProfileLowLight2(LL2): 485 * Includes NSF2 and LBCE in addition to Base processing. 486 * OMX_CaptureImageProfileOpticalCorr1(OC1): 487 * Includes LDC in addition to Base processing. 488 * OMX_CaptureImageProfileOpticalCorr2(OC2): 489 * Includes LDC and CAC in addition to Base processing. 490 * OMX_CaptureImageProfileExtended1(Ext1): 491 * Includes NSF2, LBCE, LDC, and CAC in addition to Base 492 * OMX_CaptureStereoImageCapture: 493 * Stereo image capture use-case. 494 * OMX_CaptureImageMemoryInput: 495 * need to take sensor input from INPUT port. 496 * OMX_CaptureVideo: 497 * OMX_CaptureHighSpeedVideo: 498 * OMX_CaptureVideoMemoryInput: 499 * 500 */ 501typedef enum OMX_CAMOPERATINGMODETYPE { 502 OMX_CaptureImageHighSpeedBurst = 0, 503 OMX_CaptureImageHighSpeedTemporalBracketing, 504 OMX_CaptureImageProfileBase, 505 OMX_CaptureImageProfileLowLight1, 506 OMX_CaptureImageProfileLowLight2, 507 OMX_CaptureImageProfileOpticalCorr1, 508 OMX_CaptureImageProfileOpticalCorr2, 509 OMX_CaptureImageProfileExtended1, 510 OMX_CaptureStereoImageCapture, 511 OMX_CaptureImageMemoryInput, 512 OMX_CaptureVideo, 513 OMX_CaptureHighSpeedVideo, 514 OMX_CaptureVideoMemoryInput, 515 OMX_TI_CaptureDummy, 516 OMX_TI_CaptureGestureRecognition, 517 OMX_TI_CaptureImageProfileZeroShutterLag, 518 OMX_CamOperatingModeMax = 0x7fffffff 519} OMX_CAMOPERATINGMODETYPE; 520/** 521 * Capture mode setting: applicable to multi shot capture also including bracketing. 522 * 523 * STRUCT MEMBERS: 524 * nSize : Size of the structure in bytes 525 * nVersion : OMX specification version information 526 * nPortIndex : Port that this structure applies to 527 * eCamOperatingMode : specifies the camera operating mode. 528 */ 529typedef struct OMX_CONFIG_CAMOPERATINGMODETYPE { 530 OMX_U32 nSize; 531 OMX_VERSIONTYPE nVersion; 532 OMX_CAMOPERATINGMODETYPE eCamOperatingMode; 533} OMX_CONFIG_CAMOPERATINGMODETYPE; 534 535 536/** 537 * Capture mode setting: applicable to multi shot capture also including bracketing. 538 * 539 * STRUCT MEMBERS: 540 * nSize : Size of the structure in bytes 541 * nVersion : OMX specification version information 542 * nPortIndex : Port that this structure applies to 543 * nFrameRate : when bContinuous is FALSE, need to define the frame rate of the muti-shot scenario. Since this would be applicable to IMAGE domain port, there is no port specific frame rate. 544 * nFrameBefore : 545 * is specifying how many frames before the capture trigger shall be used. 546 * It is implementation dependent how many is supported. This shall only be supported for images and not for video frames. 547 * bPrepareCapture : 548 * should be set to true when nFrameBefore is greater than zero and before capturing of before-frames should start. 549 * The component is not allowed to deliver buffers until capturing starts. This shall only be supported for images and not for video frames. 550 * bEnableBracketing : 551 * should be enabled when bracketing is used. In bracketing mode, one parameter can be changed per each capture. 552 * tBracketConfigType : 553 * specifies bracket mode to use. Valid only when bEnableBracketing is set. 554 */ 555typedef struct OMX_CONFIG_EXTCAPTUREMODETYPE { 556 OMX_U32 nSize; 557 OMX_VERSIONTYPE nVersion; 558 OMX_U32 nPortIndex; 559 OMX_U32 nFrameRate; 560 OMX_U32 nFrameBefore; 561 OMX_BOOL bPrepareCapture; 562 OMX_BOOL bEnableBracketing; 563 OMX_CONFIG_BRACKETINGTYPE tBracketConfigType; 564} OMX_CONFIG_EXTCAPTUREMODETYPE; 565 566/** 567 * For Extended Focus region Type - 568 */ 569typedef struct OMX_CONFIG_EXTFOCUSREGIONTYPE { 570 OMX_U32 nSize; 571 OMX_VERSIONTYPE nVersion; 572 OMX_U32 nPortIndex; 573 OMX_U32 nRefPortIndex; 574 OMX_S32 nLeft; 575 OMX_S32 nTop; 576 OMX_U32 nWidth; 577 OMX_U32 nHeight; 578} OMX_CONFIG_EXTFOCUSREGIONTYPE; 579 580/** 581 * Digital Flash Control 582 * STRUCT MEMBERS: 583 * nSize : Size of the structure in bytes 584 * nVersion : OMX specification version information 585 * nPortIndex : Port that this structure applies to 586 * bDigitalFlash : Digital flash type Enable/Disable - 587 * Specifies whether the digital flash algorithm is enabled or disabled. This overrides the contrast and brightness settings. 588 */ 589typedef struct OMX_CONFIG_DIGITALFLASHTYPE { 590 OMX_U32 nSize; 591 OMX_VERSIONTYPE nVersion; 592 OMX_U32 nPortIndex; 593 OMX_BOOL bDigitalFlash; 594} OMX_CONFIG_DIGITALFLASHTYPE; 595 596 597 598/** 599 * Privacy Indicator Enable/Disable 600 * STRUCT MEMBERS: 601 * nSize : Size of the structure in bytes 602 * nVersion : OMX specification version information 603 * nPortIndex : Port that this structure applies to 604 * bPrivacyIndicator : 605 * Specifies whether the flash should be used to indicate image or video capture. When flash is not used for exposure, 606 * flash will be activated after exposure to indicate image capture. 607 * If video light is not used, the flash can be blinking or constant at low intensity to indicate capture but not affect exposure. 608 * Specifies whether the digital flash algorithm is enabled or disabled. This overrides the contrast and brightness settings. 609 */ 610typedef struct OMX_CONFIG_PRIVACYINDICATOR { 611 OMX_U32 nSize; 612 OMX_VERSIONTYPE nVersion; 613 OMX_U32 nPortIndex; 614 OMX_BOOL bPrivacyIndicator; 615} OMX_CONFIG_PRIVACYINDICATOR; 616 617 618/** 619 * Privacy Indicator Enable/Disable 620 * STRUCT MEMBERS: 621 * nSize : Size of the structure in bytes 622 * nVersion : OMX specification version information 623 * nPortIndex : Port that this structure applies to 624 * bTorchMode : 625 * Enable/Disable 626 * nIntensityLevel : relative intensity from 0 - 100 627 * nDuration : duration in msec 628 */ 629typedef struct OMX_CONFIG_TORCHMODETYPE { 630 OMX_U32 nSize; 631 OMX_VERSIONTYPE nVersion; 632 OMX_U32 nPortIndex; 633 OMX_BOOL bTorchMode; 634 OMX_U32 nIntensityLevel; 635 OMX_U32 nDuration; 636} OMX_CONFIG_TORCHMODETYPE; 637 638 639 640/** 641 * Privacy Indicator Enable/Disable 642 * DISABLE - Fire the xenon flash in the usual manner 643 * ENABLE - Reduce the light intensity of the main flash (ex 1EV) 644 * 645 * STRUCT MEMBERS: 646 * nSize : Size of the structure in bytes 647 * nVersion : OMX specification version information 648 * nPortIndex : Port that this structure applies to 649 * bSlowSync : 650 * Enable - OMX_TRUE/Disable - OMX_FALSE 651 */ 652typedef struct OMX_CONFIG_SLOWSYNCTYPE { 653 OMX_U32 nSize; 654 OMX_VERSIONTYPE nVersion; 655 OMX_U32 nPortIndex; 656 OMX_BOOL bSlowSync; 657} OMX_CONFIG_SLOWSYNCTYPE; 658 659 660/** 661 * Focus control extended enums. use this along with OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE 662 */ 663typedef enum OMX_IMAGE_EXTFOCUSCONTROLTYPE { 664 OMX_IMAGE_FocusControlAutoMacro = 0x7F000001, /**< Reserved region for introducing Vendor Extensions */ 665 OMX_IMAGE_FocusControlAutoInfinity, 666 OMX_IMAGE_FocusControlHyperfocal, 667 OMX_IMAGE_FocusControlPortrait, /**< from Xena */ 668 OMX_IMAGE_FocusControlExtended, /**< from Xena */ 669 OMX_IMAGE_FocusControlContinousNormal, /**< from Xena */ 670 OMX_IMAGE_FocusControlContinousExtended /**< from Xena */ 671} OMX_IMAGE_EXTFOCUSCONTROLTYPE; 672 673 674 675/** 676 * Specifies whether the LED can be used to assist in autofocus, due to low lighting conditions. 677 * ENABLE means use as determined by the auto exposure algorithm. 678 * 679 * STRUCT MEMBERS: 680 * nSize : Size of the structure in bytes 681 * nVersion : OMX specification version information 682 * nPortIndex : Port that this structure applies to 683 * bFocusAssist : 684 * Enable - OMX_TRUE/Disable - OMX_FALSE 685 */ 686typedef struct OMX_CONFIG_FOCUSASSISTTYPE { 687 OMX_U32 nSize; 688 OMX_VERSIONTYPE nVersion; 689 OMX_U32 nPortIndex; 690 OMX_BOOL bFocusAssist; 691} OMX_CONFIG_FOCUSASSISTTYPE; 692 693 694 695/** 696 *for locking the focus 697 * 698 * STRUCT MEMBERS: 699 * nSize : Size of the structure in bytes 700 * nVersion : OMX specification version information 701 * nPortIndex : Port that this structure applies to 702 * bFocusLock : 703 * Enable - OMX_TRUE/Disable - OMX_FALSE 704 */ 705typedef struct OMX_CONFIG_FOCUSLOCKTYPE { 706 OMX_U32 nSize; 707 OMX_VERSIONTYPE nVersion; 708 OMX_U32 nPortIndex; 709 OMX_BOOL bFocusLock; 710} OMX_CONFIG_FOCUSLOCKTYPE; 711 712 713/** 714 *for locking the White balance 715 * 716 * STRUCT MEMBERS: 717 * nSize : Size of the structure in bytes 718 * nVersion : OMX specification version information 719 * nPortIndex : Port that this structure applies to 720 * bWhiteBalanceLock : 721 * Enable - OMX_TRUE/Disable - OMX_FALSE 722 */ 723typedef struct OMX_CONFIG_WHITEBALANCELOCKTYPE { 724 OMX_U32 nSize; 725 OMX_VERSIONTYPE nVersion; 726 OMX_U32 nPortIndex; 727 OMX_BOOL bWhiteBalanceLock; 728} OMX_CONFIG_WHITEBALANCELOCKTYPE; 729 730/** 731 *for locking the Exposure 732 * 733 * STRUCT MEMBERS: 734 * nSize : Size of the structure in bytes 735 * nVersion : OMX specification version information 736 * nPortIndex : Port that this structure applies to 737 * bExposureLock : 738 * Enable - OMX_TRUE/Disable - OMX_FALSE 739 */ 740typedef struct OMX_CONFIG_EXPOSURELOCKTYPE { 741 OMX_U32 nSize; 742 OMX_VERSIONTYPE nVersion; 743 OMX_U32 nPortIndex; 744 OMX_BOOL bExposureLock; 745} OMX_CONFIG_EXPOSURELOCKTYPE; 746 747/** 748 *for locking the Exposure 749 * Simultaneously lock focus, white balance and exposure (and relevant other settings). 750 * 751 * STRUCT MEMBERS: 752 * nSize : Size of the structure in bytes 753 * nVersion : OMX specification version information 754 * nPortIndex : Port that this structure applies to 755 * bAllLock : 756 * Enable - OMX_TRUE/Disable - OMX_FALSE 757 */ 758typedef struct OMX_CONFIG_ALLLOCKTYPE { 759 OMX_U32 nSize; 760 OMX_VERSIONTYPE nVersion; 761 OMX_U32 nPortIndex; 762 OMX_BOOL bAllLock; 763} OMX_CONFIG_ALLLOCKTYPE; 764 765/** 766 *for locking 767 * Simultaneously lock focus, white balance and exposure (and relevant other settings). 768 * 769 * STRUCT MEMBERS: 770 * nSize : Size of the structure in bytes 771 * nVersion : OMX specification version information 772 * nPortIndex : Port that this structure applies to 773 * bLock : 774 * Enable - OMX_TRUE/Disable - OMX_FALSE 775 * bAtCapture: 776 * 777 */ 778typedef struct OMX_IMAGE_CONFIG_LOCKTYPE { 779 OMX_U32 nSize; 780 OMX_VERSIONTYPE nVersion; 781 OMX_U32 nPortIndex; 782 OMX_BOOL bLock; 783 OMX_BOOL bAtCapture; 784} OMX_IMAGE_CONFIG_LOCKTYPE; 785 786/** 787 * processig level types enum 788 */ 789typedef enum OMX_PROCESSINGLEVEL{ 790 OMX_Min = 0, 791 OMX_Low, 792 OMX_Medium, 793 OMX_High, 794 OMX_Max, 795 OMX_ProcessingLevelMax = 0x7fffffff 796}OMX_PROCESSINGLEVEL; 797 798/** 799 *processing level type 800 * Simultaneously lock focus, white balance and exposure (and relevant other settings). 801 * 802 * STRUCT MEMBERS: 803 * nSize : Size of the structure in bytes 804 * nVersion : OMX specification version information 805 * nPortIndex : Port that this structure applies to 806 * nLevel : 807 * nLevel hinting processing amount. Range of values is -100 to 100. 808 * 0 causes no change to the image. Increased values cause increased processing to occur, with 100 applying maximum processing. 809 * Negative values have the opposite effect of positive values. 810 * bAuto: 811 * sets if the processing should be applied according to input data. 812 It is allowed to combine the hint level with the auto setting, 813 * i.e. to give a bias to the automatic setting. When set to false, the processing should not take input data into account. 814 */ 815 816typedef struct OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE { 817OMX_U32 nSize; 818OMX_VERSIONTYPE nVersion; 819OMX_U32 nPortIndex; 820OMX_S32 nLevel; 821OMX_BOOL bAuto; 822} OMX_IMAGE_CONFIG_PROCESSINGLEVELTYPE; 823 824 825/** 826 * White Balance control type extended enums - to be used along with the structure @OMX_CONFIG_WHITEBALCONTROLTYPE 827 * 828 * 829 * 830 */ 831typedef enum OMX_EXTWHITEBALCONTROLTYPE { 832 OMX_WhiteBalControlFacePriorityMode = OMX_WhiteBalControlVendorStartUnused + 1, /**< */ 833 OMX_TI_WhiteBalControlSunset, 834 OMX_TI_WhiteBalControlShade, 835 OMX_TI_WhiteBalControlTwilight, 836 OMX_TI_WhiteBalControlWarmFluorescent 837} OMX_EXTWHITEBALCONTROLTYPE; 838 839/** 840 *white balance gain type 841 * xWhiteBalanceGain and xWhiteBalanceOffset represents gain and offset for R, Gr, Gb, B channels respectively in Q16 format. \ 842 * For example, new red pixel value = xWhiteBalanceGain[1]* the current pixel value + xWhiteBalanceOffset[1]. 843 * All values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally. 844 * nWhiteThreshhold represents thresholds for "white" area measurments in Q16 format. 845 * 846 * STRUCT MEMBERS: 847 * nSize : Size of the structure in bytes 848 * nVersion : OMX specification version information 849 * nPortIndex : Port that this structure applies to 850 * 851 */ 852typedef struct OMX_CONFIG_WHITEBALGAINTYPE { 853 OMX_U32 nSize; 854 OMX_VERSIONTYPE nVersion; 855 OMX_U32 nPortIndex; 856 OMX_S32 xWhiteBalanceGain[4]; 857 OMX_S32 xWhiteBalanceOffset[4]; 858 OMX_S32 nWhiteThreshhold[4]; 859} OMX_CONFIG_WHITEBALGAINTYPE; 860 861/** 862 * This structure represents linear color conversion from one space to another. For example, to conversion from one RGB color into another RGB color space can be represented as 863 * R' = xColorMatrix[1][1]*R + xColorMatrix[1][2]*G + xColorMatrix[1][3]*B + xColorOffset[1] 864 * G' = xColorMatrix[2][1]*R + xColorMatrix[2][2]*G + xColorMatrix[2][3]*B + xColorOffset[2] 865 * B' = xColorMatrix[3][1]*R + xColorMatrix[3][2]*G + xColorMatrix[3][3]*B + xColorOffset[3] 866 * Both xColorMatrix and xColorOffset are represented as Q16 value. 867 * bFullColorRange represents represents whether valid range of color is 0 to 255 (when set to TRUE) or 16 to 235 (for FALSE). 868 * Again all values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally. 869 * 870 * 871 * STRUCT MEMBERS: 872 * nSize : Size of the structure in bytes 873 * nVersion : OMX specification version information 874 * nPortIndex : Port that this structure applies to 875 * 876 */ 877typedef struct OMX_CONFIG_EXT_COLORCONVERSIONTYPE { 878 OMX_U32 nSize; 879 OMX_VERSIONTYPE nVersion; 880 OMX_U32 nPortIndex; 881 OMX_S32 xColorMatrix[3][3]; 882 OMX_S32 xColorOffset[3]; 883 OMX_BOOL bFullColorRange; 884}OMX_CONFIG_EXT_COLORCONVERSIONTYPE; 885 886 887/** 888 * xGamma represents lool-up table for gamma correction in Q16 format. 889 * All values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally. 890 * 891 * 892 * 893 * STRUCT MEMBERS: 894 * nSize : Size of the structure in bytes 895 * nVersion : OMX specification version information 896 * nPortIndex : Port that this structure applies to 897 * 898 */ 899typedef struct OMX_CONFIG_GAMMATABLETYPE { 900 OMX_U32 nSize; 901 OMX_VERSIONTYPE nVersion; 902 OMX_U32 nPortIndex; 903 OMX_U32 xGamma[3][256]; 904}OMX_CONFIG_GAMMATABLETYPE; 905 906 907 908/** 909 * processig types 910 */ 911typedef enum OMX_PROCESSINGTYPE{ 912 OMX_BloomingReduction = 0, 913 OMX_Denoise, 914 OMX_Sharpening, 915 OMX_Deblurring, 916 OMX_Demosaicing, 917 OMX_ContrastEnhancement, 918 OMX_ProcessingTypeMax = 0x7fffffff 919}OMX_PROCESSINGTYPE; 920 921 922typedef struct OMX_CONFIGPROCESSINGORDERTYPE { 923OMX_U32 nSize; /**< Size of the structure in bytes */ 924OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ 925OMX_U32 nPortIndex; /**< Port that this struct applies to */ 926OMX_U32 nIndex; 927OMX_PROCESSINGTYPE eProc; 928} OMX_CONFIGPROCESSINGORDERTYPE; 929 930/** 931 * HIST TYPE 932 */ 933typedef enum OMX_HISTTYPE{ 934 OMX_HistControlLuminance = 0, /**< Luminance histogram is calculated (Y)*/ 935 OMX_HistControlColorComponents, /**< A histogram per color component (R, G, B) is calculated*/ 936 OMX_HistControlChrominanceComponents /**< A histogram per chrominance component (Cb, Cr) is calculated.*/ 937}OMX_HISTTYPE; 938 939/** 940 * Histogram Setting 941 * nPortIndex is an output port. The port index decides on which port the extra data structur is sent on. 942 * bFrameLimited is a Boolean used to indicate if measurement shall be terminated after the specified number of 943 * frames if true frame limited measurement is enabled; otherwise the port does not terminate measurement until 944 * instructed to do so by the client. 945 * nFrameLimit is the limit on number of frames measured, this parameter is only valid if bFrameLimited is enabled. 946 * bMeasure is a Boolean that should be set to true when measurement shall begin, otherwise set to false. Query will give status information on if measurement is ongoing or not. 947 * nBins specifies the number of histogram bins. When queried with set to zero, the respons gives the maximum number of bins allowed. 948 * nLeft is the leftmost coordinate of the measurement area rectangle. 949 * nTop is the topmost coordinate of the measurement area rectangle. 950 * nWidth is the width of the measurement area rectangle in pixels. 951 * nHeight is the height of the measurement area rectangle in pixels. 952 * eHistType is an enumeration specifying the histogram type 953 * 954 * 955 */ 956 957typedef struct OMX_CONFIG_HISTOGRAMTYPE { 958 OMX_U32 nSize; 959 OMX_VERSIONTYPE nVersion; 960 OMX_U32 nPortIndex; 961 OMX_BOOL bFrameLimited; 962 OMX_U32 nFrameLimit; 963 OMX_BOOL bMeasure; 964 OMX_U32 nBins; 965 OMX_S32 nLeft; 966 OMX_S32 nTop; 967 OMX_U32 nWidth; 968 OMX_U32 nHeight; 969 OMX_HISTTYPE eHistType; 970} OMX_CONFIG_HISTOGRAMTYPE; 971 972/** 973 * Enums for HIST component type. 974 */ 975typedef enum OMX_HISTCOMPONENTTYPE{ 976 OMX_HISTCOMP_Y = 0, /**< Luminance histogram (Y) */ 977 OMX_HISTCOMP_YLOG, /**< Logarithmic luminance histogram (Y)*/ 978 OMX_HISTCOMP_R, /**< Red histogram component (R)*/ 979 OMX_HISTCOMP_G, /**< Green histogram component (G)*/ 980 OMX_HISTCOMP_B, /**< Blue histogram component (B)*/ 981 OMX_HISTCOMP_Cb, /**< Chroma blue histogram component (Cb)*/ 982 OMX_HISTCOMP_Cr /**< Chroma red histogram component (Cr) */ 983}OMX_HISTCOMPONENTTYPE; 984 985 /** 986 * The OMX_TI_CAMERAVIEWTYPE enumeration is used to identify the 987 * particular camera view that the rest of the data in the structure is 988 * associated with. 989 */ 990typedef enum OMX_TI_CAMERAVIEWTYPE 991{ 992 OMX_2D, /**< Camera view in 2D sensor configuration */ 993 OMX_Left, /**< Left camera view in stereo sensor configuration */ 994 OMX_Right, /**< Right camera view in stereo sensor configuration */ 995 OMX_TI_CAMERAVIEWTYPE_32BIT_PATCH = 0x7FFFFFFF 996} OMX_TI_CAMERAVIEWTYPE; 997/** 998 * nSize is the size of the structure including the length of data field containing 999 * the histogram data. 1000 * nBins is the number of bins in the histogram. 1001 * eComponentType specifies the type of the histogram bins according to enum. 1002 * It can be selected to generate multiple component types, then the extradata struct 1003 * is repeated for each component type. 1004 * data[1] first byte of the histogram data 1005 */ 1006typedef struct OMX_HISTOGRAMTYPE { 1007 OMX_U32 nSize; 1008 OMX_VERSIONTYPE nVersion; 1009 OMX_U32 nPortIndex; 1010 OMX_TI_CAMERAVIEWTYPE eCameraView; 1011 OMX_U32 nBins; 1012 OMX_HISTCOMPONENTTYPE eComponentType; 1013 OMX_U8 data[1]; 1014} OMX_HISTOGRAMTYPE; 1015 1016#define OMX_OTHER_EXTRADATATYPE_SIZE ( (OMX_U32)(((OMX_OTHER_EXTRADATATYPE*)0x0)->data) ) /**< Size of OMX_OTHER_EXTRADATATYPE**/ 1017/** 1018 * The extra data having ancillary data is described with the following structure. 1019 * This data contains single flags and values 1020 * (not arrays) that have general usage for camera applications. 1021 */ 1022typedef struct OMX_TI_ANCILLARYDATATYPE { 1023 OMX_U32 nSize; 1024 OMX_VERSIONTYPE nVersion; 1025 OMX_U32 nPortIndex; 1026 OMX_TI_CAMERAVIEWTYPE eCameraView; 1027 OMX_U32 nAncillaryDataVersion; 1028 OMX_U32 nFrameNumber; 1029 OMX_U32 nShotNumber; 1030 OMX_U16 nInputImageHeight; 1031 OMX_U16 nInputImageWidth; 1032 OMX_U16 nOutputImageHeight; 1033 OMX_U16 nOutputImageWidth; 1034 OMX_U16 nDigitalZoomFactor; 1035 OMX_S16 nCropCenterColumn; 1036 OMX_S16 nCropCenterRow; 1037 OMX_U16 nOpticalZoomValue; 1038 OMX_U8 nFlashConfiguration; 1039 OMX_U8 nFlashUsage; 1040 OMX_U32 nFlashStatus; 1041 OMX_U8 nAFStatus; 1042 OMX_U8 nAWBStatus; 1043 OMX_U8 nAEStatus; 1044 OMX_U32 nExposureTime; 1045 OMX_U16 nEVCompensation; 1046 OMX_U8 nDigitalGainValue; 1047 OMX_U8 nAnalogGainValue; 1048 OMX_U16 nCurrentISO; 1049 OMX_U16 nReferenceISO; 1050 OMX_U8 nApertureValue; 1051 OMX_U8 nPixelRange; 1052 OMX_U16 nPixelAspectRatio; 1053 OMX_U8 nCameraShake; 1054 OMX_U16 nFocalDistance; 1055 OMX_U64 nParameterChangeFlags; 1056 OMX_U8 nNumFacesDetected; 1057 OMX_U8 nConvergenceMode; 1058 OMX_U8 nConvergenceStatus; 1059 OMX_U8 nDCCStatus; 1060} OMX_TI_ANCILLARYDATATYPE; 1061 1062typedef struct OMX_TI_WHITEBALANCERESULTTYPE { 1063 OMX_U32 nSize; /**< Size */ 1064 OMX_VERSIONTYPE nVersion; /**< Version */ 1065 OMX_U32 nPortIndex; /**< Port Index */ 1066 OMX_TI_CAMERAVIEWTYPE eCameraView; 1067 OMX_U16 nColorTemperature; /**< White Balance Color Temperature in Kelvins */ 1068 OMX_U16 nGainR; /**< Bayer applied R color channel gain in (U13Q9) */ 1069 OMX_U16 nGainGR; /**< Bayer applied Gr color channel gain in (U13Q9) */ 1070 OMX_U16 nGainGB; /**< Bayer applied Gb color channel gain in (U13Q9) */ 1071 OMX_U16 nGainB; /**< Bayer applied B color channel gain in (U13Q9) */ 1072 OMX_S16 nOffsetR; /**< Bayer applied R color channel offset */ 1073 OMX_S16 nOffsetGR; /**< Bayer applied Gr color channel offset */ 1074 OMX_S16 nOffsetGB; /**< Bayer applied Gb color channel offset */ 1075 OMX_S16 nOffsetB; /**< Bayer applied B color channel offset */ 1076} OMX_TI_WHITEBALANCERESULTTYPE; 1077 1078/** 1079 * Unsaturated Regions data 1080 * The extra data having unsaturated regions data is 1081 * described with the following structure.. 1082 */ 1083typedef struct OMX_TI_UNSATURATEDREGIONSTYPE { 1084 OMX_U32 nSize; /**< Size */ 1085 OMX_VERSIONTYPE nVersion; /**< Version */ 1086 OMX_U32 nPortIndex; /**< Port Index */ 1087 OMX_U16 nPaxelsX; /**< The number of paxels in the horizontal direction */ 1088 OMX_U16 nPaxelsY; /**< The number of paxels in the vertical direction */ 1089 OMX_U16 data[1]; /**< the first value of an array of values that represent */ 1090} OMX_TI_UNSATURATEDREGIONSTYPE; 1091 1092/** 1093 * OMX_BARCODETYPE 1094 */ 1095typedef enum OMX_BARCODETYPE{ 1096 OMX_BARCODE1D = 0, /**< 1D barcode */ 1097 OMX_BARCODE2D, /**< 2D barcode */ 1098}OMX_BARCODETYPE; 1099/** 1100 * Brcode detection data 1101 * nLeft is the leftmost coordinate of the detected area rectangle. 1102 * nTop is the topmost coordinate of the detected area rectangle. 1103 * nWidth is the width of the detected area rectangle in pixels. 1104 * nHeight is the height of the detected area rectangle in pixels. 1105 * nOrientation is the orientation of the axis of the detected object. This refers to the angle between the vertical axis of barcode and the horizontal axis. 1106 * eBarcodetype is an enumeration specifying the barcode type, as listed in the given table. 1107 */ 1108typedef struct OMX_BARCODEDETECTIONTYPE { 1109 OMX_U32 nSize; 1110 OMX_VERSIONTYPE nVersion; 1111 OMX_U32 nPortIndex; 1112 OMX_TI_CAMERAVIEWTYPE eCameraView; 1113 OMX_S32 nLeft; 1114 OMX_S32 nTop; 1115 OMX_U32 nWidth; 1116 OMX_U32 nHeight; 1117 OMX_S32 nOrientation; 1118 OMX_BARCODETYPE eBarcodetype; 1119 } OMX_BARCODEDETECTIONTYPE; 1120 1121/** 1122 * Front object detection data 1123 * nLeft is the leftmost coordinate of the detected area rectangle. 1124 * nTop is the topmost coordinate of the detected area rectangle. 1125 * nWidth is the width of the detected area rectangle in pixels. 1126 * nHeight is the height of the detected area rectangle in pixels. 1127 */ 1128typedef struct OMX_FRONTOBJDETECTIONTYPE { 1129 OMX_U32 nSize; 1130 OMX_VERSIONTYPE nVersion; 1131 OMX_U32 nPortIndex; 1132 OMX_TI_CAMERAVIEWTYPE eCameraView; 1133 OMX_S32 nLeft; 1134 OMX_S32 nTop; 1135 OMX_U32 nWidth; 1136 OMX_U32 nHeight; 1137} OMX_FRONTOBJDETECTIONTYPE; 1138 1139/** 1140 * Distance estimation data 1141 * nDistance is the estimated distance to the object in millimeters. 1142 * nLargestDiscrepancy is the estimated largest discrepancy of the distance to the object in millimeters. When equal to MAX_INT the discrepancy is unknown. 1143 */ 1144typedef struct OMX_DISTANCEESTIMATIONTYPE { 1145 OMX_U32 nSize; 1146 OMX_VERSIONTYPE nVersion; 1147 OMX_U32 nPortIndex; 1148 OMX_TI_CAMERAVIEWTYPE eCameraView; 1149 OMX_U32 nDistance; 1150 OMX_U32 nLargestDiscrepancy; 1151} OMX_DISTANCEESTIMATIONTYPE; 1152 1153/** 1154 * Distance estimation data 1155 * nDistance is the estimated distance to the object in millimeters. 1156 * nLargestDiscrepancy is the estimated largest discrepancy of the distance to the object in millimeters. When equal to MAX_INT the discrepancy is unknown. 1157 */ 1158 1159typedef struct OMX_MOTIONESTIMATIONTYPE { 1160 OMX_U32 nSize; 1161 OMX_VERSIONTYPE nVersion; 1162 OMX_U32 nPortIndex; 1163 OMX_TI_CAMERAVIEWTYPE eCameraView; 1164 OMX_S32 nPanX; 1165 OMX_S32 nPanY; 1166} OMX_MOTIONESTIMATIONTYPE; 1167 1168 1169/** 1170 * Focus region data 1171 * nRefPortIndex is the port the image frame size is defined on. This image frame size is used as reference for the focus region rectangle. 1172 * nLeft is the leftmost coordinate of the focus region rectangle. 1173 * nTop is the topmost coordinate of the focus region rectangle. 1174 * nWidth is the width of the focus region rectangle in pixels. 1175 * nHeight is the height of the focus region rectangle in pixels. 1176 * 1177 */ 1178typedef struct OMX_FOCUSREGIONTYPE { 1179 OMX_U32 nSize; 1180 OMX_VERSIONTYPE nVersion; 1181 OMX_U32 nPortIndex; 1182 OMX_TI_CAMERAVIEWTYPE eCameraView; 1183 OMX_U32 nRefPortIndex; 1184 OMX_S32 nLeft; 1185 OMX_S32 nTop; 1186 OMX_U32 nWidth; 1187 OMX_U32 nHeight; 1188} OMX_FOCUSREGIONTYPE; 1189 1190/** 1191 * OMX_ISOSETTINGTYPE: specifies its auto or manual setting 1192 * 1193 */ 1194typedef enum OMX_ISOSETTINGTYPE{ 1195 OMX_Auto = 0, /**< */ 1196 OMX_IsoManual /**< */ 1197}OMX_ISOSETTINGTYPE; 1198 1199/** 1200 * nSize is the size of the structure including the length of data field containing 1201 * the histogram data. 1202 * eISOMode: 1203 * specifies the ISO seetting mode - auto/manual 1204 * nISOSetting: 1205 * for manual mode client can specify the ISO setting. 1206 */ 1207 1208typedef struct OMX_CONFIG_ISOSETTINGTYPE{ 1209 OMX_U32 nSize; 1210 OMX_VERSIONTYPE nVersion; 1211 OMX_U32 nPortIndex; 1212 OMX_ISOSETTINGTYPE eISOMode; 1213 OMX_U32 nISOSetting; 1214}OMX_CONFIG_ISOSETTINGTYPE; 1215 1216/** 1217 * custom RAW format 1218 */ 1219typedef struct OMX_CONFIG_RAWFORMATTYPE { 1220 OMX_U32 nSize; 1221 OMX_VERSIONTYPE nVersion; 1222 OMX_U32 nPortIndex; 1223 OMX_VERSIONTYPE nFormatVersion; 1224 OMX_STRING cVendorName; 1225} OMX_CONFIG_RAWFORMATTYPE; 1226 1227/** 1228 * Sensor type 1229 */ 1230typedef struct OMX_CONFIG_SENSORTYPE { 1231 OMX_U32 nSize; 1232 OMX_VERSIONTYPE nVersion; 1233 OMX_U32 nPortIndex; 1234 OMX_VERSIONTYPE nSensorVersion; 1235 OMX_STRING cModelName; 1236} OMX_CONFIG_SENSORTYPE; 1237 1238/** 1239 * Sensor custom data type 1240 */ 1241typedef struct OMX_CONFIG_SENSORCUSTOMDATATYPE { 1242 OMX_U32 nSize; 1243 OMX_VERSIONTYPE nVersion; 1244 OMX_U32 nPortIndex; 1245 OMX_U32 nDataLength; 1246 OMX_U8 xSensorData[1]; 1247} OMX_CONFIG_SENSORCUSTOMDATATYPE; 1248 1249/** 1250 * OMX_OBJDETECTQUALITY 1251 * 1252 */ 1253typedef enum OMX_OBJDETECTQUALITY{ 1254 OMX_FastDetection = 0, /**< A detection that prioritizes speed*/ 1255 OMX_Default, /**< The default detection, should be used when no control of the detection quality is given.*/ 1256 OMX_BetterDetection, /**< A detection that levels correct detection with speed*/ 1257 OMX_BestDtection, /**< A detection that prioritizes correct detection*/ 1258 OMX_AUTODETECTION /**< Automatically decide which object detection quality is best.*/ 1259}OMX_OBJDETECTQUALITY; 1260 1261/** 1262 * OBJECT DETECTION Type 1263 * nPortIndex: is an output port. The port index decides on which port the extra data structur of detected object is sent on. 1264 * bEnable : this controls ON/OFF for this object detection algirithm. 1265 * bFrameLimited: is a Boolean used to indicate if detection shall be terminated after the specified number of frames if 1266 * true frame limited detection is enabled; otherwise the port does not terminate detection until instructed to do so by the client. 1267 * nFrameLimit: is the limit on number of frames detection is executed for, this parameter is only valid if bFrameLimited is enabled. 1268 * nMaxNbrObjects: specifies the maximum number of objects that should be found in each frame. It is implementation dependent which objects are found. 1269 * nLeft: is the leftmost coordinate of the detection area rectangle. 1270 * nTop: is the topmost coordinate of the detection area rectangle. 1271 * nWidth: is the width of the detection area rectangle in pixels. 1272 * nHeight: is the height of the detection area rectangle in pixels. 1273 * eObjDetectQuality: is an enumeration specifying the quality desired by the detection. 1274 * nPriority: represents priority of each object when there are multiple objects detected. 1275 */ 1276 1277typedef struct OMX_CONFIG_OBJDETECTIONTYPE { 1278 OMX_U32 nSize; 1279 OMX_VERSIONTYPE nVersion; 1280 OMX_U32 nPortIndex; 1281 OMX_BOOL bEnable; 1282 OMX_BOOL bFrameLimited; 1283 OMX_U32 nFrameLimit; 1284 OMX_U32 nMaxNbrObjects; 1285 OMX_S32 nLeft; 1286 OMX_S32 nTop; 1287 OMX_U32 nWidth; 1288 OMX_U32 nHeight; 1289 OMX_OBJDETECTQUALITY eObjDetectQuality; 1290 OMX_U32 nPriority; 1291 OMX_U32 nDeviceOrientation; 1292 } OMX_CONFIG_OBJDETECTIONTYPE; 1293 1294 1295/** 1296 * OMX_OBJDETECTQUALITY 1297 * 1298 */ 1299typedef enum OMX_DISTTYPE{ 1300 OMX_DistanceControlFocus = 0, /**< focus objects distance type*/ 1301 OMX_DISTANCECONTROL_RECT /**< Evaluated distance to the object found in the rectangelar area indicated as input region. */ 1302}OMX_DISTTYPE; 1303 1304 1305/** 1306 * Distance mesurement 1307 * bStarted is a Boolean. The IL client sets it to true to start the measurement . 1308 * the IL client sets to false to stop the measurement. The IL client can query it to check if the measurement is ongoing. 1309 * nLeft : is the leftmost coordinate of the rectangle. 1310 * nTop : is the topmost coordinate of the rectangle. 1311 * nWidth: is the width of the rectangle in pixels. 1312 * nHeight: is the height of the rectangle in pixels. 1313 * eDistType: is an enumeration specifying the distance measurement type, as shown in 1314 */ 1315typedef struct OMX_CONFIG_DISTANCETYPE { 1316 OMX_U32 nSize; 1317 OMX_VERSIONTYPE nVersion; 1318 OMX_U32 nPortIndex; 1319 OMX_BOOL bStarted; 1320 OMX_S32 nLeft; 1321 OMX_S32 nTop; 1322 OMX_U32 nWidth; 1323 OMX_U32 nHeight; 1324 OMX_DISTTYPE eDistType; 1325} OMX_CONFIG_DISTANCETYPE; 1326 1327 1328/** 1329 * face detect data - face attribute 1330 * nARGBEyeColor: is the indicates a 32-bit eye color of the person, where bits 0-7 are blue, 1331 * bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha. 1332 * nARGBSkinColor: is the indicates a 32-bit skin color of the person, where bits 0-7 are blue, 1333 * bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha. 1334 * nARGBHairColor: is the indicates a 32-bit hair color of the person, where bits 0-7 are blue, 1335 * bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha. 1336 * nSmileScore: a smile detection score between 0 and 100, where 0 means not detecting, 1337 * 1 means least certain and 100 means most certain a smile is detected. 1338 * nBlinkScore: a eye-blink detection score between 0 and 100, where 0 means not detecting, 1339 * 1 means least certain and 100 means most certain an eye-blink is detected. 1340 * xIdentity: represents the identity of the face. With identity equal to zero this is not supported. 1341 * This can be used by a face recognition application. The component shall not reuse an identity value unless the same face. 1342 * Can be used to track detected faces when it moves between frames. Specific usage of this field is implementation dependent. 1343 * It can be some kind of ID. 1344 * 1345 */ 1346typedef struct OMX_FACEATTRIBUTE { 1347 OMX_U32 nARGBEyeColor; 1348 OMX_U32 nARGBSkinColor; 1349 OMX_U32 nARGBHairColor; 1350 OMX_U32 nSmileScore; 1351 OMX_U32 nBlinkScore; 1352 OMX_U32 xIdentity[4]; 1353} OMX_FACEATTRIBUTE; 1354 1355/** 1356 * xGamma represents lool-up table for gamma correction in Q16 format. 1357 * All values assume that maximum value is 255. If internal implementation uses higher dynamic range, this value should be adjusted internally. 1358 * 1359 * 1360 * 1361 * STRUCT MEMBERS: 1362 * nScore: is a detection score between 0 and 100, where 0 means unknown score, 1 means least certain and 100 means most certain the detection is correct. 1363 * nLeft: is the leftmost coordinate of the detected area rectangle. 1364 * nTop: is the topmost coordinate of the detected area rectangle. 1365 * nWidth: is the width of the detected area rectangle in pixels. 1366 * nHeight: is the height of the detected area rectangle in pixels. 1367 * nOrientationRoll/Yaw/Pitch is the orientation of the axis of the detected object. Here roll angle is defined as the angle between the vertical axis of face and the horizontal axis. All angles can have the value of -180 to 180 degree in Q16 format. Some face detection algorithm may not be able to fill in the angles, this is denoted by the use of MAX_INT value. 1368 * nPriority represents priority of each object when there are multiple objects detected. 1369 * nFaceAttr describe the attributes of the detected face object with the following structure: 1370 * 1371 * 1372 */ 1373typedef struct OMX_TI_FACERESULT { 1374 OMX_U32 nSize; 1375 OMX_VERSIONTYPE nVersion; 1376 OMX_U32 nPortIndex; 1377 OMX_TI_CAMERAVIEWTYPE eCameraView; 1378 OMX_U32 nScore; 1379 OMX_S32 nLeft; 1380 OMX_S32 nTop; 1381OMX_U32 nWidth; 1382OMX_U32 nHeight; 1383OMX_S32 nOrientationRoll; 1384OMX_S32 nOrientationYaw; 1385OMX_S32 nOrientationPitch; 1386OMX_U32 nPriority; 1387OMX_FACEATTRIBUTE nFaceAttr; 1388} OMX_TI_FACERESULT; 1389 1390 1391/** 1392 * Face detection data 1393 * The extra data having face detection data is described with the following structure. 1394 * The parser should only assume that the first tFacePosition[ulFaceCount] of the 35 elements 1395 * of the array should contain valid data. 1396 */ 1397typedef struct OMX_FACEDETECTIONTYPE { 1398 OMX_U32 nSize; 1399 OMX_VERSIONTYPE nVersion; 1400 OMX_U32 nPortIndex; 1401 OMX_TI_CAMERAVIEWTYPE eCameraView; 1402 OMX_U16 ulFaceCount; 1403 OMX_TI_FACERESULT tFacePosition[35];// 35 is max faces supported by FDIF 1404} OMX_FACEDETECTIONTYPE; 1405 1406/** 1407 * MTIS Vendor Specific Motion estimation 1408 * The extra data having MTIS motion estimation data is 1409 * described with the following structure. 1410 */ 1411typedef struct OMX_TI_MTISTYPE { 1412 OMX_U32 nSize; 1413 OMX_VERSIONTYPE nVersion; 1414 OMX_U32 nPortIndex; 1415 OMX_TI_CAMERAVIEWTYPE eCameraView; 1416 OMX_S32 nMaxMVh; /**< The maximum MV for horizontal direction */ 1417 OMX_S32 nMaxMVv; /**< The maximum MV for vertical direction */ 1418 OMX_U16 nMVRelY[9]; /**< The mask for MV reliability */ 1419 OMX_U16 nMVRelX[9]; /**< The mask for MV reliability */ 1420 OMX_S32 nMVh[9]; /**< The MVs for horizontal direction */ 1421 OMX_S32 nMVv[9]; /**< The MVs for vertical direction */ 1422} OMX_TI_MTISTYPE; 1423 1424/** 1425 * The OMX_EXTRADATATYPE enumeration is used to define the 1426 * possible extra data payload types. 1427 */ 1428typedef enum OMX_EXT_EXTRADATATYPE 1429{ 1430 OMX_ExifAttributes = 0x7F000001, /**< Reserved region for introducing Vendor Extensions */ 1431 OMX_AncillaryData, /**< 0x7F000002 ancillary data */ 1432 OMX_WhiteBalance, /**< 0x7F000003 white balance resultant data */ 1433 OMX_UnsaturatedRegions, /**< 0x7F000004 unsaturated regions data */ 1434 OMX_FaceDetection, /**< face detect data */ 1435 OMX_BarcodeDetection, /**< bar-code detct data */ 1436 OMX_FrontObjectDetection, /**< Front object detection data */ 1437 OMX_MotionEstimation, /**< motion Estimation data */ 1438 OMX_TI_MTISType, /**< 0x7F000009 MTIS motion Estimation data */ 1439 OMX_DistanceEstimation, /**< disctance estimation */ 1440 OMX_Histogram, /**< histogram */ 1441 OMX_FocusRegion, /**< focus region data */ 1442 OMX_ExtraDataPanAndScan, /**< 0x7F00000D pan and scan data */ 1443 OMX_RawFormat, /**< custom RAW data format */ 1444 OMX_SensorType, /**< vendor & model of the sensor being used */ 1445 OMX_SensorCustomDataLength, /**< vendor specific custom data length */ 1446 OMX_SensorCustomData, /**< vendor specific data */ 1447 OMX_TI_FrameLayout, /**< 0x7F000012 vendor specific data */ 1448 OMX_TI_SEIinfo2004Frame1, /**< 0x7F000013 Used for 2004 SEI message to be provided by video decoders */ 1449 OMX_TI_SEIinfo2004Frame2, /**< 0x7F000014 Used for 2004 SEI message to be provided by video decoders */ 1450 OMX_TI_SEIinfo2010Frame1, /**< 0x7F000015 Used for 2010 SEI message to be provided by video decoders */ 1451 OMX_TI_SEIinfo2010Frame2, /**< 0x7F000016 Used for 2010 SEI message to be provided by video decoders */ 1452 OMX_TI_RangeMappingInfo, /**< 0x7F000017 Used for Range mapping info provided by Video Decoders */ 1453 OMX_TI_RescalingInfo, /**< 0x7F000018 Used for width/height rescaling info provided by Video Decoders */ 1454 OMX_TI_WhiteBalanceOverWrite, /**< 0x7F000019 Used for manual AWB settings */ 1455 OMX_TI_ExtraData_Count, 1456 OMX_TI_ExtraData_Max = OMX_TI_ExtraData_Count - 1, 1457} OMX_EXT_EXTRADATATYPE; 1458 1459 1460/** 1461 * Enable Extra-data on a specific port. 1462 * 1463 * 1464 * 1465 * STRUCT MEMBERS: 1466 * nSize : Size of the structure in bytes 1467 * nVersion : OMX specification version information 1468 * nPortIndex : Port on which this extra data to be assosiated 1469 * eExtraDataType : Extra data type 1470 * bEnable : Eneble/Disable this extra-data through port. 1471 * 1472 */ 1473typedef struct OMX_CONFIG_EXTRADATATYPE { 1474 OMX_U32 nSize; 1475 OMX_VERSIONTYPE nVersion; 1476 OMX_U32 nPortIndex; 1477 OMX_EXT_EXTRADATATYPE eExtraDataType; 1478 OMX_TI_CAMERAVIEWTYPE eCameraView; 1479 OMX_BOOL bEnable; 1480} OMX_CONFIG_EXTRADATATYPE; 1481 1482/** 1483 * JPEG header type 1484 * */ 1485 1486typedef enum OMX_JPEGHEADERTYPE{ 1487 OMX_NoHeader = 0, 1488 OMX_JFIF, 1489 OMX_EXIF 1490}OMX_JPEGHEADERTYPE; 1491/** 1492 * Re-start marker configuration 1493 * 1494 * 1495 * 1496 * STRUCT MEMBERS: 1497 * nSize : Size of the structure in bytes 1498 * nVersion : OMX specification version information 1499 * nPortIndex : Port on which this extra data to be assosiated 1500 * eJpegHeaderType : JPEG header type EXIF, JFIF, or No heeader. 1501 */ 1502 1503typedef struct OMX_CONFIG_JPEGHEEADERTYPE{ 1504 OMX_U32 nSize; 1505 OMX_VERSIONTYPE nVersion; 1506 OMX_U32 nPortIndex; 1507 OMX_JPEGHEADERTYPE eJpegHeaderType; 1508}OMX_CONFIG_JPEGHEEADERTYPE; 1509 1510/** 1511 * Re-start marker configuration 1512 * 1513 * 1514 * 1515 * STRUCT MEMBERS: 1516 * nSize : Size of the structure in bytes 1517 * nVersion : OMX specification version information 1518 * nPortIndex : Port on which this extra data to be assosiated 1519 * nRstInterval : interval at which RST markers are to be inserted. 1520 * bEnable : Eneble/Disable this RST marker insertion feature. 1521 * 1522 */ 1523 1524typedef struct OMX_CONFIG_RSTMARKER{ 1525 OMX_U32 nSize; 1526 OMX_VERSIONTYPE nVersion; 1527 OMX_U32 nPortIndex; 1528 OMX_U32 nRstInterval; 1529 OMX_BOOL nEnable; 1530}OMX_CONFIG_RSTMARKER; 1531 1532/** 1533 * Enable Extra-data on a specific port. 1534 * 1535 * 1536 * 1537 * STRUCT MEMBERS: 1538 * nSize : Size of the structure in bytes 1539 * nVersion : OMX specification version information 1540 * nPortIndex : Port that this structure applies to 1541 * nMaxSize : max size 1542 * 1543 * 1544 */ 1545typedef struct OMX_IMAGE_JPEGMAXSIZE { 1546 OMX_U32 nSize; 1547 OMX_VERSIONTYPE nVersion; 1548 OMX_U32 nPortIndex; 1549 OMX_U32 nMaxSize; 1550} OMX_IMAGE_JPEGMAXSIZE; 1551 1552 1553typedef enum OMX_IMAGESTAMPOPERATION{ 1554 OMX_NewImageStamp = 0, 1555 OMX_Continuation 1556}OMX_IMAGESTAMPOPERATION; 1557 1558 1559/** 1560 * Enable Extra-data on a specific port. 1561 * 1562 * 1563 * 1564 * STRUCT MEMBERS: 1565 * nSize : Size of the structure in bytes 1566 * nVersion : OMX specification version information 1567 * nPortIndex : Port that this structure applies to 1568 * nMaxSize : max size 1569 * 1570 * 1571 */ 1572typedef struct OMX_PARAM_IMAGESTAMPOVERLAYTYPE { 1573 OMX_U32 nSize; 1574 OMX_VERSIONTYPE nVersion; 1575 OMX_U32 nPortIndex; 1576 OMX_IMAGESTAMPOPERATION nOp; 1577 OMX_U32 nLeft; 1578 OMX_U32 nTop; 1579 OMX_U32 nHeight; 1580 OMX_U32 nWidth; 1581 OMX_COLOR_FORMATTYPE eFormat; 1582 OMX_U8 * pBitMap; 1583} OMX_PARAM_IMAGESTAMPOVERLAYTYPE; 1584 1585 1586/** 1587 * Enable Extra-data on a specific port. 1588 * 1589 * 1590 * 1591 * STRUCT MEMBERS: 1592 * nSize : Size of the structure in bytes 1593 * nVersion : OMX specification version information 1594 * nPortIndex : Port that this structure applies to 1595 * nMaxSize : max size 1596 * 1597 * 1598 */ 1599typedef struct OMX_PARAM_THUMBNAILTYPE { 1600 OMX_U32 nSize; 1601 OMX_VERSIONTYPE nVersion; 1602 OMX_U32 nPortIndex; 1603 OMX_U32 nHeight; 1604 OMX_U32 nWidth; 1605 OMX_IMAGE_CODINGTYPE eCompressionFormat; 1606 OMX_COLOR_FORMATTYPE eColorFormat; 1607 OMX_U32 nQuality; 1608 OMX_U32 nMaxSize; 1609} OMX_PARAM_THUMBNAILTYPE; 1610 1611/** 1612 * Red-Eye Removal Enum 1613 */ 1614typedef enum OMX_REDEYEREMOVALTYPE{ 1615 OMX_RedEyeRemovalOff = 0, /** No red eye removal*/ 1616 OMX_RedEyeRemovalOn, /** Red eye removal on*/ 1617 OMX_RedEyeRemovalAuto, /** Red eye removal will be done automatically when detected*/ 1618 OMX_RedEyeRemovalKhronosExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions*/ 1619 OMX_RedEyeRemovalVendorStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions*/ 1620 OMX_RedEyeRemovalMax = 0x7FFFFFFF 1621}OMX_REDEYEREMOVALTYPE; 1622 1623/** 1624 * Enable Extra-data on a specific port. 1625 * 1626 * 1627 * 1628 * STRUCT MEMBERS: 1629 * nSize : Size of the structure in bytes 1630 * nVersion : OMX specification version information 1631 * nPortIndex : Port that this structure applies to 1632 * nLeft: is the leftmost coordinate of the detection area rectangle (such as face region). 1633 * nTop: is the topmost coordinate of the detection area rectangle (such as face region). 1634 * nWidth: is the width of the detection area rectangle in pixels. 1635 * nHeight: is the height of the detection area rectangle in pixels. 1636 * nARGBEyeColor indicates a 32-bit eye color to replace the red-eye, where bits 0-7 are blue, bits 15-8 are green, bits 24-16 are red, and bits 31-24 are for alpha. When all zero indicates automatic choice. 1637 1638 * 1639 */ 1640typedef struct OMX_CONFIG_REDEYEREMOVALTYPE { 1641 OMX_U32 nSize; 1642 OMX_VERSIONTYPE nVersion; 1643 OMX_U32 nPortIndex; 1644 OMX_S32 nLeft; 1645 OMX_S32 nTop; 1646 OMX_U32 nWidth; 1647 OMX_U32 nHeight; 1648 OMX_U32 nARGBEyeColor; 1649 OMX_REDEYEREMOVALTYPE eMode; 1650} OMX_CONFIG_REDEYEREMOVALTYPE; 1651 1652 1653 1654 1655 1656 1657/** 1658 * Video capture YUV Range Enum 1659 */ 1660typedef enum OMX_VIDEOYUVRANGETYPE{ 1661 OMX_ITURBT601 = 0, 1662 OMX_Full8Bit, 1663 OMX_VideoYUVRangeKhronosExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions*/ 1664 OMX_VideoYUVRangeVendorStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions*/ 1665 OMX_VideoYUVRangeMax = 0x7FFFFFFF 1666}OMX_VIDEOYUVRANGETYPE; 1667 1668/** 1669 * Enable Extra-data on a specific port. 1670 * 1671 * 1672 * 1673 * STRUCT MEMBERS: 1674 * nSize : Size of the structure in bytes 1675 * nVersion : OMX specification version information 1676 * nPortIndex : Port that this structure applies to 1677 * 1678 */ 1679typedef struct OMX_PARAM_VIDEOYUVRANGETYPE { 1680 OMX_U32 nSize; 1681 OMX_VERSIONTYPE nVersion; 1682 OMX_U32 nPortIndex; 1683 OMX_VIDEOYUVRANGETYPE eYUVRange; 1684} OMX_PARAM_VIDEOYUVRANGETYPE; 1685 1686/** 1687 * Video noise filter mode range enum 1688 */ 1689typedef enum OMX_VIDEONOISEFILTERMODETYPE{ 1690 OMX_VideoNoiseFilterModeOff = 0, 1691 OMX_VideoNoiseFilterModeOn, 1692 OMX_VideoNoiseFilterModeAuto, 1693 OMX_VideoNoiseFilterModeExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */ 1694 OMX_VideoNoiseFilterModeStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */ 1695 OMX_VideoNoiseFilterModeMax = 0x7FFFFFFF 1696} OMX_VIDEONOISEFILTERMODETYPE; 1697 1698/** 1699 * Enable video noise filter. 1700 * 1701 * STRUCT MEMBERS: 1702 * nSize : Size of the structure in bytes 1703 * nVersion : OMX specification version information 1704 * nPortIndex : Port that this structure applies to 1705 * eMode : Video noise filter mode (on/off/auto) 1706 */ 1707typedef struct OMX_PARAM_VIDEONOISEFILTERTYPE { 1708 OMX_U32 nSize; 1709 OMX_VERSIONTYPE nVersion; 1710 OMX_U32 nPortIndex; 1711 OMX_VIDEONOISEFILTERMODETYPE eMode; 1712} OMX_PARAM_VIDEONOISEFILTERTYPE; 1713 1714 1715/** 1716 * High ISO Noise filter mode range enum 1717 */ 1718typedef enum OMX_ISONOISEFILTERMODETYPE{ 1719 OMX_ISONoiseFilterModeOff = 0, 1720 OMX_ISONoiseFilterModeOn, 1721 OMX_ISONoiseFilterModeAuto, 1722 OMX_ISONoiseFilterModeExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */ 1723 OMX_ISONoiseFilterModeStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */ 1724 OMX_ISONoiseFilterModeMax = 0x7FFFFFFF 1725} OMX_ISONOISEFILTERMODETYPE; 1726 1727/** 1728 * Enable ISO noise filter. 1729 * 1730 * STRUCT MEMBERS: 1731 * nSize : Size of the structure in bytes 1732 * nVersion : OMX specification version information 1733 * nPortIndex : Port that this structure applies to 1734 * eMode : ISO noise filter (NSF2 is used) mode (on/off/auto) 1735 */ 1736typedef struct OMX_PARAM_ISONOISEFILTERTYPE { 1737 OMX_U32 nSize; 1738 OMX_VERSIONTYPE nVersion; 1739 OMX_U32 nPortIndex; 1740 OMX_ISONOISEFILTERMODETYPE eMode; 1741} OMX_PARAM_ISONOISEFILTERTYPE; 1742 1743/** 1744 * Structure used to to call OMX_GetParams() for each 1745 * increment of "Index" starting with "0" 1746 * 1747 * STRUCT MEMBERS: 1748 * nSize : Size of the structure in bytes 1749 * nVersion : OMX specification version information 1750 * nIndex : Index of the sDCCURI 0..MAX_URI_LENGTH 1751 * sDCCURI : Look-up table containing strings. Ends with '\0' 1752 */ 1753typedef struct OMX_TI_PARAM_DCCURIINFO { 1754 OMX_U32 nSize; 1755 OMX_VERSIONTYPE nVersion; 1756 OMX_U32 nIndex; 1757 OMX_S8 sDCCURI[MAX_URI_LENGTH]; 1758} OMX_TI_PARAM_DCCURIINFO; 1759 1760/** 1761 * Structure used to configure DCC buffer 1762 * 1763 * STRUCT MEMBERS: 1764 * nSize : Size of the structure in bytes 1765 * nVersion : OMX specification version information 1766 * nDCCURIBuffSize : Size of the pDCCURIBuff in bytes 1767 * pDCCURIBuff : Pointer to a buffer 1768 */ 1769typedef struct OMX_TI_PARAM_DCCURIBUFFER { 1770 OMX_U32 nSize; 1771 OMX_VERSIONTYPE nVersion; 1772 OMX_U32 nDCCURIBuffSize; 1773 OMX_U8 *pDCCURIBuff; 1774} OMX_TI_PARAM_DCCURIBUFFER; 1775 1776/** 1777 * Manual White Balance color temperature 1778 * STRUCT MEMBERS: 1779 * nSize : Size of the structure in bytes 1780 * nVersion : OMX specification version information 1781 * nPortIndex : Port that this structure applies to 1782 * nColorTemperature : Color Temperature in K 1783 */ 1784typedef struct OMX_TI_CONFIG_WHITEBALANCECOLORTEMPTYPE { 1785 OMX_U32 nSize; 1786 OMX_VERSIONTYPE nVersion; 1787 OMX_U32 nPortIndex; 1788 OMX_U32 nColorTemperature; 1789} OMX_TI_CONFIG_WHITEBALANCECOLORTEMPTYPE; 1790 1791/** 1792 * Focus spot weighting range enum 1793 */ 1794typedef enum OMX_TI_CONFIG_FOCUSSPOTMODETYPE { 1795 OMX_FocusSpotDefault = 0, /** Makes CommonFocusRegion to be used. */ 1796 OMX_FocusSpotSinglecenter, 1797 OMX_FocusSpotMultiNormal, 1798 OMX_FocusSpotMultiAverage, 1799 OMX_FocusSpotMultiCenter, 1800 OMX_FocusSpotExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */ 1801 OMX_FocusSpotModeStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */ 1802 OMX_FocusSpotModeMax = 0x7FFFFFFF 1803} OMX_TI_CONFIG_FOCUSSPOTMODETYPE; 1804 1805/** 1806 * Focus Spot Weighting configuration. 1807 * 1808 * STRUCT MEMBERS: 1809 * nSize : Size of the structure in bytes 1810 * nVersion : OMX specification version information 1811 * nPortIndex : Port that this structure applies to 1812 * eMode : Spot Weighting mode 1813 */ 1814typedef struct OMX_TI_CONFIG_FOCUSSPOTWEIGHTINGTYPE { 1815 OMX_U32 nSize; 1816 OMX_VERSIONTYPE nVersion; 1817 OMX_U32 nPortIndex; 1818 OMX_TI_CONFIG_FOCUSSPOTMODETYPE eMode; 1819} OMX_TI_CONFIG_FOCUSSPOTWEIGHTINGTYPE; 1820 1821/** 1822 * Enumeration of possible Exposure control types for OMX_EXPOSURECONTROLTYPE 1823 */ 1824typedef enum OMX_TI_EXTEXPOSURECONTROLTYPE { 1825 OMX_TI_ExposureControlVeryLong = OMX_ExposureControlVendorStartUnused + 1 1826} OMX_TI_EXTEXPOSURECONTROLTYPE; 1827 1828/** 1829 * Variable frame rate configuration. 1830 * 1831 * STRUCT MEMBERS: 1832 * nSize : Size of the structure in bytes 1833 * nVersion : OMX specification version information 1834 * nPortIndex : Port that this structure applies to 1835 * xMinFramerate : Minimum variable frame rate value 1836 */ 1837typedef struct OMX_TI_PARAM_VARFRAMERATETYPE { 1838 OMX_U32 nSize; 1839 OMX_VERSIONTYPE nVersion; 1840 OMX_U32 nPortIndex; 1841 OMX_U32 xMinFramerate; 1842} OMX_TI_PARAM_VARFRAMERATETYPE; 1843 1844/** 1845 * Exposure config for right frame 1846 */ 1847typedef struct OMX_TI_CONFIG_EXPOSUREVALUERIGHTTYPE { 1848 OMX_U32 nSize; 1849 OMX_VERSIONTYPE nVersion; 1850 OMX_U32 nPortIndex; 1851 OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */ 1852 OMX_U32 nShutterSpeedMsec; /**< Shutterspeed in milliseconds */ 1853 OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */ 1854} OMX_TI_CONFIG_EXPOSUREVALUERIGHTTYPE; 1855 1856/** 1857 * Auto Convergence mode enum 1858 */ 1859typedef enum OMX_TI_AUTOCONVERGENCEMODETYPE { 1860 OMX_TI_AutoConvergenceModeDisable, 1861 OMX_TI_AutoConvergenceModeFrame, 1862 OMX_TI_AutoConvergenceModeCenter, 1863 OMX_TI_AutoConvergenceModeFocusFaceTouch, 1864 OMX_TI_AutoConvergenceModeManual, 1865 OMX_TI_AutoConvergenceExtensions = 0x6F000000, /** Reserved region for introducing Khronos Standard Extensions */ 1866 OMX_TI_AutoConvergenceStartUnused = 0x7F000000, /** Reserved region for introducing Vendor Extensions */ 1867 OMX_TI_AutoConvergenceModeMax = 0x7FFFFFFF 1868} OMX_TI_AUTOCONVERGENCEMODETYPE; 1869 1870/** 1871 * Variable farame rate configuration. 1872 * 1873 * STRUCT MEMBERS: 1874 * nSize : Size of the structure in bytes 1875 * nVersion : OMX specification version information 1876 * nPortIndex : Port that this structure applies to 1877 * eACMode : Auto convergence mode 1878 * nManualConverence : Manual Converence value 1879 * nACProcWinStartX : Start X AC Window 1880 * nACProcWinStartY : Start Y AC Window 1881 * nACProcWinWidth : Width of AC Window 1882 * nACProcWinHeight : Height of AC Window 1883 * bACStatus : output status from AL alg 1884 */ 1885typedef struct OMX_TI_CONFIG_CONVERGENCETYPE { 1886 OMX_U32 nSize; 1887 OMX_VERSIONTYPE nVersion; 1888 OMX_U32 nPortIndex; 1889 OMX_TI_AUTOCONVERGENCEMODETYPE eACMode; 1890 OMX_S32 nManualConverence; 1891 OMX_U32 nACProcWinStartX; 1892 OMX_U32 nACProcWinStartY; 1893 OMX_U32 nACProcWinWidth; 1894 OMX_U32 nACProcWinHeight; 1895 OMX_BOOL bACStatus; 1896} OMX_TI_CONFIG_CONVERGENCETYPE; 1897 1898/** 1899 * Camera specific version. 1900 * 1901 * STRUCT MEMBERS: 1902 * nBranch : Branch 1903 * nCommitID : Commit ID 1904 * nBuildDateTime : Build date and time 1905 * nExtraInfo : rederved for future use 1906 */ 1907typedef struct OMX_TI_CAMERASPECVERSIONTYPE { 1908 OMX_U8 nBranch[64]; 1909 OMX_U8 nCommitID[64]; 1910 OMX_U8 nBuildDateTime[64]; 1911 OMX_U8 nExtraInfo[64]; 1912} OMX_TI_CAMERASPECVERSIONTYPE; 1913 1914/** 1915 * Stereo frame layout enum 1916 */ 1917typedef enum OMX_TI_STEREOFRAMELAYOUTTYPE { 1918 OMX_TI_StereoFrameLayout2D, 1919 OMX_TI_StereoFrameLayoutTopBottom, 1920 OMX_TI_StereoFrameLayoutLeftRight, 1921 OMX_TI_StereoFrameLayoutMax = 0x7FFFFFFF 1922} OMX_TI_STEREOFRAMELAYOUTTYPE; 1923 1924/** 1925 * Camera frame layout type. 1926 * 1927 * STRUCT MEMBERS: 1928 * eFrameLayout : frame layout 1929 * nSubsampleRatio : subsample ratio 1930 */ 1931typedef struct OMX_TI_FRAMELAYOUTTYPE { 1932 OMX_U32 nSize; 1933 OMX_VERSIONTYPE nVersion; 1934 OMX_U32 nPortIndex; 1935 OMX_TI_STEREOFRAMELAYOUTTYPE eFrameLayout; 1936 OMX_U32 nSubsampleRatio; /** Subsampling ratio, Q15.7 */ 1937} OMX_TI_FRAMELAYOUTTYPE; 1938 1939/** 1940 * The OMX_TI_COLOR_FORMATTYPE enumeration is used to define the 1941 * extended color format types. 1942 */ 1943typedef enum OMX_TI_COLOR_FORMATTYPE { 1944 OMX_TI_COLOR_FormatYUV420PackedSemiPlanarInterlaced = 1945 (OMX_COLOR_FORMATTYPE) OMX_COLOR_FormatVendorStartUnused + 1, 1946 OMX_TI_COLOR_FormatRawBayer10bitStereo = 1947 OMX_COLOR_FormatVendorStartUnused + 2, /**< 10 bit raw for stereo */ 1948 OMX_TI_COLOR_FormatYUV420PackedSemiPlanar = 1949 (OMX_COLOR_FORMATTYPE) OMX_COLOR_FormatVendorStartUnused + 0x100 /* 0x100 is used since it is the corresponding HAL pixel fromat */ 1950} OMX_TI_COLOR_FORMATTYPE; 1951 1952/** 1953 * The OMX_TI_EXIFTAGSTATUS enumeration is used to define the 1954 * tag status types. 1955 */ 1956typedef enum OMX_TI_EXIFTAGSTATUS { 1957 OMX_TI_TagReadOnly, /**< implies this tag is generated within omx-camera >*/ 1958 OMX_TI_TagReadWrite, /**< implies this tag can be overwritten by client >*/ 1959 OMX_TI_TagUpdated, /**< client has to use this to indicate the specific tag is overwritten >*/ 1960 OMX_TI_ExifStatus_Max = 0x7fffffff 1961} OMX_TI_EXIFTAGSTATUS; 1962 1963typedef struct OMX_TI_CONFIG_EXIF_TAGS { 1964 OMX_U32 nSize; 1965 OMX_VERSIONTYPE nVersion; 1966 OMX_U32 nPortIndex; 1967 OMX_TI_EXIFTAGSTATUS eStatusImageWidth; 1968 OMX_U32 ulImageWidth; 1969 OMX_TI_EXIFTAGSTATUS eStatusImageHeight; 1970 OMX_U32 ulImageHeight; 1971 OMX_TI_EXIFTAGSTATUS eStatusBitsPerSample; 1972 OMX_U16 usBitsPerSample[3]; 1973 OMX_TI_EXIFTAGSTATUS eStatusCompression; 1974 OMX_U16 usCompression; 1975 OMX_TI_EXIFTAGSTATUS eStatusPhotometricInterpretation; 1976 OMX_U16 usPhotometricInterpretation; 1977 OMX_TI_EXIFTAGSTATUS eStatusOrientation; 1978 OMX_U16 usOrientation; 1979 OMX_TI_EXIFTAGSTATUS eStatusSamplesPerPixel; 1980 OMX_U16 usSamplesPerPixel; 1981 OMX_TI_EXIFTAGSTATUS eStatusPlanarConfiguration; 1982 OMX_U16 usPlanarConfiguration; 1983 OMX_TI_EXIFTAGSTATUS eStatusYCbCrSubSampling; 1984 OMX_U16 usYCbCrSubSampling[2]; 1985 OMX_TI_EXIFTAGSTATUS eStatusYCbCrPositioning; 1986 OMX_U16 usYCbCrPositioning; 1987 OMX_TI_EXIFTAGSTATUS eStatusXResolution; 1988 OMX_U32 ulXResolution[2]; 1989 OMX_TI_EXIFTAGSTATUS eStatusYResolution; 1990 OMX_U32 ulYResolution[2]; 1991 OMX_TI_EXIFTAGSTATUS eStatusResolutionUnit; 1992 OMX_U16 usResolutionUnit; 1993 1994 OMX_TI_EXIFTAGSTATUS eStatusRowsPerStrip; 1995 OMX_U32 ulRowsPerStrip; 1996 OMX_TI_EXIFTAGSTATUS eStatusDataSize; 1997 OMX_U32 ulDataSize; 1998 1999 OMX_TI_EXIFTAGSTATUS eStatusTransferFunction; 2000 OMX_U16 usTransferFunction[3*256]; 2001 OMX_TI_EXIFTAGSTATUS eStatusWhitePoint; 2002 OMX_U32 ulWhitePoint[4]; //2x2 2003 OMX_TI_EXIFTAGSTATUS eStatusPrimaryChromaticities; 2004 OMX_U32 ulPrimaryChromaticities[12]; //2x6 2005 OMX_TI_EXIFTAGSTATUS eStatusYCbCrCoefficients; 2006 OMX_U32 ulYCbCrCoefficients[6]; //2x3 2007 OMX_TI_EXIFTAGSTATUS eStatusReferenceBlackWhite; 2008 OMX_U32 ulReferenceBlackWhite[12]; //2x6 2009 OMX_TI_EXIFTAGSTATUS eStatusDateTime; 2010 OMX_S8* pDateTimeBuff; 2011 OMX_U32 ulDateTimeBuffSizeBytes; 2012 OMX_TI_EXIFTAGSTATUS eStatusImageDescription; 2013 OMX_S8* pImageDescriptionBuff; 2014 OMX_U32 ulImageDescriptionBuffSizeBytes; 2015 OMX_TI_EXIFTAGSTATUS eStatusMake; 2016 OMX_S8* pMakeBuff; 2017 OMX_U32 ulMakeBuffSizeBytes; 2018 OMX_TI_EXIFTAGSTATUS eStatusModel; 2019 OMX_S8* pModelBuff; 2020 OMX_U32 ulModelBuffSizeBytes; 2021 OMX_TI_EXIFTAGSTATUS eStatusSoftware; 2022 OMX_S8* pSoftwareBuff; 2023 OMX_U32 ulSoftwareBuffSizeBytes; 2024 OMX_TI_EXIFTAGSTATUS eStatusArtist; 2025 OMX_S8* pArtistBuff; 2026 OMX_U32 ulArtistBuffSizeBytes; 2027 OMX_TI_EXIFTAGSTATUS eStatusCopyright; 2028 OMX_S8* pCopyrightBuff; 2029 OMX_U32 ulCopyrightBuffSizeBytes; 2030 2031 OMX_TI_EXIFTAGSTATUS eStatusExifVersion; 2032 OMX_S8 cExifVersion[4]; 2033 OMX_TI_EXIFTAGSTATUS eStatusFlashpixVersion; 2034 OMX_S8 cFlashpixVersion[4]; 2035 OMX_TI_EXIFTAGSTATUS eStatusColorSpace; 2036 OMX_U16 usColorSpace; 2037 OMX_TI_EXIFTAGSTATUS eStatusComponentsConfiguration; 2038 OMX_S8 cComponentsConfiguration[4]; 2039 OMX_TI_EXIFTAGSTATUS eStatusCompressedBitsPerPixel; 2040 OMX_U32 ulCompressedBitsPerPixel[2]; 2041 OMX_TI_EXIFTAGSTATUS eStatusPixelXDimension; 2042 OMX_U32 ulPixelXDimension; 2043 OMX_TI_EXIFTAGSTATUS eStatusPixelYDimension; 2044 OMX_U32 ulPixelYDimension; 2045 OMX_TI_EXIFTAGSTATUS eStatusMakerNote; 2046 OMX_S8* pMakerNoteBuff; 2047 OMX_U32 ulMakerNoteBuffSizeBytes; 2048 OMX_TI_EXIFTAGSTATUS eStatusUserComment; 2049 OMX_S8* pUserCommentBuff; 2050 OMX_U32 ulUserCommentBuffSizeBytes; 2051 OMX_TI_EXIFTAGSTATUS eStatusRelatedSoundFile; 2052 OMX_S8 cRelatedSoundFile[13]; 2053 OMX_TI_EXIFTAGSTATUS eStatusDateTimeOriginal; 2054 OMX_S8* pDateTimeOriginalBuff; 2055 OMX_U32 ulDateTimeOriginalBuffSizeBytes; 2056 OMX_TI_EXIFTAGSTATUS eStatusDateTimeDigitized; 2057 OMX_S8* pDateTimeDigitizedBuff; 2058 OMX_U32 ulDateTimeDigitizedBuffSizeBytes; 2059 OMX_TI_EXIFTAGSTATUS eStatusSubSecTime; 2060 OMX_S8* pSubSecTimeBuff; 2061 OMX_U32 ulSubSecTimeBuffSizeBytes; 2062 OMX_TI_EXIFTAGSTATUS eStatusSubSecTimeOriginal; 2063 OMX_S8* pSubSecTimeOriginalBuff; 2064 OMX_U32 ulSubSecTimeOriginalBuffSizeBytes; 2065 OMX_TI_EXIFTAGSTATUS eStatusSubSecTimeDigitized; 2066 OMX_S8* pSubSecTimeDigitizedBuff; 2067 OMX_U32 ulSubSecTimeDigitizedBuffSizeBytes; 2068 2069 OMX_TI_EXIFTAGSTATUS eStatusExposureTime; 2070 OMX_U32 ulExposureTime[2]; 2071 OMX_TI_EXIFTAGSTATUS eStatusFNumber; 2072 OMX_U32 ulFNumber[2]; 2073 OMX_TI_EXIFTAGSTATUS eStatusExposureProgram; 2074 OMX_U16 usExposureProgram; 2075 OMX_TI_EXIFTAGSTATUS eStatusSpectralSensitivity; 2076 OMX_S8* pSpectralSensitivityBuff; 2077 OMX_U32 ulSpectralSensitivityBuffSizeBytes; 2078 OMX_TI_EXIFTAGSTATUS eStatusISOCount; 2079 OMX_U16 usISOCount; 2080 OMX_TI_EXIFTAGSTATUS eStatusISOSpeedRatings; 2081 OMX_U16* pISOSpeedRatings; 2082 OMX_TI_EXIFTAGSTATUS eStatusOECF; 2083 OMX_S8* pOECFBuff; 2084 OMX_U32 ulOECFBuffSizeBytes; 2085 OMX_TI_EXIFTAGSTATUS eStatusShutterSpeedValue; 2086 OMX_S32 slShutterSpeedValue[2]; 2087 OMX_TI_EXIFTAGSTATUS eStatusApertureValue; 2088 OMX_U32 ulApertureValue[2]; 2089 OMX_TI_EXIFTAGSTATUS eStatusBrightnessValue; 2090 OMX_S32 slBrightnessValue[2]; 2091 OMX_TI_EXIFTAGSTATUS eStatusExposureBiasValue; 2092 OMX_S32 slExposureBiasValue[2]; 2093 OMX_TI_EXIFTAGSTATUS eStatusMaxApertureValue; 2094 OMX_U32 ulMaxApertureValue[2]; 2095 OMX_TI_EXIFTAGSTATUS eStatusSubjectDistance; 2096 OMX_U32 ulSubjectDistance[2]; 2097 OMX_TI_EXIFTAGSTATUS eStatusMeteringMode; 2098 OMX_U16 usMeteringMode; 2099 OMX_TI_EXIFTAGSTATUS eStatusLightSource; 2100 OMX_U16 usLightSource; 2101 OMX_TI_EXIFTAGSTATUS eStatusFlash; 2102 OMX_U16 usFlash; 2103 OMX_TI_EXIFTAGSTATUS eStatusFocalLength; 2104 OMX_U32 ulFocalLength[2]; 2105 OMX_TI_EXIFTAGSTATUS eStatusSubjectArea; 2106 OMX_U16 usSubjectArea[4]; 2107 OMX_TI_EXIFTAGSTATUS eStatusFlashEnergy; 2108 OMX_U32 ulFlashEnergy[2]; 2109 OMX_TI_EXIFTAGSTATUS eStatusSpatialFrequencyResponse; 2110 OMX_S8* pSpatialFrequencyResponseBuff; 2111 OMX_U32 ulSpatialFrequencyResponseBuffSizeBytes; 2112 OMX_TI_EXIFTAGSTATUS eStatusFocalPlaneXResolution; 2113 OMX_U32 ulFocalPlaneXResolution[2]; 2114 OMX_TI_EXIFTAGSTATUS eStatusFocalPlaneYResolution; 2115 OMX_U32 ulFocalPlaneYResolution[2]; 2116 OMX_TI_EXIFTAGSTATUS eStatusFocalPlaneResolutionUnit; 2117 OMX_U16 usFocalPlaneResolutionUnit; 2118 OMX_TI_EXIFTAGSTATUS eStatusSubjectLocation; 2119 OMX_U16 usSubjectLocation[2]; 2120 OMX_TI_EXIFTAGSTATUS eStatusExposureIndex; 2121 OMX_U32 ulExposureIndex[2]; 2122 OMX_TI_EXIFTAGSTATUS eStatusSensingMethod; 2123 OMX_U16 usSensingMethod; 2124 OMX_TI_EXIFTAGSTATUS eStatusFileSource; 2125 OMX_S8 cFileSource; 2126 OMX_TI_EXIFTAGSTATUS eStatusSceneType; 2127 OMX_S8 cSceneType; 2128 OMX_TI_EXIFTAGSTATUS eStatusCFAPattern; 2129 OMX_S8* pCFAPatternBuff; 2130 OMX_U32 ulCFAPatternBuffSizeBytes; 2131 OMX_TI_EXIFTAGSTATUS eStatusCustomRendered; 2132 OMX_U16 usCustomRendered; 2133 OMX_TI_EXIFTAGSTATUS eStatusExposureMode; 2134 OMX_U16 usExposureMode; 2135 OMX_TI_EXIFTAGSTATUS eStatusWhiteBalance; 2136 OMX_U16 usWhiteBalance; 2137 OMX_TI_EXIFTAGSTATUS eStatusDigitalZoomRatio; 2138 OMX_U32 ulDigitalZoomRatio[2]; 2139 OMX_TI_EXIFTAGSTATUS eStatusFocalLengthIn35mmFilm; 2140 OMX_U16 usFocalLengthIn35mmFilm; 2141 OMX_TI_EXIFTAGSTATUS eStatusSceneCaptureType; 2142 OMX_U16 usSceneCaptureType; 2143 OMX_TI_EXIFTAGSTATUS eStatusGainControl; 2144 OMX_U16 usGainControl; 2145 OMX_TI_EXIFTAGSTATUS eStatusContrast; 2146 OMX_U16 usContrast; 2147 OMX_TI_EXIFTAGSTATUS eStatusSaturation; 2148 OMX_U16 usSaturation; 2149 OMX_TI_EXIFTAGSTATUS eStatusSharpness; 2150 OMX_U16 usSharpness; 2151 OMX_TI_EXIFTAGSTATUS eStatusDeviceSettingDescription; 2152 OMX_S8* pDeviceSettingDescriptionBuff; 2153 OMX_U32 ulDeviceSettingDescriptionBuffSizeBytes; 2154 OMX_TI_EXIFTAGSTATUS eStatusSubjectDistanceRange; 2155 OMX_U16 usSubjectDistanceRange; 2156 2157 OMX_TI_EXIFTAGSTATUS eStatusImageUniqueID; 2158 OMX_S8 cImageUniqueID[33]; 2159 OMX_U8* pPrivateNextIFDPointer; //Should not be used by the application 2160 OMX_U8* pPrivateThumbnailSize; //Should not be used by the application 2161 OMX_U8* pPrivateTiffHeaderPointer; //Should not be used by the application 2162 2163 OMX_TI_EXIFTAGSTATUS eStatusGpsVersionId; 2164 OMX_U8 ucGpsVersionId[4]; 2165 OMX_TI_EXIFTAGSTATUS eStatusGpslatitudeRef; 2166 OMX_S8 cGpslatitudeRef[2]; 2167 OMX_TI_EXIFTAGSTATUS eStatusGpsLatitude; 2168 OMX_U32 ulGpsLatitude[6]; 2169 OMX_TI_EXIFTAGSTATUS eStatusGpsLongitudeRef; 2170 OMX_S8 cGpsLongitudeRef[2]; 2171 OMX_TI_EXIFTAGSTATUS eStatusGpsLongitude; 2172 OMX_U32 ulGpsLongitude[6]; 2173 OMX_TI_EXIFTAGSTATUS eStatusGpsAltitudeRef; 2174 OMX_U8 ucGpsAltitudeRef; 2175 OMX_TI_EXIFTAGSTATUS eStatusGpsAltitude; 2176 OMX_U32 ulGpsAltitude[2]; 2177 OMX_TI_EXIFTAGSTATUS eStatusGpsTimeStamp; 2178 OMX_U32 ulGpsTimeStamp[6]; 2179 OMX_TI_EXIFTAGSTATUS eStatusGpsSatellites; 2180 OMX_S8* pGpsSatellitesBuff; 2181 OMX_U32 ulGpsSatellitesBuffSizeBytes; 2182 OMX_TI_EXIFTAGSTATUS eStatusGpsStatus; 2183 OMX_S8 cGpsStatus[2]; 2184 OMX_TI_EXIFTAGSTATUS eStatusGpsMeasureMode; 2185 OMX_S8 cGpsMeasureMode[2]; 2186 OMX_TI_EXIFTAGSTATUS eStatusGpsDop; 2187 OMX_U32 ulGpsDop[2]; 2188 OMX_TI_EXIFTAGSTATUS eStatusGpsSpeedRef; 2189 OMX_S8 cGpsSpeedRef[2]; 2190 OMX_TI_EXIFTAGSTATUS eStatusGpsSpeed; 2191 OMX_U32 ulGpsSpeed[2]; 2192 OMX_TI_EXIFTAGSTATUS eStatusGpsTrackRef; 2193 OMX_S8 cGpsTrackRef[2]; 2194 OMX_TI_EXIFTAGSTATUS eStatusGpsTrack; 2195 OMX_U32 ulGpsTrack[2]; 2196 OMX_TI_EXIFTAGSTATUS eStatusGpsImgDirectionRef; 2197 OMX_S8 cGpsImgDirectionRef[2]; 2198 OMX_TI_EXIFTAGSTATUS eStatusGpsImgDirection; 2199 OMX_U32 ulGpsImgDirection[2]; 2200 OMX_TI_EXIFTAGSTATUS eStatusGpsMapDatum; 2201 OMX_S8* pGpsMapDatumBuff; 2202 OMX_U32 ulGpsMapDatumBuffSizeBytes; 2203 OMX_TI_EXIFTAGSTATUS eStatusGpsDestLatitudeRef; 2204 OMX_S8 cGpsDestLatitudeRef[2]; 2205 OMX_TI_EXIFTAGSTATUS eStatusGpsDestLatitude; 2206 OMX_U32 ulGpsDestLatitude[6]; 2207 OMX_TI_EXIFTAGSTATUS eStatusGpsDestLongitudeRef; 2208 OMX_S8 cGpsDestLongitudeRef[2]; 2209 OMX_TI_EXIFTAGSTATUS eStatusGpsDestLongitude; 2210 OMX_U32 ulGpsDestLongitude[6]; 2211 OMX_TI_EXIFTAGSTATUS eStatusGpsDestBearingRef; 2212 OMX_S8 cGpsDestBearingRef[2]; 2213 OMX_TI_EXIFTAGSTATUS eStatusGpsDestBearing; 2214 OMX_U32 ulGpsDestBearing[2]; 2215 OMX_TI_EXIFTAGSTATUS eStatusGpsDestDistanceRef; 2216 OMX_S8 cGpsDestDistanceRef[2]; 2217 OMX_TI_EXIFTAGSTATUS eStatusGpsDestDistance; 2218 OMX_U32 ulGpsDestDistance[2]; 2219 OMX_TI_EXIFTAGSTATUS eStatusGpsProcessingMethod; 2220 OMX_S8* pGpsProcessingMethodBuff; 2221 OMX_U32 ulGpsProcessingMethodBuffSizeBytes; 2222 OMX_TI_EXIFTAGSTATUS eStatusGpsAreaInformation; 2223 OMX_S8* pGpsAreaInformationBuff; 2224 OMX_U32 ulGpsAreaInformationBuffSizeBytes; 2225 OMX_TI_EXIFTAGSTATUS eStatusGpsDateStamp; 2226 OMX_S8 cGpsDateStamp[11]; 2227 OMX_TI_EXIFTAGSTATUS eStatusGpsDifferential; 2228 OMX_U16 usGpsDifferential; 2229} OMX_TI_CONFIG_EXIF_TAGS; 2230 2231/** 2232 * Structure used to configure current OMX_TI_SENMOUNT_TYPE 2233 * 2234 * @param nSenId 2235 * @param nRotation 2236 */ 2237typedef struct OMX_TI_SENMOUNT_TYPE { 2238 OMX_U32 nSenId; 2239 OMX_U32 nRotation; 2240}OMX_TI_SENMOUNT_TYPE; 2241 2242/** 2243 * Structure used to configure current OMX_TI_VARFPSTYPE 2244 * 2245 * @param nVarFPSMin Number of the smallest FPS supported. 2246 * @param nVarFPSMax Number of the biggest FPS supported. 2247 */ 2248typedef struct OMX_TI_VARFPSTYPE { 2249 OMX_U32 nVarFPSMin; 2250 OMX_U32 nVarFPSMax; 2251} OMX_TI_VARFPSTYPE; 2252 2253/** 2254 * Structure used to configure current OMX_TI_CONFIG_SHAREDBUFFER 2255 * 2256 * STRUCT MEMBERS: 2257 * nSize : Size of the structure in bytes 2258 * nVersion : OMX specification version information 2259 * nPortIndex : Port that this structure applies to 2260 * nSharedBuffSize : Size of the pSharedBuff in bytes 2261 * pSharedBuff : Pointer to a buffer 2262 */ 2263typedef struct OMX_TI_CONFIG_SHAREDBUFFER { 2264 OMX_U32 nSize; 2265 OMX_VERSIONTYPE nVersion; 2266 OMX_U32 nPortIndex; 2267 OMX_U32 nSharedBuffSize; 2268 OMX_U8* pSharedBuff; 2269} OMX_TI_CONFIG_SHAREDBUFFER; 2270 2271/** 2272 * Structure used to configure current OMX_TI_CAPRESTYPE 2273 * 2274 * STRUCT MEMBERS: 2275 * nSize : Size of the structure in bytes 2276 * nVersion : OMX specification version information 2277 * nPortIndex : Port that this structure applies to 2278 * nWidthMin : Number of the smallest width supported 2279 * nHeightMin : Number of the smallest height supported 2280 * nWidthMax : Number of the biggest width supported 2281 * nHeightMax : Number of the biggest height supported 2282 */ 2283typedef struct OMX_TI_CAPRESTYPE { 2284 OMX_U32 nSize; 2285 OMX_VERSIONTYPE nVersion; 2286 OMX_U32 nPortIndex; 2287 OMX_U32 nWidthMin; // smallest width supported 2288 OMX_U32 nHeightMin; // smallest height supported 2289 OMX_U32 nWidthMax; // biggest width supported 2290 OMX_U32 nHeightMax; // biggest height supported 2291} OMX_TI_CAPRESTYPE; 2292 2293/** 2294 * Structure used to configure current OMX_TI_CAPTYPE 2295 * 2296 * STRUCT MEMBERS: 2297 * nSize : Size of the structure in bytes 2298 * nVersion : OMX specification version information 2299 * nPortIndex : Port that this structure applies to 2300 * ulPreviewFormatCount : Number of the supported preview pixelformat count 2301 * ePreviewFormats : Array containing the supported preview pixelformat count 2302 * ulImageFormatCount : Number of the supported image pixelformat count 2303 * eImageFormats : Array containing the supported image pixelformat count 2304 * tPreviewResRange : Supported preview resolution range 2305 * tImageResRange : Supported image resolution range 2306 * tThumbResRange : Supported thumbnail resolution range 2307 * ulWhiteBalanceCount : Supported whitebalance mode count 2308 * eWhiteBalanceModes : Array containing the whitebalance modes 2309 * ulColorEffectCount : Supported effects count 2310 * eColorEffects : Array containing the supported effects 2311 * xMaxWidthZoom : Fixed point value stored as Q16 representing the maximum value for the Zoom allowed on Width 2312 * xMaxHeightZoom : Fixed point value stored as Q16 representing the maximum value for the Zoom allowed on Height 2313 * ulFlickerCount : Number of the supported anti-flicker modes 2314 * eFlicker : Array containing the supported anti-flicker modes 2315 * ulExposureModeCount : Number of the supported exposure modes 2316 * eExposureModes : Array containing the supported exposure modes 2317 * bLensDistortionCorrectionSupported : Flag for Lens Distortion Correction Algorithm support 2318 * bISONoiseFilterSupported : Flag for Noise Filter Algorithm support 2319 * xEVCompensationMin : Fixed point value stored as Q16 representing the EVCompensation minumum allowed value 2320 * xEVCompensationMax : Fixed point value stored as Q16 representing the EVCompensation maximum allowed value 2321 * nSensitivityMax : nSensitivityMax = 100 implies maximum supported equal to "ISO 100" 2322 * ulFocusModeCount : Number of the supported focus modes 2323 * eFocusModes : Array containing the supported focus modes 2324 * ulSceneCount : Number of the supported scenes 2325 * eSceneModes : Array containing the supported scenes 2326 * ulFlashCount : Number of the supported flash modes 2327 * eFlashModes : Array containing the supported flash modes 2328 * xFramerateMin : Fixed point value stored as Q16 representing the minimum framerate allowed 2329 * xFramerateMax : Fixed point value stored as Q16 representing the maximum framerate allowed 2330 * bContrastSupported : Flag showing if the contrast is supported 2331 * bSaturationSupported : Flag showing if the saturation is supported 2332 * bBrightnessSupported : Flag showing if the brightness is supported 2333 * bProcessingLevelSupported : Flag showing if the processing level is supported 2334 * bQFactorSupported : Flag showing if the QFactor is supported 2335 * ulPrvVarFPSModesCount : Number of preview FPS modes 2336 * tPrvVarFPSModes : Preview FPS modes 2337 * ulCapVarFPSModesCount : Number of capture FPS modes 2338 * tCapVarFPSModes : Capture FPS modes 2339 * tSenMounting : Sensor mount information 2340 */ 2341typedef struct OMX_TI_CAPTYPE { 2342 OMX_U32 nSize; 2343 OMX_VERSIONTYPE nVersion; 2344 OMX_U32 nPortIndex; 2345 OMX_U16 ulPreviewFormatCount; // supported preview pixelformat count 2346 OMX_COLOR_FORMATTYPE ePreviewFormats[100]; 2347 OMX_U16 ulImageFormatCount; // supported image pixelformat count 2348 OMX_COLOR_FORMATTYPE eImageFormats[100]; 2349 OMX_TI_CAPRESTYPE tPreviewResRange; // supported preview resolution range 2350 OMX_TI_CAPRESTYPE tImageResRange; // supported image resolution range 2351 OMX_TI_CAPRESTYPE tThumbResRange; // supported thumbnail resolution range 2352 OMX_U16 ulWhiteBalanceCount; // supported whitebalance mode count 2353 OMX_WHITEBALCONTROLTYPE eWhiteBalanceModes[100]; 2354 OMX_U16 ulColorEffectCount; // supported effects count 2355 OMX_IMAGEFILTERTYPE eColorEffects[100]; 2356 OMX_S32 xMaxWidthZoom; // Fixed point value stored as Q16 2357 OMX_S32 xMaxHeightZoom; // Fixed point value stored as Q16 2358 OMX_U16 ulFlickerCount; // supported anti-flicker mode count 2359 OMX_COMMONFLICKERCANCELTYPE eFlicker[100]; 2360 OMX_U16 ulExposureModeCount; // supported exposure mode count 2361 OMX_EXPOSURECONTROLTYPE eExposureModes[100]; 2362 OMX_BOOL bLensDistortionCorrectionSupported; 2363 OMX_BOOL bISONoiseFilterSupported; 2364 OMX_S32 xEVCompensationMin; // Fixed point value stored as Q16 2365 OMX_S32 xEVCompensationMax; // Fixed point value stored as Q16 2366 OMX_U32 nSensitivityMax; // nSensitivityMax = 100 implies maximum supported equal to "ISO 100" 2367 OMX_U16 ulFocusModeCount; // supported focus mode count 2368 OMX_IMAGE_FOCUSCONTROLTYPE eFocusModes[100]; 2369 OMX_U16 ulSceneCount; // supported scene count 2370 OMX_SCENEMODETYPE eSceneModes[100]; 2371 OMX_U16 ulFlashCount; // supported flash modes count 2372 OMX_IMAGE_FLASHCONTROLTYPE eFlashModes[100]; 2373 OMX_U32 xFramerateMin; // Fixed point value stored as Q16 2374 OMX_U32 xFramerateMax; // Fixed point value stored as Q16 2375 OMX_BOOL bContrastSupported; 2376 OMX_BOOL bSaturationSupported; 2377 OMX_BOOL bBrightnessSupported; 2378 OMX_BOOL bProcessingLevelSupported; 2379 OMX_BOOL bQFactorSupported; 2380 OMX_U16 ulPrvVarFPSModesCount; // supported variable FPS preview modes count 2381 OMX_TI_VARFPSTYPE tPrvVarFPSModes[10]; 2382 OMX_U16 ulCapVarFPSModesCount; // supported variable FPS capture modes count 2383 OMX_TI_VARFPSTYPE tCapVarFPSModes[10]; 2384 OMX_TI_SENMOUNT_TYPE tSenMounting; 2385} OMX_TI_CAPTYPE; 2386 2387/** 2388 * Defines 3A Face priority mode. 2389 * 2390 * STRUCT MEMBERS: 2391 * nSize : Size of the structure in bytes 2392 * nVersion : OMX specification version information 2393 * nPortIndex : Port that this structure applies to 2394 * bAwbFaceEnable : Enable Face priority for Auto White Balance 2395 * bAeFaceEnable : Enable Face priority for Auto Exposure 2396 * bAfFaceEnable : Enable Face priority for Auto Focus 2397 */ 2398typedef struct OMX_TI_CONFIG_3A_FACE_PRIORITY { 2399 OMX_U32 nSize; 2400 OMX_VERSIONTYPE nVersion; 2401 OMX_U32 nPortIndex; 2402 OMX_BOOL bAwbFaceEnable; 2403 OMX_BOOL bAeFaceEnable; 2404 OMX_BOOL bAfFaceEnable; 2405} OMX_TI_CONFIG_3A_FACE_PRIORITY; 2406 2407/** 2408 * Defines 3A Region priority mode. 2409 * 2410 * STRUCT MEMBERS: 2411 * nSize : Size of the structure in bytes 2412 * nVersion : OMX specification version information 2413 * nPortIndex : Port that this structure applies to 2414 * bAwbFaceEnable : Enable Region priority for Auto White Balance 2415 * bAeFaceEnable : Enable Region priority for Auto Exposure 2416 * bAfFaceEnable : Enable Region priority for Auto Focus 2417 */ 2418typedef struct OMX_TI_CONFIG_3A_REGION_PRIORITY { 2419 OMX_U32 nSize; 2420 OMX_VERSIONTYPE nVersion; 2421 OMX_U32 nPortIndex; 2422 OMX_BOOL bAwbRegionEnable; 2423 OMX_BOOL bAeRegionEnable; 2424 OMX_BOOL bAfRegionEnable; 2425} OMX_TI_CONFIG_3A_REGION_PRIORITY; 2426 2427/* 2428* STRUCT MEMBERS: 2429* nSize : Size of the structure in bytes 2430* nVersion : OMX specification version information 2431* nPortIndex : Port that this structure applies to 2432* bAutoConvergence : Enable/Disable Auto Convergence 2433*/ 2434typedef struct OMX_TI_PARAM_AUTOCONVERGENCETYPE { 2435 OMX_U32 nSize; 2436 OMX_VERSIONTYPE nVersion; 2437 OMX_U32 nPortIndex; 2438 OMX_BOOL bAutoConvergence; 2439} OMX_TI_PARAM_AUTOCONVERGENCETYPE; 2440 2441/** 2442 * Focus distance configuration 2443 * 2444 * STRUCT MEMBERS: 2445 * nSize: Size of the structure in bytes 2446 * nVersion: OMX specification version information 2447 * nPortIndex: Port that this structure applies to 2448 * nFocusDistanceNear : Specifies the near focus distance in mm ( 0 equals infinity ) 2449 * nFocusDistanceOptimal : Specifies the optimal focus distance in mm ( 0 equals infinity ) 2450 * nFocusDistanceFar : Specifies the far focus distance in mm ( 0 equals infinity ) 2451 * nLensPosition : Specifies the current lens position in driver units 2452 */ 2453typedef struct OMX_TI_CONFIG_FOCUSDISTANCETYPE { 2454 OMX_U32 nSize; 2455 OMX_VERSIONTYPE nVersion; 2456 OMX_U32 nPortIndex; 2457 OMX_U32 nFocusDistanceNear; 2458 OMX_U32 nFocusDistanceOptimal; 2459 OMX_U32 nFocusDistanceFar; 2460 OMX_S32 nLensPosition; 2461} OMX_TI_CONFIG_FOCUSDISTANCETYPE; 2462 2463/* 2464* STRUCT MEMBERS: 2465* nSize : Size of the structure in bytes 2466* nVersion : OMX specification version information 2467* nPortIndex : Port that this structure applies to 2468* pAAAskipBuff : Pointer to a buffer 2469* AAAskipBuffId : Id of the send buffer 2470* AAAskipBuffSize : Size of the sent buffer 2471*/ 2472typedef struct OMX_TI_CONFIG_AAASKIPBUFFERTYPE { 2473 OMX_U32 nSize; 2474 OMX_VERSIONTYPE nVersion; 2475 OMX_U32 nPortIndex; 2476 OMX_PTR pAAAskipBuff; 2477 OMX_U32 AAAskipBuffId; 2478 OMX_U32 AAAskipBuffSize; 2479} OMX_TI_CONFIG_AAASKIPBUFFERTYPE; 2480 2481 2482/** 2483 * The OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE enumeration is used to define the 2484 * brightness and contrast mode types. 2485 */ 2486typedef enum OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE { 2487 OMX_TI_BceModeOff = 0, 2488 OMX_TI_BceModeOn, 2489 OMX_TI_BceModeAuto, 2490 OMX_TI_BceModeMax = 0x7FFFFFFF 2491} OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE; 2492 2493/** 2494 * Local and global brightness contrast type. 2495 * 2496 * STRUCT MEMBERS: 2497 * nSize : Size of the structure in bytes 2498 * nVersion : OMX specification version information 2499 * nPortIndex : Port that this structure applies to 2500 * eControl : Control field for GLBCE 2501 */ 2502typedef struct OMX_TI_CONFIG_LOCAL_AND_GLOBAL_BRIGHTNESSCONTRASTTYPE { 2503 OMX_U32 nSize; 2504 OMX_VERSIONTYPE nVersion; 2505 OMX_U32 nPortIndex; 2506 OMX_TI_BRIGHTNESSCONTRASTCRTLTYPE eControl; 2507} OMX_TI_CONFIG_LOCAL_AND_GLOBAL_BRIGHTNESSCONTRASTTYPE; 2508 2509/** 2510 * Uncompressed image operating mode configuration structure. 2511 * 2512 * @param nSize Size of the structure in bytes. 2513 * @param nVersion OMX specification version information. 2514 * @param xMin The minimum frame rate allowed. 2515 * Units are Q16 frames per second. 2516 * @param xMax The maximum frame rate allowed. 2517 * Units are Q16 frames per second. 2518 */ 2519 2520typedef struct OMX_TI_CONFIG_VARFRMRANGETYPE { 2521 OMX_U32 nSize; 2522 OMX_VERSIONTYPE nVersion; 2523 OMX_U32 xMin; 2524 OMX_U32 xMax; 2525} OMX_TI_CONFIG_VARFRMRANGETYPE; 2526 2527/** 2528* A pointer to this struct is passed to the OMX_SetParameter when the extension 2529* index for the 'OMX.google.android.index.enableAndroidNativeBuffers' extension 2530* is given. 2531* The corresponding extension Index is OMX_TI_IndexUseNativeBuffers. 2532* This will be used to inform OMX about the presence of gralloc pointers instead 2533* of virtual pointers 2534*/ 2535typedef struct OMX_TI_PARAMUSENATIVEBUFFER { 2536 OMX_U32 nSize; 2537 OMX_VERSIONTYPE nVersion; 2538 OMX_U32 nPortIndex; 2539 OMX_BOOL bEnable; 2540} OMX_TI_PARAMUSENATIVEBUFFER; 2541 2542/*==========================================================================*/ 2543/*! 2544@brief OMX_TI_PARAM_ENHANCEDPORTRECONFIG : Suport added to new port reconfig usage 2545@param bUsePortReconfigForCrop Enables port reconfig for crop. 2546@param bUsePortReconfigForPadding Enables port reconfig for padding 2547*/ 2548/*==========================================================================*/ 2549 2550typedef struct OMX_TI_PARAM_ENHANCEDPORTRECONFIG { 2551 OMX_U32 nSize; 2552 OMX_VERSIONTYPE nVersion; 2553 OMX_U32 nPortIndex; 2554 OMX_BOOL bUsePortReconfigForCrop; 2555 OMX_BOOL bUsePortReconfigForPadding; 2556} OMX_TI_PARAM_ENHANCEDPORTRECONFIG; 2557 2558/** 2559* Define the frames queue len for ZSL 2560* 2561* STRUCT MEMBERS: 2562* nSize: Size of the structure in bytes 2563* nVersion: OMX specification version information 2564* nHistoryLen: History len in number of frames 2565*/ 2566typedef struct OMX_TI_PARAM_ZSLHISTORYLENTYPE { 2567 OMX_U32 nSize; 2568 OMX_VERSIONTYPE nVersion; 2569 OMX_U32 nHistoryLen; 2570} OMX_TI_PARAM_ZSLHISTORYLENTYPE; 2571 2572/** 2573* Define the frame delay in ms for ZSL 2574* 2575* STRUCT MEMBERS: 2576* nSize: Size of the structure in bytes 2577* nVersion: OMX specification version information 2578* nDelay: Capture frame delay in ms 2579*/ 2580typedef struct OMX_TI_CONFIG_ZSLDELAYTYPE { 2581 OMX_U32 nSize; 2582 OMX_VERSIONTYPE nVersion; 2583 OMX_S32 nDelay; 2584} OMX_TI_CONFIG_ZSLDELAYTYPE; 2585 2586 2587#ifdef __cplusplus 2588} 2589#endif /* __cplusplus */ 2590 2591#endif 2592 2593 2594