mirror of
https://github.com/openharmony/multimedia_camera_lite.git
synced 2026-07-19 16:53:38 -04:00
e1b0167692
Signed-off-by: 笨笨 <zhoubs_2003@hotmail.com>
128 lines
3.2 KiB
C
128 lines
3.2 KiB
C
/*
|
|
* Copyright (c) 2020-2021 Huawei Device Co., Ltd.
|
|
* 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 OHOS_META_DATA_H
|
|
#define OHOS_META_DATA_H
|
|
|
|
#include "stdint.h"
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#endif /* End of #ifdef __cplusplus */
|
|
|
|
typedef struct {
|
|
int32_t x;
|
|
int32_t y;
|
|
int32_t w;
|
|
int32_t h;
|
|
} CameraRect;
|
|
|
|
typedef struct {
|
|
uint32_t width;
|
|
uint32_t height;
|
|
} CameraPicSize;
|
|
|
|
typedef enum {
|
|
/* Frame rate */
|
|
CAM_FRAME_FPS = 0,
|
|
/* Auto exposure mode */
|
|
CAM_AE_MODE,
|
|
/* Auto exposure time */
|
|
CAM_AE_EXPO_TIME,
|
|
/* Auto exposure compensation value */
|
|
CAM_AE_COMPENSATION,
|
|
/* Auto exposure lock */
|
|
CAM_AE_LOCK,
|
|
/* Auto exposure region */
|
|
CAM_AE_REGIONS,
|
|
/* White balance mode */
|
|
CAM_AWB_MODE,
|
|
/* White balance lock */
|
|
CAM_AWB_LOCK,
|
|
/* White balance region */
|
|
CAM_AWB_REGION,
|
|
/* Video stabilization feature */
|
|
CAM_VIDEO_STABILIZATION_NABLE,
|
|
/* Image luminance */
|
|
CAM_IMAGE_LUMA,
|
|
/* Image contrast */
|
|
CAM_IMAGE_CONTRAST,
|
|
/* Image hue */
|
|
CAM_IMAGE_HUE,
|
|
/* Image saturation */
|
|
CAM_IMAGE_SATURATION,
|
|
/* Hot pixel correction */
|
|
CAM_HOT_PIXEL_ENABLE,
|
|
/* Level of hot pixel correction */
|
|
CAM_HOT_PIXEL_LEVEL,
|
|
/* Image denoising mode */
|
|
CAM_IMAGE_DENOISE_MODE,
|
|
/* Image denoising level */
|
|
CAM_IMAGE_DENOISE_LEVEL,
|
|
/* Image mirror flip */
|
|
CAM_IMAGE_INVERT_MODE,
|
|
/* Image CROP_RECT */
|
|
CAM_IMAGE_CROP_RECT,
|
|
/* Only valid when frameConfigType is callback*/
|
|
CAM_IMAGE_FORMAT,
|
|
/* Auto foucue mode */
|
|
CAM_AF_MODE,
|
|
/* Image denoising level */
|
|
PARAM_KEY_SIZE,
|
|
PARAM_KEY_IMAGE_ENCODE_QFACTOR
|
|
} CameraFuncKey;
|
|
|
|
/**
|
|
@brief Enumerates parameters for image rotation and mirroring.
|
|
*/
|
|
typedef enum {
|
|
CAM_CENTER_MIRROR = 0, /**< Central mirroring */
|
|
CAM_HORIZONTAL_MIRROR = 1, /**< Horizontal mirroring */
|
|
CAM_VETICALLY_MIRROR = 2, /**< Vertical mirroring */
|
|
CAM_ROTATION_90 = 3, /**< 90-degree rotation */
|
|
CAM_ROTATION_180 = 4, /**< 180-degree rotation */
|
|
} CameraInvertMode;
|
|
|
|
#define ENCODER_TYPE 0
|
|
typedef enum {
|
|
CAM_FORMAT_YVU420 = 0,
|
|
CAM_FORMAT_JPEG,
|
|
CAM_FORMAT_H264,
|
|
CAM_FORMAT_H265,
|
|
CAM_FORMAT_BUTT
|
|
} CameraEncodeFormat;
|
|
|
|
typedef enum {
|
|
CAM_IMAGE_YUV420,
|
|
CAM_IMAGE_RAW12
|
|
} CameraImageFormat;
|
|
|
|
typedef enum {
|
|
AF_MODE_CONTINUOUS,
|
|
AF_MODE_CLOSE
|
|
} AfMode;
|
|
|
|
typedef enum {
|
|
AE_MODE_OPEN,
|
|
AE_MODE_CLOSE
|
|
} AeMode;
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* End of #ifdef __cplusplus */
|
|
#endif // OHOS_META_DATA_H
|