# HG changeset patch # User arunabha # Date 1260985500 0 # Node ID 760f846bbee9d7d16932224f8ad5f296c40d7f89 # Parent ef85d0a8d402420d1fa8388bf7117e229d48c709 New SHAI contributions for Camera_SHAI_Specification_v1_0 diff -r ef85d0a8d402 -r 760f846bbee9 Camera/OMX_CameraIVCommonExt.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Camera/OMX_CameraIVCommonExt.h Wed Dec 16 17:45:00 2009 +0000 @@ -0,0 +1,401 @@ +/* + OMX_CameraIVCommonExt.h + + Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + All rights reserved. + + This program and the accompanying materials are made available + under the terms of the Eclipse Public License v1.0 which accompanies + this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Initial Contributors: + Nokia Corporation - initial contribution. +*/ + +/** @file +@brief Symbian OpenMAX IL Extension Data Structures Common for Imaging and Video. + +This file contains the extension structures for the Symbian IL extensions that +are common to Imaging and Video domains. + +@publishedDeviceAbstraction +*/ + +#ifndef OMX_CameraIVCommonExt_h +#define OMX_CameraIVCommonExt_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ +#include +#include + + +/** Color format extensions. */ +typedef enum OMX_EXTCOLORFORMATTYPE { + OMX_COLOR_FormatYUV420MBPackedSemiPlanar = OMX_COLOR_FormatVendorStartUnused + 0x1 +} OMX_EXTCOLORFORMATTYPE; + +/** Primary color enumeration. */ +typedef enum OMX_COLORPRIMARYTYPE { + OMX_ColorPrimaryFullRange, + OMX_ColorPrimaryBT601, + OMX_ColorPrimaryBT709, + OMX_ColorMax = 0x7FFFFFFF +} OMX_COLORPRIMARYTYPE; + + +/** High level control type classification. +*/ + +typedef enum OMX_HIGHLEVELCONTROLTYPE { + OMX_HighLevelControlOff, + OMX_HighLevelControlOn, + OMX_HighLevelControlAuto +} OMX_HIGHLEVELCONTROLTYPE; + +/** + * Enumeration of possible focus ranges + */ + +typedef enum OMX_IMAGE_FOCUSRANGETYPE { +OMX_IMAGE_FocusRangeAuto, +OMX_IMAGE_FocusRangeHyperfocal, +OMX_IMAGE_FocusRangeSuperMacro, +OMX_IMAGE_FocusRangeMacro, +OMX_IMAGE_FocusRangeInfinity, +} OMX_IMAGE_FOCUSRANGETYPE; + +/** + * Enumeration of possible flicker removal values + */ + +typedef enum OMX_COMMONFLICKERREMOVALTYPE { +OMX_FlickerRemovalOff, +OMX_FlickerRemovalAuto, +OMX_FlickerRemoval50, +OMX_FlickerRemoval60, +} OMX_COMMONFLICKERREMOVALTYPE; + +/** + * Enumeration of possible power versus image quality choices + */ + +typedef enum OMX_IMAGE_QHINTTYPE { + OMX_IMAGE_QNotSpecified = 0, + OMX_IMAGE_QLow,//low power mode + OMX_IMAGE_QBalanced, + OMX_IMAGE_QHigh +} OMX_IMAGE_QHINTTYPE; + +/** + * Enumeration of possible depth of field choices + */ + +typedef enum OMX_IMAGE_DOFHINTTYPE { + OMX_IMAGE_DoFNotSpecified = 0, + OMX_IMAGE_DoFSmall, + OMX_IMAGE_DoFMedium, + OMX_IMAGE_DoFLarge +} OMX_IMAGE_DOFHINTTYPE; + +/** + * Enumeration of possible rotation angles + */ + +typedef enum OMX_ROTATIONANGLETYPE { + OMX_CW_0 = 0, + OMX_CW_90, + OMX_CW_180, + OMX_CW_270 +} OMX_ROTATIONANGLETYPE; + +/** + * Enumeration of possible rotation types for metadata + */ + +typedef enum OMX_METADATAROTATIONTYPE { + OMX_MetadataRotationNone, + OMX_MetadataRotationScene, + OMX_MetadataRotationUI +} OMX_METADATAROTATIONTYPE; + +/** + * Extension of Exposure Control + */ + +enum { + OMX_ExposureControlExtensionCenter = OMX_ExposureControlVendorStartUnused + 0x02, + OMX_ExposureControlExtensionVeryLong +}; + + +/** + * Extension of Image Filter + */ + +enum { + OMX_ImageFilterSepia = OMX_ImageFilterVendorStartUnused + 0x01, + OMX_ImageFilterGrayScale, + OMX_ImageFilterNatural, + OMX_ImageFilterVivid +}; + +/** YUV data color range. + +The index specified for this structure is retrieved using +OMX_GetExtensionIndex() with the extension string +"OMX.Index.Param.Common.ColorPrimary". +*/ +typedef struct OMX_PARAM_COLORPRIMARYTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_COLORPRIMARYTYPE eColorPrimary; +} OMX_PARAM_COLORPRIMARYTYPE; + + +/** Pixel Aspect Ratio. + +The index specified for this structure is retrieved using +OMX_GetExtensionIndex() with the extension string +"OMX.Index.Param.Common.PixelAspectRatio". +*/ +typedef struct OMX_PARAM_PIXELASPECTRATIOTYPE +{ + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_U8 nHorizontal; /**< Width of pixel. nHorizontal is 4 is For 4:3 PAR */ + OMX_U8 nVertical; /**< Height of pixel. nVertical is 3 is For 4:3 PAR */ + OMX_TICKS nTimestamp; /**< Time when PAR change should happen */ +} OMX_PARAM_PIXELASPECTRATIOTYPE; + +/** High Level Control. +The OMX_CONFIG_HIGHLEVELCONTROLTYPE structure is used to set or query +the used control level of a setting. +The index specified for this structure is retrieved using +OMX_GetExtensionIndex() with the extension string +"OMX.Index.Config.Common.HighLevelControl". +*/ +typedef struct OMX_CONFIG_HIGHLEVELCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_HIGHLEVELCONTROLTYPE eControl; +} OMX_CONFIG_HIGHLEVELCONTROLTYPE; + + +/** Zoom Factor. +The OMX_CONFIG_ZOOMFACTORTYPE structure is used to set or query +the used zoom value. The index specified for this structure is +retrieved using OMX_GetExtensionIndex() with the extension string +"OMX.Index.Config.Common.ZoomFactor". +*/ + +typedef struct OMX_CONFIG_ZOOMFACTORTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 xZoomFieldOfView; +}OMX_CONFIG_ZOOMFACTORTYPE; + +/** Focus Range. + +The OMX_CONFIG_FOCUSRANGETYPE structure is used to set or query +the used range of focus when focusing. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Common.FocusRange". +*/ + +typedef struct OMX_CONFIG_FOCUSRANGETYPE { +OMX_U32 nSize; +OMX_VERSIONTYPE nVersion; +OMX_U32 nPortIndex; +OMX_IMAGE_FOCUSRANGETYPE eFocusRange; +} OMX_CONFIG_FOCUSRANGETYPE; + +/** Focus Status. + +The OMX_CONFIG_EXTFOCUSSTATUSTYPE structure is used to query +the current status of focusing process. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Common.FocusStatus". +*/ + +typedef struct OMX_CONFIG_EXTFOCUSSTATUSTYPE { +OMX_U32 nSize; +OMX_VERSIONTYPE nVersion; +OMX_FOCUSSTATUSTYPE eFocusStatus; +} OMX_CONFIG_EXTFOCUSSTATUSTYPE; + +/** Flicker Removal. + +The OMX_CONFIG_FLICKERREMOVAL structure is used to set or query +the flicker removal setting. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Common.FlickerRemoval". +*/ + +typedef struct OMX_CONFIG_FLICKERREMOVALTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; +OMX_COMMONFLICKERREMOVALTYPE eFlickerRemoval; +}OMX_CONFIG_FLICKERREMOVALTYPE; + +/** Power versus quality hint provided by IL client to implementation. + +The OMX_PARAM_HINTPQTYPE structure is used to set or query +the IL client choice of importance: power savings or quality. +The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Param.Common.HintPQ". +*/ + +typedef struct OMX_PARAM_HINTPQTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_IMAGE_QHINTTYPE eQHint; +} OMX_PARAM_HINTPQTYPE; + +/** Depth of field hint provided by IL client to implementation. + +The OMX_PARAM_HINTDOFTYPE structure is used to set or query +the IL client choice for depth of field. +The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Param.Common.HintDOF". +*/ + +typedef struct OMX_PARAM_HINTDOFTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_IMAGE_DOFHINTTYPE eDoFHint; +} OMX_PARAM_HINTDOFTYPE; + +/** HW information retrieval struct. + +The OMX_PARAM_HWINFOTYPE structure is used to query +the sensor (HW) information details. +The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Common.HWInfo". +*/ + +typedef struct OMX_CONFIG_HWINFOTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nVersion1; + OMX_U32 nVersion2; + OMX_STRING cInfoString; +} OMX_CONFIG_HWINFOTYPE; + +/** Motion information retrieval struct. + +The OMX_CONFIG_MOTIONLEVELTYPE structure is used to query the motion +information details obtained by component from a stream of input images. + +The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Common.MotionLevel". +*/ + +typedef struct OMX_CONFIG_MOTIONLEVELTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nMotionLevel; +}OMX_CONFIG_MOTIONLEVELTYPE; + +/** Capturing bit extension. + +Capturing bit is extended to be different on different ports to trigger +parallel capturing on those ports. + +The OMX_CONFIG_CAPTURINGTYPE structure is used to set or query +the capturing bit. +The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Common.Capturing". +*/ + +typedef struct OMX_CONFIG_CAPTURINGTYPE { +OMX_U32 nSize; +OMX_VERSIONTYPE nVersion; +OMX_U32 nPortIndex; +OMX_BOOL bEnabled; +} OMX_CONFIG_CAPTURINGTYPE; + +/** Capture mode extension. + +Capture mode is extended to allow additional capture modes. + +The OMX_CONFIG_EXTCAPTUREMODETYPE structure is used to set/query +extended capture modes. +The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Common.ExtCaptureMode". +*/ + +typedef struct OMX_CONFIG_EXTCAPTUREMODETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nFrameBefore; + OMX_BOOL bPrepareCapture; + OMX_BOOL bEnableBracketing; +}OMX_CONFIG_EXTCAPTUREMODETYPE; + +/** Rotation extension. + +Rotation capabilities to allow implementing rotation wherever possible +and more efficient. + +The OMX_CONFIG_EXTENDEDROTATETYPE structure is used to set or query +the rotation details. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Common.ExtendedRotate". +*/ + +typedef struct OMX_CONFIG_EXTENDEDROTATETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_ROTATIONANGLETYPE eRot; + OMX_METADATAROTATIONTYPE eMeta; +} OMX_CONFIG_EXTENDEDROTATETYPE; + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* OMX_CameraIVCommonExt_h */ diff -r ef85d0a8d402 -r 760f846bbee9 Camera/OMX_CameraImageExt.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Camera/OMX_CameraImageExt.h Wed Dec 16 17:45:00 2009 +0000 @@ -0,0 +1,341 @@ +/* + OMX_CameraImageExt.h + + Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + All rights reserved. + + This program and the accompanying materials are made available + under the terms of the Eclipse Public License v1.0 which accompanies + this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Initial Contributors: + Nokia Corporation - initial contribution. +*/ + +/** @file +@brief Symbian OpenMAX IL Extension Data Structures in the Image Domain. + +This file contains the extension structures for the Symbian IL extensions that +pertain to imaaging components. + +@publishedDeviceAbstraction +*/ + +#ifndef OMX_CameraImageExt_h +#define OMX_CameraImageExt_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ +#include +#include +#include + +/** + * Enumeration of possible image orientation types + */ + +typedef enum OMX_IMAGE_ORIENTATIONORIGINTYPE +{ + OMX_IMAGE_ORIENTATION_NOT_SPECIFIED =0x0, + OMX_IMAGE_ORIENTATION_ROWTOP_COLUMNLEFT, + OMX_IMAGE_ORIENTATION_ROWTOP_COLUMNRIGHT, + OMX_IMAGE_ORIENTATION_ROWBOTTOM_COLUMNRIGHT, + OMX_IMAGE_ORIENTATION_ROWBOTTOM_COLUMNLEFT, + OMX_IMAGE_ORIENTATION_ROWLEFT_COLUMNTOP, + OMX_IMAGE_ORIENTATION_ROWRIGHT_COLUMNTOP, + OMX_IMAGE_ORIENTATION_ROWRIGHT_COLUMNBOTTOM, + OMX_IMAGE_ORIENTATION_ROWLEFT_COLUMNBOTTOM +} OMX_IMAGE_ORIENTATIONORIGINTYPE; + +/** + * Enumeration of possible focus region types + */ +typedef enum OMX_FOCUSREGIONCONTROL { + OMX_FocusRegionAuto, + OMX_FocusRegionManual, + OMX_FocusRegionFacePriority, + OMX_FocusRegionObjectPriority +} OMX_FOCUSREGIONCONTROL; + +/** + * Enumeration of possible xenon flash status values + */ +typedef enum OMX_XENONFLASHSTATUS +{ + OMX_XENON_FLASH_NONE = 0x00000000, + OMX_XENON_FLASH_DISCHARGED, + OMX_XENON_FLASH_CHARGING, + OMX_XENON_FLASH_READY, + OMX_XENON_FLASH_NOTAVAILABLE +} OMX_XENONFLASHSTATUS; + +/** + * Enumeration of possible capture exposure time values + */ +typedef enum OMX_CAPTUREEXPOSURETIME +{ + OMX_CAPTURE_EXPOSURE_NONE_OR_ONGOING =0x0, + OMX_CAPTURE_EXPOSURE_NORMAL, + OMX_CAPTURE_EXPOSURE_SHORT, + OMX_CAPTURE_EXPOSURE_LONG +} OMX_CAPTUREEXPOSURETIME; + +/** + * Enumeration of possible bracket mode values + */ +typedef enum OMX_BRACKETMODETYPE { + OMX_BracketExposureRelativeInEV, + OMX_BracketExposureAbsoluteMs, + OMX_BracketFocusRelative, + OMX_BracketFocusAbsolute, + OMX_BracketFlashPower, + OMX_BracketAperture, +} OMX_BRACKETMODETYPE; + +/** + * Enumeration of possible levels of RAW processing + */ +typedef enum OMX_RAWPRESETTYPE { + OMX_RawUnprocessed, + OMX_RawProcessed +} OMX_RAWPRESETTYPE; + +/** + * Extension of Focus Control + */ + +enum { + OMX_Image_FocusControlIdle = OMX_IMAGE_FocusControlVendorStartUnused + 0x01, +}; + +/** + * Extension of Flash Control + */ + +enum { + OMX_Image_FlashControlSlowFrontSync = OMX_IMAGE_FlashControlVendorStartUnused + 0x01, + OMX_Image_FlashControlSlowRearSync +}; + + +/** Orientation Configuration. + +The OMX_IMAGE_CONFIG_ORIENTATIONTYPE structure is used to set or query +the orientation of camera sensor relative to captured scene. +The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Image.Orientation". +*/ + + +typedef struct OMX_IMAGE_CONFIG_ORIENTATIONTYPE { +OMX_U32 nSize; +OMX_VERSIONTYPE nVersion; +OMX_IMAGE_ORIENTATIONORIGINTYPE eOrientation; +} OMX_IMAGE_CONFIG_ORIENTATIONTYPE; + +/** Image Parameters Lock. + +The OMX_IMAGE_CONFIG_LOCKTYPE structure is used to set or query +the freezing of settings during capture. +The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Image.Lock". +*/ + +typedef struct OMX_IMAGE_CONFIG_LOCKTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bLock; + OMX_BOOL bAtCapture; +} OMX_IMAGE_CONFIG_LOCKTYPE; + +/** Image Flash Control Config. + +The OMX_IMAGE_CONFIG_FLASHCONTROLTYPE structure is used to set or query +the flash mode to be used during capture. +An extension is needed because flash is a feature that may need changing while +camera is executing, so it is a config. +The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Image.FlashControl". +*/ + +typedef struct OMX_IMAGE_CONFIG_FLASHCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_IMAGE_FLASHCONTROLTYPE eFlashControl; +}OMX_IMAGE_CONFIG_FLASHCONTROLTYPE; + +/** Focus Region Control Config. + +The OMX_IMAGE_CONFIG_FOCUSREGIONTYPE structure is used to set or query +the focus regions to be used. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Image.FocusRegion". +*/ + +typedef struct OMX_IMAGE_CONFIG_FOCUSREGIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_FOCUSREGIONCONTROL eFocusRegionControl; + OMX_RELATIVERECTTYPE sFocusRegion; +} OMX_IMAGE_CONFIG_FOCUSREGIONTYPE; + +/** Image Regions Of Interests ROIs Control Config. + +The OMX_IMAGE_CONFIG_FOCUSREGIONTYPE structure is used to set or query +the regions of interests of image frames. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Image.ROI". +*/ + +typedef struct OMX_IMAGE_CONFIG_ROITYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nNumberOfROIs; + OMX_RELATIVERECTTYPE sROIs[OMX_MAX_NUMBER_OF_ROIS]; + OMX_U32 nPriority[OMX_MAX_NUMBER_OF_ROIS]; + OMX_OBJECTTYPE eObjectType; +} OMX_IMAGE_CONFIG_ROITYPE; + +/** Xenon flash status Config. + +The OMX_IMAGE_CONFIG_XENONFLASHSTATUSTYPE structure is used to query +the xenon flash status. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Image.XenonFlashStatus". +*/ + + +typedef struct OMX_IMAGE_CONFIG_XENONFLASHSTATUSTYPE { +OMX_U32 nSize; +OMX_VERSIONTYPE nVersion; +OMX_U32 nPortIndex; +OMX_XENONFLASHSTATUS eFlashStatus; +} OMX_IMAGE_CONFIG_XENONFLASHSTATUSTYPE; + +/** Capture Exposure Time Config. + +The OMX_IMAGE_CONFIG_CAPTUREEXPOSURETIMETYPE structure is used to set or query +the type of capture exposure time values. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Image.CaptureExposureTime". +*/ + + +typedef struct OMX_IMAGE_CONFIG_CAPTUREEXPOSURETIMETYPE { +OMX_U32 nSize; +OMX_VERSIONTYPE nVersion; +OMX_U32 nPortIndex; +OMX_CAPTUREEXPOSURETIME eExposureTime; +} OMX_IMAGE_CONFIG_CAPTUREEXPOSURETIMETYPE; + +/** Bracketing Config. + +The OMX_IMAGE_CONFIG_BRACKETINGTYPE structure is used to set or query +the bracketing settings. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Image.Bracketing". +*/ + +typedef struct OMX_IMAGE_CONFIG_BRACKETINGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BRACKETMODETYPE eBracketMode; + OMX_U32 nNbrBracketingValues; + OMX_U32 nBracketValues[5]; +} OMX_IMAGE_CONFIG_BRACKETINGTYPE; + +/** RAW Preset Config. + +The OMX_IMAGE_CONFIG_RAWPRESETTYPE structure is used to set or query +the RAW type of images. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Image.RawPreset". +*/ + +typedef struct OMX_IMAGE_CONFIG_RAWPRESETTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_RAWPRESETTYPE ePreset; +} OMX_IMAGE_CONFIG_RAWPRESETTYPE; + +/** GPS Location Config. + +The OMX_IMAGE_CONFIG_GPSLOCATIONTYPE structure is used to set or query +the GPS Location Data for usage when capturing. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Config.Image.GPSLocation". +*/ + +typedef struct OMX_IMAGE_CONFIG_GPSLOCATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U64 nLatitudeDegrees; + OMX_U64 nLatitudeMinutes; + OMX_U64 nLatitudeSeconds; + OMX_U64 nLongitudeDegrees; + OMX_U64 nLongitudeMinutes; + OMX_U64 nLongitudeSeconds; + OMX_U64 nAltitudeMetters; + OMX_BOOL bLatitudeRefNorth; + OMX_BOOL bLongitudeRefEast; + OMX_BOOL bAltitudeRefAboveSea; + OMX_BOOL bLocationKnown; +} OMX_IMAGE_CONFIG_GPSLOCATIONTYPE; + +/** Image Filename Param. + +The OMX_IMAGE_PARAM_IW_FILENAMEFORMAT structure is used to set or query +the GPS Location Data for usage when capturing. The setting can be changed using +the OMX_SetParam() function, and the current state can be queried using +the OMX_GetParam() function. When calling either function, the index +specified for this structure is retrieved using OMX_GetExtensionIndex() +with the extension string "OMX.Index.Param.Image.FilenameFormat". +*/ + +typedef struct OMX_IMAGE_PARAM_IW_FILENAMEFORMAT { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nFileSequenceNumber; + OMX_BOOL bGenerateFileInSequence; +}OMX_IMAGE_PARAM_IW_FILENAMEFORMAT; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* OMX_CameraImageExt_h */ diff -r ef85d0a8d402 -r 760f846bbee9 Camera/OMX_Symbian_TypesExt.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Camera/OMX_Symbian_TypesExt.h Wed Dec 16 17:45:00 2009 +0000 @@ -0,0 +1,126 @@ +/* + OMX_CameraTypesExt.h + + Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + All rights reserved. + + This program and the accompanying materials are made available + under the terms of the Eclipse Public License v1.0 which accompanies + this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Initial Contributors: + Nokia Corporation - initial contribution. +*/ + +/** @file +@brief Symbian OpenMAX IL Extension Data Structures for the Generic Types. + +This file contains the extension structures for the Symbian IL extensions of the +Types. + +@publishedDeviceAbstraction +*/ + +#ifndef OMX_CameraTypesExt_h +#define OMX_CameraTypesExt_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ +#include + + +#define OMX_MAX_NUMBER_OF_ROIS 10 + + +/** @name Point type extension */ + +/*@{*/ + +/** Point extension type. +*/ + +typedef struct OMX_POINTTYPE { + OMX_S32 nX; + OMX_S32 nY; +} OMX_POINTTYPE; + +/** Size extension type. +*/ + +typedef struct OMX_SIZETYPE { + OMX_S32 nWidth; + OMX_S32 nHeight; +} OMX_SIZETYPE; + +/** Rectangular extension type. + +There exist also a rectangular config defined in the OMX IL standard. +The purpose of this addition is to provide a generic rectangular type to +be used by other configs and params. +*/ + +typedef struct OMX_RECTTYPE { + OMX_POINTTYPE sTopLeft; + OMX_SIZETYPE sSize; +} OMX_RECTTYPE; + +/** Relative rectangular extension type. +*/ + +typedef struct OMX_RELATIVERECTTYPE { + OMX_RECTTYPE sRect; + OMX_SIZETYPE sReference; +} OMX_RELATIVERECTTYPE; + +/** Tracking object type classification. +*/ + +typedef enum OMX_OBJECTTYPE { + OMX_ObjectTypeFace, + OMX_ObjectTypeObject +} OMX_OBJECTTYPE; + +/** 32 Integer Config Generic OMX struct. +*/ + +typedef struct OMX_CONFIG_S32INTTYPE { +OMX_U32 nSize; +OMX_VERSIONTYPE nVersion; +OMX_U32 nPortIndex; +OMX_S32 nS32; +} OMX_CONFIG_S32INTTYPE; + +/** Bool Config Generic OMX struct. +*/ + +typedef struct OMX_CONFIG_PORT_BOOLEANTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnabled; +} OMX_CONFIG_PORT_BOOLEANTYPE; + +/** Unsigned 32 bit Integer Config Generic OMX struct. +*/ +typedef struct OMX_CONFIG_UINTEGERTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nNumber; +} OMX_CONFIG_UINTEGERTYPE; + + +/*@}*/ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* OMX_CameraTypesExt_h */