--- /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 <OMX_Types.h>
+#include <OMX_IVCommon.h>
+
+
+/** 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 */
--- /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 <OMX_Types.h>
+#include <OMX_CameraTypesExt.h>
+#include <OMX_Image.h>
+
+/**
+ * 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 */
--- /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 <OMX_Types.h>
+
+
+#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 */