/* * Copyright (C) Texas Instruments - http://www.ti.com/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file OMXSceneModeTables.h * * This holds scene mode settings for different omx cameras. * */ #include "OMX_TI_IVCommon.h" #include "OMX_TI_Common.h" #include "OMX_TI_Index.h" #ifndef OMXCAMERAADAPTER_SCENEMODES_H #define OMXCAMERAADAPTER_SCENEMODES_H #ifndef ARRAY_SIZE #define ARRAY_SIZE(array) (sizeof((array)) / sizeof((array)[0])) #endif namespace Ti { namespace Camera { struct SceneModesEntry { OMX_SCENEMODETYPE scene; OMX_IMAGE_FLASHCONTROLTYPE flash; int focus; OMX_WHITEBALCONTROLTYPE wb; }; struct CameraToSensorModesLUTEntry { const char* name; const SceneModesEntry* Table; const unsigned int size; }; static const SceneModesEntry S5K4E1GA_SceneModesLUT [] = { { OMX_Closeup, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoMacro, OMX_WhiteBalControlAuto }, { OMX_Landscape, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Underwater, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoLock, OMX_WhiteBalControlSunLight }, { OMX_Sport, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Mood, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoLock, OMX_WhiteBalControlAuto }, { OMX_NightPortrait, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlPortrait, OMX_WhiteBalControlAuto }, { OMX_NightIndoor, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Fireworks, OMX_IMAGE_FlashControlOn, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Document, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlAutoMacro, OMX_WhiteBalControlAuto }, { OMX_Barcode, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoMacro, OMX_WhiteBalControlAuto }, { OMX_SuperNight, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Cine, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_OldFilm, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Action, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlAuto, OMX_WhiteBalControlAuto }, { OMX_TI_Beach, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlAutoLock, OMX_WhiteBalControlAuto }, { OMX_TI_Candlelight, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlIncandescent }, { OMX_TI_Night, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlAuto, OMX_WhiteBalControlAuto }, { OMX_TI_Party, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAuto, OMX_WhiteBalControlAuto }, { OMX_TI_Portrait, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlPortrait, OMX_WhiteBalControlAuto }, { OMX_TI_Snow, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlAutoLock, OMX_WhiteBalControlAuto }, { OMX_TI_Steadyphoto, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Sunset, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlAuto, OMX_WhiteBalControlSunLight }, { OMX_TI_Theatre, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, }; static const SceneModesEntry S5K6A1GX03_SceneModesLUT [] = { { OMX_Closeup, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Landscape, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Underwater, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlSunLight }, { OMX_Sport, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_SnowBeach, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Mood, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_NightPortrait, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_NightIndoor, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Fireworks, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Document, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Barcode, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_SuperNight, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Cine, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_OldFilm, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Action, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Beach, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Candlelight, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlIncandescent }, { OMX_TI_Night, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Party, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Portrait, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Snow, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Steadyphoto, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Sunset, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlSunLight }, { OMX_TI_Theatre, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, }; static const SceneModesEntry IMX060_SceneModesLUT [] = { { OMX_Closeup, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoMacro, OMX_WhiteBalControlAuto }, { OMX_Landscape, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlSunLight }, { OMX_Underwater, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Sport, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_SnowBeach, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Mood, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_NightPortrait, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlPortrait, OMX_WhiteBalControlAuto }, { OMX_NightIndoor, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Fireworks, OMX_IMAGE_FlashControlOn, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Document, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoMacro, OMX_WhiteBalControlAuto }, { OMX_Barcode, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoMacro, OMX_WhiteBalControlAuto }, { OMX_SuperNight, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoInfinity, OMX_WhiteBalControlAuto }, { OMX_Cine, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_OldFilm, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Action, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Beach, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Candlelight, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlIncandescent }, { OMX_TI_Night, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Party, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoLock, OMX_WhiteBalControlAuto }, { OMX_TI_Portrait, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Snow, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Steadyphoto, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Sunset, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, ( OMX_WHITEBALCONTROLTYPE ) OMX_TI_WhiteBalControlSunset }, { OMX_TI_Theatre, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, }; static const SceneModesEntry OV5640_SceneModesLUT [] = { { OMX_Closeup, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Landscape, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Underwater, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlSunLight }, { OMX_Sport, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlAutoInfinity, OMX_WhiteBalControlAuto }, { OMX_SnowBeach, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Mood, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_NightPortrait, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_NightIndoor, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Fireworks, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Document, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Barcode, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_SuperNight, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Cine, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_OldFilm, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Action, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Beach, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Candlelight, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlIncandescent }, { OMX_TI_Night, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Party, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Portrait, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Snow, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Steadyphoto, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Sunset, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Theatre, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, }; static const SceneModesEntry OV5650_SceneModesLUT [] = { { OMX_Closeup, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Landscape, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlSunLight }, { OMX_Underwater, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Sport, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_SnowBeach, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Mood, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_NightPortrait, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlPortrait, OMX_WhiteBalControlAuto }, { OMX_NightIndoor, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Fireworks, OMX_IMAGE_FlashControlOn, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Document, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_Barcode, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_SuperNight, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoInfinity, OMX_WhiteBalControlAuto }, { OMX_Cine, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_OldFilm, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Action, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Beach, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Candlelight, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlIncandescent }, { OMX_TI_Night, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Party, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlAutoLock, OMX_WhiteBalControlAuto }, { OMX_TI_Portrait, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Snow, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Steadyphoto, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, { OMX_TI_Sunset, OMX_IMAGE_FlashControlAuto, OMX_IMAGE_FocusControlHyperfocal, ( OMX_WHITEBALCONTROLTYPE ) OMX_TI_WhiteBalControlSunset }, { OMX_TI_Theatre, OMX_IMAGE_FlashControlOff, OMX_IMAGE_FocusControlHyperfocal, OMX_WhiteBalControlAuto }, }; static const CameraToSensorModesLUTEntry CameraToSensorModesLUT [] = { { "S5K4E1GA", S5K4E1GA_SceneModesLUT, ARRAY_SIZE(S5K4E1GA_SceneModesLUT)}, { "S5K6A1GX03", S5K6A1GX03_SceneModesLUT, ARRAY_SIZE(S5K6A1GX03_SceneModesLUT)}, { "IMX060", IMX060_SceneModesLUT, ARRAY_SIZE(IMX060_SceneModesLUT)}, { "OV5640", OV5640_SceneModesLUT, ARRAY_SIZE(OV5640_SceneModesLUT)}, { "OV5650", OV5650_SceneModesLUT, ARRAY_SIZE(OV5650_SceneModesLUT)}, }; } // namespace Camera } // namespace Ti #endif