android_mt6572_jiabo/frameworks/av/include/camera/MtkCameraParameters.h
2025-09-05 16:56:03 +08:00

351 lines
12 KiB
C++

/*
* Copyright (C) 2008 The Android Open Source Project
*
* 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.
*/
#ifndef ANDROID_HARDWARE_MTK_CAMERA_PARAMETERS_H
#define ANDROID_HARDWARE_MTK_CAMERA_PARAMETERS_H
#include <camera/CameraParameters.h>
namespace android {
/**
* @class MtkCameraParameters
* @brief MTK-proprietary camera parameters.
* @details This class is derived from CameraParameters and defines MTK-proprietary camera parameters.
*/
class MtkCameraParameters : public CameraParameters
{
public:
MtkCameraParameters() : CameraParameters() {}
MtkCameraParameters(const String8 &params) { unflatten(params); }
~MtkCameraParameters() {}
MtkCameraParameters& operator=(CameraParameters const& params)
{
unflatten(params.flatten());
return (*this);
}
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// App Mode.
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
static const char PROPERTY_KEY_CLIENT_APPMODE[];
//
static const char APP_MODE_NAME_DEFAULT[];
static const char APP_MODE_NAME_MTK_ENG[];
static const char APP_MODE_NAME_MTK_ATV[];
static const char APP_MODE_NAME_MTK_S3D[];
static const char APP_MODE_NAME_MTK_VT[];
static const char APP_MODE_NAME_MTK_PHOTO[];
static const char APP_MODE_NAME_MTK_VIDEO[];
static const char APP_MODE_NAME_MTK_ZSD[];
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Scene Mode
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
static const char SCENE_MODE_NORMAL[];
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Face Beauty
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
static const char KEY_FB_SMOOTH_LEVEL[];
static const char KEY_FB_SMOOTH_LEVEL_MIN[];
static const char KEY_FB_SMOOTH_LEVEL_MAX[];
//
static const char KEY_FB_SKIN_COLOR[];
static const char KEY_FB_SKIN_COLOR_MIN[];
static const char KEY_FB_SKIN_COLOR_MAX[];
//
static const char KEY_FB_SHARP[];
static const char KEY_FB_SHARP_MIN[];
static const char KEY_FB_SHARP_MAX[];
//
static const char KEY_FB_ENLARGE_EYE[];
static const char KEY_FB_ENLARGE_EYE_MIN[];
static const char KEY_FB_ENLARGE_EYE_MAX[];
//
static const char KEY_FB_SLIM_FACE[];
static const char KEY_FB_SLIM_FACE_MIN[];
static const char KEY_FB_SLIM_FACE_MAX[];
//
static const char KEY_FB_EXTREME_BEAUTY[];
//
static const char KEY_FACE_BEAUTY[];
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
static const char KEY_EXPOSURE[];
static const char KEY_EXPOSURE_METER[];
static const char KEY_ISO_SPEED[];
static const char KEY_AE_MODE[];
static const char KEY_FOCUS_METER[];
static const char KEY_EDGE[];
static const char KEY_HUE[];
static const char KEY_SATURATION[];
static const char KEY_BRIGHTNESS[];
static const char KEY_CONTRAST[];
static const char KEY_ZSD_MODE[];
static const char KEY_SUPPORTED_ZSD_MODE[];
static const char KEY_AWB2PASS[];
static const char KEY_AF_LAMP_MODE [];
static const char KEY_STEREO_3D_PREVIEW_SIZE[];
static const char KEY_STEREO_3D_PICTURE_SIZE[];
static const char KEY_STEREO_3D_TYPE [];
static const char KEY_STEREO_3D_MODE [];
static const char KEY_STEREO_3D_IMAGE_FORMAT [];
//
static const char KEY_FPS_MODE[]; // normal,fix
//
static const char KEY_FOCUS_DRAW[]; // 0,1
//
static const char KEY_CAPTURE_MODE[]; // normal,bestshot,evbracketshot,burstshot,smileshot,panoramashot
static const char KEY_SUPPORTED_CAPTURE_MODES[];
static const char KEY_CAPTURE_PATH[];
static const char KEY_BURST_SHOT_NUM[];
//
static const char KEY_MATV_PREVIEW_DELAY[];
//
static const char KEY_PANORAMA_IDX[];
static const char KEY_PANORAMA_DIR[]; // right,left,top,bottom
//
static const char KEY_SENSOR_DEV[]; // main,sub,atv
static const char KEY_SUPPORTED_SENSOR_DEVS[];
// Values for KEY_EXPOSURE
static const char EXPOSURE_METER_SPOT[];
static const char EXPOSURE_METER_CENTER[];
static const char EXPOSURE_METER_AVERAGE[];
// Valeus for KEY_ISO_SPEED
static const char ISO_SPEED_AUTO[];
static const char ISO_SPEED_100[];
static const char ISO_SPEED_200[];
static const char ISO_SPEED_400[];
static const char ISO_SPEED_800[];
static const char ISO_SPEED_1600[];
// Values for KEY_FOCUS_METER
static const char FOCUS_METER_SPOT[];
static const char FOCUS_METER_MULTI[];
static const char KEY_CAMERA_MODE[];
// Values for KEY_CAMERA_MODE
static const int CAMERA_MODE_NORMAL;
static const int CAMERA_MODE_MTK_PRV;
static const int CAMERA_MODE_MTK_VDO;
static const int CAMERA_MODE_MTK_VT;
// Values for KEY_FPS_MODE
static const int FPS_MODE_NORMAL;
static const int FPS_MODE_FIX;
// Values for KEY_CAPTURE_MODE
static const char CAPTURE_MODE_PANORAMA_SHOT[];
static const char CAPTURE_MODE_BURST_SHOT[];
static const char CAPTURE_MODE_NORMAL[];
static const char CAPTURE_MODE_BEST_SHOT[];
static const char CAPTURE_MODE_EV_BRACKET_SHOT[];
static const char CAPTURE_MODE_SMILE_SHOT[];
static const char CAPTURE_MODE_AUTO_PANORAMA_SHOT[];
static const char CAPTURE_MODE_MOTION_TRACK_SHOT[];
static const char CAPTURE_MODE_MAV_SHOT[];
static const char CAPTURE_MODE_HDR_SHOT[];
static const char CAPTURE_MODE_ASD_SHOT[];
static const char CAPTURE_MODE_ZSD_SHOT[];
static const char CAPTURE_MODE_PANO_3D[];
static const char CAPTURE_MODE_SINGLE_3D[];
static const char CAPTURE_MODE_FACE_BEAUTY[];
static const char CAPTURE_MODE_CONTINUOUS_SHOT[];
static const char CAPTURE_MODE_MULTI_MOTION[];
static const char CAPTURE_MODE_GESTURE_SHOT[];
// Values for KEY_PANORAMA_DIR
static const char PANORAMA_DIR_RIGHT[];
static const char PANORAMA_DIR_LEFT[];
static const char PANORAMA_DIR_TOP[];
static const char PANORAMA_DIR_DOWN[];
//
static const int ENABLE;
static const int DISABLE;
// Values for KEY_EDGE, KEY_HUE, KEY_SATURATION, KEY_BRIGHTNESS, KEY_CONTRAST
static const char HIGH[];
static const char MIDDLE[];
static const char LOW[];
// Preview Internal Format.
static const char KEY_PREVIEW_INT_FORMAT[];
// Pixel color formats for KEY_PREVIEW_FORMAT, KEY_PICTURE_FORMAT,
// and KEY_VIDEO_FRAME_FORMAT
static const char PIXEL_FORMAT_YUV420I[]; // I420
/**
* @var PIXEL_FORMAT_YV12_GPU
*
* GPU YUV format:
*
* YV12 is a 4:2:0 YCrCb planar format comprised of a WxH Y plane followed
* by (W/2) x (H/2) Cr and Cb planes.
*
* This format assumes
* - an even width
* - an even height
* - a vertical stride equal to the height
* - a horizontal stride multiple of 32/16/16 pixels for y/cr/cb respectively
* i.e.
* y_stride = ALIGN(width, 32)
* c_stride = y_stride / 2
*
* y_size = y_stride * height
* c_size = c_stride * height / 2
* size = y_size + c_size * 2
* cr_offset = y_size
* cb_offset = y_size + c_size
*
* for example:
* width/height = 176x144
* y stride = 192x144
* cr stride = 96x72
* cb stride = 96x72
*
*/
static const char PIXEL_FORMAT_YV12_GPU[];
/*
* YUV422 format, 1 plane (UYVY)
*
* Effective bits per pixel : 16
*
* Y sample at every pixel, U and V sampled at every second pixel horizontally on each line.
* A macropixel contains 2 pixels in 1 uint32_t.
*
*/
static const char PIXEL_FORMAT_YUV422I_UYVY[];
//
static const char PIXEL_FORMAT_YUV422I_VYUY[];
static const char PIXEL_FORMAT_YUV422I_YVYU[];
static const char PIXEL_FORMAT_BAYER8[];
static const char PIXEL_FORMAT_BAYER10[];
/**
* @var KEY_BRIGHTNESS_VALUE
*
* This is a key string of brightness value, scaled by 10.
*
*/
static const char KEY_BRIGHTNESS_VALUE[];
// ISP Operation mode for meta mode use
static const char KEY_ISP_MODE[];
// AF
static const char KEY_AF_X[];
static const char KEY_AF_Y[];
static const char KEY_FOCUS_ENG_MAX_STEP[];
static const char KEY_FOCUS_ENG_MIN_STEP[];
static const char KEY_FOCUS_ENG_BEST_STEP[];
static const char KEY_RAW_DUMP_FLAG[];
static const char KEY_PREVIEW_DUMP_RESOLUTION[];
static const int PREVIEW_DUMP_RESOLUTION_NORMAL;
static const int PREVIEW_DUMP_RESOLUTION_CROP;
// Values for effect
static const char EFFECT_SEPIA_BLUE[];
static const char EFFECT_SEPIA_GREEN[];
// Values for AWB
static const char WHITE_BALANCE_TUNGSTEN[];
// Eng
static const char ISO_SPEED_ENG[];
static const char KEY_FOCUS_ENG_MODE[]; // 0,1,2,3 (0: normal)
static const char KEY_FOCUS_ENG_STEP[];
static const char KEY_RAW_SAVE_MODE[]; // on, off
static const char KEY_RAW_PATH[];
// KEY for Continuous shot speed
static const char KEY_FAST_CONTINUOUS_SHOT[];
static const char KEY_VIDEO_HDR[];
static const char KEY_MAX_NUM_DETECTED_OBJECT[];
// KEY for c_shot indicator
static const char KEY_CSHOT_INDICATOR[];
// KEY for [Engineer Mode] Add new camera paramters for new requirements
static const char KEY_ENG_AE_ENABLE[];
static const char KEY_ENG_PREVIEW_SHUTTER_SPEED[];
static const char KEY_ENG_PREVIEW_SENSOR_GAIN[];
static const char KEY_ENG_PREVIEW_ISP_GAIN[];
static const char KEY_ENG_PREVIEW_AE_INDEX[];
static const char KEY_ENG_CAPTURE_SENSOR_GAIN[];
static const char KEY_ENG_CAPTURE_ISP_GAIN[];
static const char KEY_ENG_CAPTURE_SHUTTER_SPEED[];
static const char KEY_ENG_CAPTURE_ISO[];
static const char KEY_ENG_FLASH_DUTY_VALUE[];
static const char KEY_ENG_FLASH_DUTY_MIN[];
static const char KEY_ENG_FLASH_DUTY_MAX[];
static const char KEY_ENG_ZSD_ENABLE[];
static const char KEY_SENSOR_TYPE[];
static const char KEY_ENG_PREVIEW_FPS[];
static const char KEY_ENG_MSG[];
static const int KEY_ENG_FLASH_DUTY_DEFAULT_VALUE;
static const int KEY_ENG_FLASH_STEP_DEFAULT_VALUE;
static const char KEY_ENG_FLASH_STEP_MIN[];
static const char KEY_ENG_FLASH_STEP_MAX[];
static const char KEY_ENG_FOCUS_FULLSCAN_FRAME_INTERVAL[];
static const char KEY_ENG_FOCUS_FULLSCAN_FRAME_INTERVAL_MAX[];
static const char KEY_ENG_FOCUS_FULLSCAN_FRAME_INTERVAL_MIN[];
static const int KEY_ENG_FOCUS_FULLSCAN_FRAME_INTERVAL_MAX_DEFAULT;
static const int KEY_ENG_FOCUS_FULLSCAN_FRAME_INTERVAL_MIN_DEFAULT;
static const char KEY_ENG_PREVIEW_FRAME_INTERVAL_IN_US[];
static const char KEY_ENG_PARAMETER1[];
static const char KEY_ENG_PARAMETER2[];
static const char KEY_ENG_PARAMETER3[];
static const char KEY_ENG_SAVE_SHADING_TABLE[];
static const char KEY_ENG_SHADING_TABLE[];
static const int KEY_ENG_SHADING_TABLE_AUTO;
static const int KEY_ENG_SHADING_TABLE_LOW;
static const int KEY_ENG_SHADING_TABLE_MIDDLE;
static const int KEY_ENG_SHADING_TABLE_HIGH;
static const int KEY_ENG_SHADING_TABLE_TSF;
// KEY for [Engineer Mode] Add new camera paramters for ev calibration
static const char KEY_ENG_EV_CALBRATION_OFFSET_VALUE[];
#ifdef MTK_SLOW_MOTION_VIDEO_SUPPORT
// High Speed Video Record
static const char KEY_HSVR_PRV_SIZE[];
static const char KEY_SUPPORTED_HSVR_PRV_SIZE[];
static const char KEY_HSVR_PRV_FPS[];
static const char KEY_SUPPORTED_HSVR_PRV_FPS[];
#endif
static const char KEY_DXOEIS_ONOFF[];
static const char KEY_FIX_EXPOSURE_TIME[];
//
public: //// on/off => FIXME: should be replaced with TRUE[]
static const char ON[];
static const char OFF[];
};
}; // namespace android
#endif