1c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 2c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Copyright (C) Texas Instruments - http://www.ti.com/ 3c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 4c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Licensed under the Apache License, Version 2.0 (the "License"); 5c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * you may not use this file except in compliance with the License. 6c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * You may obtain a copy of the License at 7c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 8c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * http://www.apache.org/licenses/LICENSE-2.0 9c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 10c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Unless required by applicable law or agreed to in writing, software 11c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * distributed under the License is distributed on an "AS IS" BASIS, 12c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * See the License for the specific language governing permissions and 14c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * limitations under the License. 15c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 16c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 17c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** 18c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @file General3A_Settings.h 19c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 20c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* This file maps the Camera Hardware Interface to OMX. 21c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 22c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 23c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 24c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include "OMX_TI_IVCommon.h" 25c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include "OMX_TI_Common.h" 26c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include "OMX_TI_Index.h" 27c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include "TICameraParameters.h" 28c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 29c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifndef GENERAL_3A_SETTINGS_H 30c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define GENERAL_3A_SETTINGS_H 31c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 32f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmonsnamespace Ti { 33f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmonsnamespace Camera { 34c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 35c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevstruct userToOMX_LUT{ 36c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev const char * userDefinition; 37c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int omxDefinition; 38c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 39c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 40c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevstruct LUTtype{ 41c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int size; 42c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev const userToOMX_LUT *Table; 43c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 44c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 45c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst userToOMX_LUT isoUserToOMX[] = { 46c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::ISO_MODE_AUTO, 0 }, 47c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::ISO_MODE_100, 100 }, 48c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::ISO_MODE_200, 200 }, 49c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::ISO_MODE_400, 400 }, 50c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::ISO_MODE_800, 800 }, 51c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::ISO_MODE_1000, 1000 }, 52c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::ISO_MODE_1200, 1200 }, 53c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::ISO_MODE_1600, 1600 }, 54c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 55c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 56c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst userToOMX_LUT effects_UserToOMX [] = { 57f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::EFFECT_NONE, OMX_ImageFilterNone }, 58f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::EFFECT_NEGATIVE, OMX_ImageFilterNegative }, 59f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::EFFECT_SOLARIZE, OMX_ImageFilterSolarize }, 60f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::EFFECT_SEPIA, OMX_ImageFilterSepia }, 61f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::EFFECT_MONO, OMX_ImageFilterGrayScale }, 62f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::EFFECT_BLACKBOARD, OMX_TI_ImageFilterBlackBoard }, 63f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::EFFECT_WHITEBOARD, OMX_TI_ImageFilterWhiteBoard }, 64f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::EFFECT_AQUA, OMX_TI_ImageFilterAqua }, 65f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::EFFECT_POSTERIZE, OMX_TI_ImageFilterPosterize }, 6620107c0eaacde4f440d84f0643515451545ef601Tyler Luu#ifdef OMAP_ENHANCEMENT 6720107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::EFFECT_NATURAL, OMX_ImageFilterNatural }, 6820107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::EFFECT_VIVID, OMX_ImageFilterVivid }, 6920107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::EFFECT_COLOR_SWAP, OMX_ImageFilterColourSwap }, 70c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::EFFECT_BLACKWHITE, OMX_TI_ImageFilterBlackWhite } 7120107c0eaacde4f440d84f0643515451545ef601Tyler Luu#endif 72c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 73c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 74c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst userToOMX_LUT scene_UserToOMX [] = { 75f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_AUTO, OMX_Manual }, 76f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_LANDSCAPE, OMX_Landscape }, 77f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_NIGHT_PORTRAIT, OMX_NightPortrait }, 78f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_FIREWORKS, OMX_Fireworks }, 79f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_ACTION, OMX_TI_Action }, 80f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_BEACH, OMX_TI_Beach }, 81f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_CANDLELIGHT, OMX_TI_Candlelight }, 82f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_NIGHT, OMX_TI_Night }, 83f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_PARTY, OMX_TI_Party }, 84f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_PORTRAIT, OMX_TI_Portrait }, 85f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_SNOW, OMX_TI_Snow }, 86f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_STEADYPHOTO, OMX_TI_Steadyphoto }, 87f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_SUNSET, OMX_TI_Sunset }, 88f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_THEATRE, OMX_TI_Theatre }, 89f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::SCENE_MODE_SPORTS, OMX_Sport }, 9020107c0eaacde4f440d84f0643515451545ef601Tyler Luu#ifdef OMAP_ENHANCEMENT 9120107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::SCENE_MODE_CLOSEUP, OMX_Closeup }, 9220107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::SCENE_MODE_AQUA, OMX_Underwater }, 9320107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::SCENE_MODE_MOOD, OMX_Mood }, 9420107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::SCENE_MODE_NIGHT_INDOOR, OMX_NightIndoor }, 9520107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::SCENE_MODE_DOCUMENT, OMX_Document }, 9620107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::SCENE_MODE_BARCODE, OMX_Barcode }, 9720107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::SCENE_MODE_VIDEO_SUPER_NIGHT, OMX_SuperNight }, 9820107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::SCENE_MODE_VIDEO_CINE, OMX_Cine }, 9920107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::SCENE_MODE_VIDEO_OLD_FILM, OMX_OldFilm }, 10020107c0eaacde4f440d84f0643515451545ef601Tyler Luu#endif 101c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 102c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 103c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst userToOMX_LUT whiteBal_UserToOMX [] = { 104f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::WHITE_BALANCE_AUTO, OMX_WhiteBalControlAuto }, 105f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::WHITE_BALANCE_DAYLIGHT, OMX_WhiteBalControlSunLight }, 106f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::WHITE_BALANCE_CLOUDY_DAYLIGHT, OMX_WhiteBalControlCloudy }, 107f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::WHITE_BALANCE_FLUORESCENT, OMX_WhiteBalControlFluorescent }, 108f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::WHITE_BALANCE_INCANDESCENT, OMX_WhiteBalControlIncandescent }, 109f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::WHITE_BALANCE_SHADE, OMX_TI_WhiteBalControlShade }, 110f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::WHITE_BALANCE_TWILIGHT, OMX_TI_WhiteBalControlTwilight }, 111f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::WHITE_BALANCE_WARM_FLUORESCENT, OMX_TI_WhiteBalControlWarmFluorescent }, 11220107c0eaacde4f440d84f0643515451545ef601Tyler Luu#ifdef OMAP_ENHANCEMENT 11320107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::WHITE_BALANCE_TUNGSTEN, OMX_WhiteBalControlTungsten }, 11420107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::WHITE_BALANCE_HORIZON, OMX_WhiteBalControlHorizon }, 115c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::WHITE_BALANCE_SUNSET, OMX_TI_WhiteBalControlSunset } 11620107c0eaacde4f440d84f0643515451545ef601Tyler Luu#endif 117c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 118c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 119c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst userToOMX_LUT antibanding_UserToOMX [] = { 120f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::ANTIBANDING_OFF, OMX_FlickerCancelOff }, 121f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::ANTIBANDING_AUTO, OMX_FlickerCancelAuto }, 122f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::ANTIBANDING_50HZ, OMX_FlickerCancel50 }, 123f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::ANTIBANDING_60HZ, OMX_FlickerCancel60 } 124c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 125c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 126c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst userToOMX_LUT focus_UserToOMX [] = { 127f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FOCUS_MODE_AUTO, OMX_IMAGE_FocusControlAutoLock }, 128f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FOCUS_MODE_INFINITY, OMX_IMAGE_FocusControlAutoInfinity }, 129f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FOCUS_MODE_INFINITY, OMX_IMAGE_FocusControlHyperfocal }, 130f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FOCUS_MODE_MACRO, OMX_IMAGE_FocusControlAutoMacro }, 131f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FOCUS_MODE_CONTINUOUS_VIDEO, OMX_IMAGE_FocusControlAuto }, 132f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FOCUS_MODE_CONTINUOUS_PICTURE, OMX_IMAGE_FocusControlAuto }, 13320107c0eaacde4f440d84f0643515451545ef601Tyler Luu#ifdef OMAP_ENHANCEMENT 134f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { TICameraParameters::FOCUS_MODE_FACE , OMX_IMAGE_FocusControlContinousFacePriority }, 13520107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::FOCUS_MODE_PORTRAIT, OMX_IMAGE_FocusControlPortrait }, 13620107c0eaacde4f440d84f0643515451545ef601Tyler Luu { TICameraParameters::FOCUS_MODE_EXTENDED, OMX_IMAGE_FocusControlExtended }, 13720107c0eaacde4f440d84f0643515451545ef601Tyler Luu#endif 138f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { TICameraParameters::FOCUS_MODE_OFF , OMX_IMAGE_FocusControlOff } 139c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 140c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 141c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst userToOMX_LUT exposure_UserToOMX [] = { 142f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { TICameraParameters::EXPOSURE_MODE_MANUAL, OMX_ExposureControlOff }, 143c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::EXPOSURE_MODE_AUTO, OMX_ExposureControlAuto }, 144c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::EXPOSURE_MODE_NIGHT, OMX_ExposureControlNight }, 145c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::EXPOSURE_MODE_BACKLIGHT, OMX_ExposureControlBackLight }, 146c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::EXPOSURE_MODE_SPOTLIGHT, OMX_ExposureControlSpotLight}, 147c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::EXPOSURE_MODE_SPORTS, OMX_ExposureControlSports }, 148c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::EXPOSURE_MODE_SNOW, OMX_ExposureControlSnow }, 149c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::EXPOSURE_MODE_BEACH, OMX_ExposureControlBeach }, 150c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::EXPOSURE_MODE_APERTURE, OMX_ExposureControlLargeAperture }, 151c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::EXPOSURE_MODE_SMALL_APERTURE, OMX_ExposureControlSmallApperture }, 152c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 153c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 154c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst userToOMX_LUT flash_UserToOMX [] = { 155f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FLASH_MODE_OFF ,OMX_IMAGE_FlashControlOff }, 156f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FLASH_MODE_ON ,OMX_IMAGE_FlashControlOn }, 157f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FLASH_MODE_AUTO ,OMX_IMAGE_FlashControlAuto }, 158f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FLASH_MODE_TORCH ,OMX_IMAGE_FlashControlTorch }, 159f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons { android::CameraParameters::FLASH_MODE_RED_EYE ,OMX_IMAGE_FlashControlRedEyeReduction }, 16020107c0eaacde4f440d84f0643515451545ef601Tyler Luu#ifdef OMAP_ENHANCEMENT 161c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { TICameraParameters::FLASH_MODE_FILL_IN ,OMX_IMAGE_FlashControlFillin } 16220107c0eaacde4f440d84f0643515451545ef601Tyler Luu#endif 163c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 164c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 165c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst LUTtype ExpLUT = 166c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 167c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev sizeof(exposure_UserToOMX)/sizeof(exposure_UserToOMX[0]), 168c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev exposure_UserToOMX 169c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev }; 170c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 171c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst LUTtype WBalLUT = 172c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 173c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev sizeof(whiteBal_UserToOMX)/sizeof(whiteBal_UserToOMX[0]), 174c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev whiteBal_UserToOMX 175c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev }; 176c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 177c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst LUTtype FlickerLUT = 178c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 179c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev sizeof(antibanding_UserToOMX)/sizeof(antibanding_UserToOMX[0]), 180c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev antibanding_UserToOMX 181c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev }; 182c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 183c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst LUTtype SceneLUT = 184c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 185c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev sizeof(scene_UserToOMX)/sizeof(scene_UserToOMX[0]), 186c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev scene_UserToOMX 187c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev }; 188c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 189c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst LUTtype FlashLUT = 190c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 191c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev sizeof(flash_UserToOMX)/sizeof(flash_UserToOMX[0]), 192c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev flash_UserToOMX 193c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev }; 194c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 195c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst LUTtype EffLUT = 196c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 197c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev sizeof(effects_UserToOMX)/sizeof(effects_UserToOMX[0]), 198c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev effects_UserToOMX 199c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev }; 200c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 201c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst LUTtype FocusLUT = 202c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 203c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev sizeof(focus_UserToOMX)/sizeof(focus_UserToOMX[0]), 204c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev focus_UserToOMX 205c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev }; 206c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 207c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst LUTtype IsoLUT = 208c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { 209c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev sizeof(isoUserToOMX)/sizeof(isoUserToOMX[0]), 210c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev isoUserToOMX 211c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev }; 212c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 213c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 214c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* class Gen3A_settings 215c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* stores the 3A settings 216c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* also defines the look up tables 217c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* for mapping settings from Hal to OMX 218c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 219c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevclass Gen3A_settings{ 220c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev public: 221c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 222c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int Exposure; 223c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int WhiteBallance; 224c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int Flicker; 225c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int SceneMode; 226c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int Effect; 227c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int Focus; 228c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int EVCompensation; 229c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int Contrast; 230c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int Saturation; 231c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int Sharpness; 232c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int ISO; 233c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev int FlashMode; 234f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons int ManualExposure; 235f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons int ManualExposureRight; 236f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons int ManualGain; 237f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons int ManualGainRight; 238c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 239c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev unsigned int Brightness; 240c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL ExposureLock; 2419dc08c5fb736308cfca6659f66b14165b265baebTyler Luu OMX_BOOL FocusLock; 242c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev OMX_BOOL WhiteBalanceLock; 243f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons 2440db9de9c050c698df5c160249e4060efa96e10a7Vladimir Petrov OMX_BOOL AlgoExternalGamma; 245f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons OMX_BOOL AlgoNSF1; 246f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons OMX_BOOL AlgoNSF2; 247f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons OMX_BOOL AlgoSharpening; 248f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons OMX_BOOL AlgoThreeLinColorMap; 249f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons OMX_BOOL AlgoGIC; 250f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons 2510db9de9c050c698df5c160249e4060efa96e10a7Vladimir Petrov OMX_TI_CONFIG_GAMMATABLE_TYPE mGammaTable; 2520db9de9c050c698df5c160249e4060efa96e10a7Vladimir Petrov 253c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 254c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 255c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 256c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* Flags raised when a setting is changed 257c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 258c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevenum E3ASettingsFlags 259c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 260c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetSceneMode = 1 << 0, 261c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetEVCompensation = 1 << 1, 262c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetWhiteBallance = 1 << 2, 263c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetFlicker = 1 << 3, 264c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetExposure = 1 << 4, 265c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetSharpness = 1 << 5, 266c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetBrightness = 1 << 6, 267c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetContrast = 1 << 7, 268c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetISO = 1 << 8, 269c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetSaturation = 1 << 9, 270c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetEffect = 1 << 10, 271c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetFocus = 1 << 11, 272c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetExpMode = 1 << 14, 273c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetFlash = 1 << 15, 274c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetExpLock = 1 << 16, 275c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev SetWBLock = 1 << 17, 276708ed7306c85286aa50d05ba15e0c33106e52ed0Iliyan Malchev SetMeteringAreas = 1 << 18, 277f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons SetManualExposure = 1 << 19, 278f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons 2790db9de9c050c698df5c160249e4060efa96e10a7Vladimir Petrov SetAlgoExternalGamma = 1 << 20, 280f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons SetAlgoNSF1 = 1 << 21, 281f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons SetAlgoNSF2 = 1 << 22, 282f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons SetAlgoSharpening = 1 << 23, 283f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons SetAlgoThreeLinColorMap = 1 << 24, 284f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons SetAlgoGIC = 1 << 25, 2850db9de9c050c698df5c160249e4060efa96e10a7Vladimir Petrov SetGammaTable = 1 << 26, 286f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons 287c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 288c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev E3aSettingMax, 289c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev E3AsettingsAll = ( ((E3aSettingMax -1 ) << 1) -1 ) /// all possible flags raised 290c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}; 291c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 292f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons} // namespace Camera 293f7a4d11e9f710e2cd0592310ac1baecccb85f1d1Jason Simmons} // namespace Ti 294c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 295c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif //GENERAL_3A_SETTINGS_H 296