summaryrefslogtreecommitdiffstats
path: root/exynos5/hal/libcamera/SecCamera.h
diff options
context:
space:
mode:
Diffstat (limited to 'exynos5/hal/libcamera/SecCamera.h')
-rw-r--r--exynos5/hal/libcamera/SecCamera.h698
1 files changed, 0 insertions, 698 deletions
diff --git a/exynos5/hal/libcamera/SecCamera.h b/exynos5/hal/libcamera/SecCamera.h
deleted file mode 100644
index 300a214..0000000
--- a/exynos5/hal/libcamera/SecCamera.h
+++ /dev/null
@@ -1,698 +0,0 @@
-/*
-**
-** Copyright 2008, The Android Open Source Project
-** Copyright 2010, Samsung Electronics 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 ANDROID_HARDWARE_CAMERA_SEC_H
-#define ANDROID_HARDWARE_CAMERA_SEC_H
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#include <signal.h>
-#include <sys/mman.h>
-#include <sys/time.h>
-#include <sys/ioctl.h>
-#include <sys/poll.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include <utils/RefBase.h>
-#include <videodev2.h>
-#include <videodev2_samsung.h>
-#include <linux/vt.h>
-
-#include <media.h>
-#include <v4l2-mediabus.h>
-#include <v4l2-subdev.h>
-
-#include <sec_utils_v4l2.h>
-
-#include "SecBuffer.h"
-
-#include <mediactl.h>
-#include <v4l2subdev.h>
-
-#include <utils/String8.h>
-
-#include "SecJpegEncoder.h"
-
-#include "Exif.h"
-namespace android {
-
-//#define ENABLE_ESD_PREVIEW_CHECK
-
-#if defined(ALOG_NDEBUG) && (ALOG_NDEBUG == 0)
-#define LOG_CAMERA ALOGD
-#define LOG_CAMERA_PREVIEW ALOGD
-
-#define LOG_TIME_DEFINE(n) \
- struct timeval time_start_##n, time_stop_##n; unsigned long log_time_##n = 0;
-
-#define LOG_TIME_START(n) \
- gettimeofday(&time_start_##n, NULL);
-
-#define LOG_TIME_END(n) \
- gettimeofday(&time_stop_##n, NULL); log_time_##n = measure_time_camera(&time_start_##n, &time_stop_##n);
-
-#define LOG_TIME(n) \
- log_time_##n
-
-#else
-#define LOG_CAMERA(...)
-#define LOG_CAMERA_PREVIEW(...)
-#define LOG_TIME_DEFINE(n)
-#define LOG_TIME_START(n)
-#define LOG_TIME_END(n)
-#define LOG_TIME(n)
-#endif
-
-#define JOIN(x, y) JOIN_AGAIN(x, y)
-#define JOIN_AGAIN(x, y) x ## y
-
-#define FRONT_CAM M5MO
-#define BACK_CAM S5K4E5
-
-#if !defined (FRONT_CAM) || !defined(BACK_CAM)
-#error "Please define the Camera module"
-#endif
-
-#define M5MO_PREVIEW_WIDTH 1920
-#define M5MO_PREVIEW_HEIGHT 1080
-#define M5MO_SNAPSHOT_WIDTH 3264
-#define M5MO_SNAPSHOT_HEIGHT 2448
-
-#define M5MO_THUMBNAIL_WIDTH 320
-#define M5MO_THUMBNAIL_HEIGHT 240
-#define M5MO_THUMBNAIL_BPP 16
-
-#define M5MO_FPS 30
-
-/* focal length of 3.43mm */
-#define M5MO_FOCAL_LENGTH 343
-
-#define S5K4E5_PREVIEW_WIDTH 1920
-#define S5K4E5_PREVIEW_HEIGHT 1080
-#define S5K4E5_SNAPSHOT_WIDTH 1920
-#define S5K4E5_SNAPSHOT_HEIGHT 1080
-
-#define S5K4E5_THUMBNAIL_WIDTH 320
-#define S5K4E5_THUMBNAIL_HEIGHT 240
-#define S5K4E5_THUMBNAIL_BPP 16
-
-#define S5K4E5_FPS 30
-
-/* focal length of 0.9mm */
-#define S5K4E5_FOCAL_LENGTH 90
-
-#define MAX_BACK_CAMERA_PREVIEW_WIDTH JOIN(BACK_CAM,_PREVIEW_WIDTH)
-#define MAX_BACK_CAMERA_PREVIEW_HEIGHT JOIN(BACK_CAM,_PREVIEW_HEIGHT)
-#define MAX_BACK_CAMERA_SNAPSHOT_WIDTH JOIN(BACK_CAM,_SNAPSHOT_WIDTH)
-#define MAX_BACK_CAMERA_SNAPSHOT_HEIGHT JOIN(BACK_CAM,_SNAPSHOT_HEIGHT)
-
-#define BACK_CAMERA_THUMBNAIL_WIDTH JOIN(BACK_CAM,_THUMBNAIL_WIDTH)
-#define BACK_CAMERA_THUMBNAIL_HEIGHT JOIN(BACK_CAM,_THUMBNAIL_HEIGHT)
-#define BACK_CAMERA_THUMBNAIL_BPP JOIN(BACK_CAM,_THUMBNAIL_BPP)
-
-#define BACK_CAMERA_FPS JOIN(BACK_CAM,_FPS)
-
-#define BACK_CAMERA_FOCAL_LENGTH JOIN(BACK_CAM,_FOCAL_LENGTH)
-
-#define MAX_FRONT_CAMERA_PREVIEW_WIDTH JOIN(FRONT_CAM,_PREVIEW_WIDTH)
-#define MAX_FRONT_CAMERA_PREVIEW_HEIGHT JOIN(FRONT_CAM,_PREVIEW_HEIGHT)
-#define MAX_FRONT_CAMERA_SNAPSHOT_WIDTH JOIN(FRONT_CAM,_SNAPSHOT_WIDTH)
-#define MAX_FRONT_CAMERA_SNAPSHOT_HEIGHT JOIN(FRONT_CAM,_SNAPSHOT_HEIGHT)
-
-#define FRONT_CAMERA_THUMBNAIL_WIDTH JOIN(FRONT_CAM,_THUMBNAIL_WIDTH)
-#define FRONT_CAMERA_THUMBNAIL_HEIGHT JOIN(FRONT_CAM,_THUMBNAIL_HEIGHT)
-#define FRONT_CAMERA_THUMBNAIL_BPP JOIN(FRONT_CAM,_THUMBNAIL_BPP)
-
-#define FRONT_CAMERA_FPS JOIN(FRONT_CAM,_FPS)
-
-#define FRONT_CAMERA_FOCAL_LENGTH JOIN(FRONT_CAM,_FOCAL_LENGTH)
-
-#define DEFAULT_JPEG_THUMBNAIL_WIDTH 256
-#define DEFAULT_JPEG_THUMBNAIL_HEIGHT 192
-
-#define PFX_NODE_GSC "/dev/video"
-
-#define M5MOLS_ENTITY_NAME "M5MOLS 5-001f"
-#define PFX_SUBDEV_ENTITY_MIPI_CSIS "s5p-mipi-csis"
-#define PFX_SUBDEV_ENTITY_FLITE "exynos-fimc-lite"
-#define PFX_SUBDEV_ENTITY_GSC_CAP "gsc-cap-subdev"
-#define PFX_VIDEODEV_ENTITY_GSC_CAP "exynos-gsc"
-#define FIMD1_ENTITY_NAME "s5p-fimd1"
-
-#define GAIA_FW_BETA 1
-
-#ifndef GAIA_FW_BETA
-#define GSC_VD_NODE_OFFSET 25 //GSCALER 0 (0:25, 1:28, 2:31, 3:34)
-#else
-#define GSC_VD_NODE_OFFSET 41 //INTERNAL_ISP 4E5
-
-#define ISP_SENSOR_MAX_ENTITIES 1
-#define ISP_SENSOR_PAD_SOURCE_FRONT 0
-#define ISP_SENSOR_PADS_NUM 1
-
-#define ISP_FRONT_MAX_ENTITIES 1
-#define ISP_FRONT_PAD_SINK 0
-#define ISP_FRONT_PAD_SOURCE_BACK 1
-#define ISP_FRONT_PAD_SOURCE_BAYER 2
-#define ISP_FRONT_PAD_SOURCE_SCALERC 3
-#define ISP_FRONT_PADS_NUM 4
-
-#define ISP_BACK_MAX_ENTITIES 1
-#define ISP_BACK_PAD_SINK 0
-#define ISP_BACK_PAD_SOURCE_3DNR 1
-#define ISP_BACK_PAD_SOURCE_SCALERP 2
-#define ISP_BACK_PADS_NUM 3
-
-#define ISP_MODULE_NAME "exynos5-fimc-is"
-#define ISP_SENSOR_ENTITY_NAME "exynos5-fimc-is-sensor"
-#define ISP_FRONT_ENTITY_NAME "exynos5-fimc-is-front"
-#define ISP_BACK_ENTITY_NAME "exynos5-fimc-is-back"
-#define ISP_VIDEO_BAYER_NAME "exynos5-fimc-is-bayer"
-#define ISP_VIDEO_SCALERC_NAME "exynos5-fimc-is-scalerc"
-#define ISP_VIDEO_3DNR_NAME "exynos5-fimc-is-3dnr"
-#define ISP_VIDEO_SCALERP_NAME "exynos5-fimc-is-scalerp"
-
-#endif
-#define MIPI_NUM 1
-#define FLITE_NUM 1
-#define GSC_NUM 0
-
-#define PFX_SUBDEV_NODE "/dev/v4l-subdev"
-
-#define BPP 2
-#define MIN(x, y) (((x) < (y)) ? (x) : (y))
-#ifndef GAIA_FW_BETA
-#define MAX_BUFFERS 8
-#else
-#define MAX_BUFFERS 4 //external : 8, internal : 4
-#endif
-
-#define MAX_PLANES (3)
-#define V4L2_BUF_TYPE V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
-
-#define V4L2_MEMORY_TYPE V4L2_MEMORY_USERPTR
-#define RECORD_PIX_FMT V4L2_PIX_FMT_NV12M
-#define PREVIEW_NUM_PLANE (3)
-#define RECORD_NUM_PLANE (2)
-
-/*
- * V 4 L 2 F I M C E X T E N S I O N S
- *
- */
-#define V4L2_CID_ROTATION (V4L2_CID_PRIVATE_BASE + 0)
-#define V4L2_CID_PADDR_Y (V4L2_CID_PRIVATE_BASE + 1)
-#define V4L2_CID_PADDR_CB (V4L2_CID_PRIVATE_BASE + 2)
-#define V4L2_CID_PADDR_CR (V4L2_CID_PRIVATE_BASE + 3)
-#define V4L2_CID_PADDR_CBCR (V4L2_CID_PRIVATE_BASE + 4)
-#define V4L2_CID_STREAM_PAUSE (V4L2_CID_PRIVATE_BASE + 53)
-
-#define V4L2_CID_CAM_JPEG_MAIN_SIZE (V4L2_CID_PRIVATE_BASE + 32)
-#define V4L2_CID_CAM_JPEG_MAIN_OFFSET (V4L2_CID_PRIVATE_BASE + 33)
-#define V4L2_CID_CAM_JPEG_THUMB_SIZE (V4L2_CID_PRIVATE_BASE + 34)
-#define V4L2_CID_CAM_JPEG_THUMB_OFFSET (V4L2_CID_PRIVATE_BASE + 35)
-#define V4L2_CID_CAM_JPEG_POSTVIEW_OFFSET (V4L2_CID_PRIVATE_BASE + 36)
-#define V4L2_CID_CAM_JPEG_QUALITY (V4L2_CID_PRIVATE_BASE + 37)
-
-#define TPATTERN_COLORBAR 1
-#define TPATTERN_HORIZONTAL 2
-#define TPATTERN_VERTICAL 3
-
-#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U')
-
-/* FOURCC for FIMC specific */
-#define V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y')
-#define V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6')
-#define V4L2_PIX_FMT_NV61 v4l2_fourcc('N', 'V', '6', '1')
-#define V4L2_PIX_FMT_NV12T v4l2_fourcc('T', 'V', '1', '2')
-/*
- * U S E R D E F I N E D T Y P E S
- *
- */
-#define PREVIEW_MODE 1
-#define RECORD_MODE 2
-
-/* We use this struct as the v4l2_streamparm raw_data for
- * VIDIOC_G_PARM and VIDIOC_S_PARM
- */
-struct sec_cam_parm {
- struct v4l2_captureparm capture;
- int contrast;
- int effects;
- int brightness;
- int exposure;
- int flash_mode;
- int focus_mode;
- int iso;
- int metering;
- int saturation;
- int scene_mode;
- int sharpness;
- int hue;
- int white_balance;
-};
-
-struct yuv_fmt_list {
- const char *name;
- const char *desc;
- unsigned int fmt;
- int depth;
- int planes;
-};
-
-struct camsensor_date_info {
- unsigned int year;
- unsigned int month;
- unsigned int date;
-};
-
-class SecCamera : public virtual RefBase {
-public:
-
- enum CAMERA_ID {
- CAMERA_ID_BACK = 0,
- CAMERA_ID_FRONT = 1,
- };
-
- enum JPEG_QUALITY {
- JPEG_QUALITY_ECONOMY = 0,
- JPEG_QUALITY_NORMAL = 50,
- JPEG_QUALITY_SUPERFINE = 100,
- JPEG_QUALITY_MAX,
- };
-
- enum OBJECT_TRACKING {
- OBJECT_TRACKING_OFF,
- OBJECT_TRACKING_ON,
- OBJECT_TRACKING_MAX,
- };
-
- /*VT call*/
- enum VT_MODE {
- VT_MODE_OFF,
- VT_MODE_ON,
- VT_MODE_MAX,
- };
-
- /*Camera sensor mode - Camcorder fix fps*/
- enum SENSOR_MODE {
- SENSOR_MODE_CAMERA,
- SENSOR_MODE_MOVIE,
- };
-
- /*Camera Shot mode*/
- enum SHOT_MODE {
- SHOT_MODE_SINGLE = 0,
- SHOT_MODE_CONTINUOUS = 1,
- SHOT_MODE_PANORAMA = 2,
- SHOT_MODE_SMILE = 3,
- SHOT_MODE_SELF = 6,
- };
-
- enum CHK_DATALINE {
- CHK_DATALINE_OFF,
- CHK_DATALINE_ON,
- CHK_DATALINE_MAX,
- };
-
- int m_touch_af_start_stop;
-
- SecCamera();
- virtual ~SecCamera();
-
- static SecCamera* createInstance(void)
- {
- static SecCamera singleton;
- return &singleton;
- }
- status_t dump(int fd);
-
- bool CreateCamera(int index);
- bool DestroyCamera(void);
- int getCameraId(void);
-
- int startPreview(void);
- int stopPreview(void);
- int getPreviewState(void)
- {
- return m_preview_state;
- }
- void clearPreviewState(void)
- {
- m_preview_state = 0;
- }
-
- int startRecord(void);
- int stopRecord(void);
- int setPreviewFrame(int index);
- int getRecordFrame(void);
- int releaseRecordFrame(int index);
- int getRecordAddr(int index, SecBuffer *buffer);
-
- int getPreview(void);
- int setPreviewSize(int width, int height, int pixel_format);
- int getPreviewSize(int *width, int *height, int *frame_size);
- int getPreviewMaxSize(int *width, int *height);
- int getPreviewPixelFormat(void);
- int setPreviewImage(int index, unsigned char *buffer, int size);
-
- int setSnapshotSize(int width, int height);
- int getSnapshotSize(int *width, int *height, int *frame_size);
- int getSnapshotMaxSize(int *width, int *height);
- int setSnapshotPixelFormat(int pixel_format);
- int getSnapshotPixelFormat(void);
-
- unsigned char* getJpeg(unsigned char *snapshot_data, int snapshot_size, int *size);
- unsigned char* yuv2Jpeg(unsigned char *raw_data, int raw_size,
- int *jpeg_size,
- int width, int height, int pixel_format);
-
- int setJpegThumbnailSize(int width, int height);
- int getJpegThumbnailSize(int *width, int *height);
-
- int setJpegThumbnailQuality(int jpeg_thumbnail_quality);
- int getJpegThumbnailQuality(void);
-
- int setAutofocus(void);
-
- int SetRotate(int angle);
- int getRotate(void);
-
- int setVerticalMirror(void);
- int setHorizontalMirror(void);
-
- int setWhiteBalance(int white_balance);
- int getWhiteBalance(void);
-
- int setBrightness(int brightness);
- int getBrightness(void);
-
- int setExposure(int exposure);
- int getExposure(void);
-
- int setImageEffect(int image_effect);
- int getImageEffect(void);
-
- int setSceneMode(int scene_mode);
- int getSceneMode(void);
-
- int setFlashMode(int flash_mode);
- int getFlashMode(void);
-
- int setMetering(int metering_value);
- int getMetering(void);
-
- int setISO(int iso_value);
- int getISO(void);
-
- int setContrast(int contrast_value);
- int getContrast(void);
-
- int setSaturation(int saturation_value);
- int getSaturation(void);
-
- int setSharpness(int sharpness_value);
- int getSharpness(void);
-
- int setHue(int hue_value);
- int getHue(void);
-
- int setWDR(int wdr_value);
- int getWDR(void);
-
- int setAntiShake(int anti_shake);
- int getAntiShake(void);
-
- int setJpegQuality(int jpeg_qality);
- int getJpegQuality(void);
-
- int setZoom(int zoom_level);
- int getZoom(void);
-
- int setObjectTracking(int object_tracking);
- int getObjectTracking(void);
- int getObjectTrackingStatus(void);
-
- int setSmartAuto(int smart_auto);
- int getSmartAuto(void);
- int getAutosceneStatus(void);
-
- int setBeautyShot(int beauty_shot);
- int getBeautyShot(void);
-
- int setVintageMode(int vintage_mode);
- int getVintageMode(void);
-
- int setFocusMode(int focus_mode);
- int getFocusMode(void);
-
- int setFaceDetect(int face_detect);
- int getFaceDetect(void);
-
- int setGPSLatitude(const char *gps_latitude);
- int setGPSLongitude(const char *gps_longitude);
- int setGPSAltitude(const char *gps_altitude);
- int setGPSTimeStamp(const char *gps_timestamp);
- int setGPSProcessingMethod(const char *gps_timestamp);
- int cancelAutofocus(void);
- int setFaceDetectLockUnlock(int facedetect_lockunlock);
- int setObjectPosition(int x, int y);
- int setObjectTrackingStartStop(int start_stop);
- int setTouchAFStartStop(int start_stop);
- int setCAFStatus(int on_off);
- int getAutoFocusResult(void);
- int setAntiBanding(int anti_banding);
- int getPostview(void);
- int setRecording(int recording_en);
- int setRecordingSize(int width, int height);
- int getRecordingSize(int *width, int *height);
- int setGamma(int gamma);
- int setSlowAE(int slow_ae);
- int setExifOrientationInfo(int orientationInfo);
- int setBatchReflection(void);
- int setSnapshotCmd(void);
- int endSnapshot(void);
- int setCameraSensorReset(void);
- int setSensorMode(int sensor_mode); /* Camcorder fix fps */
- int setShotMode(int shot_mode); /* Shot mode */
- int setDataLineCheck(int chk_dataline);
- int getDataLineCheck(void);
- int setDataLineCheckStop(void);
- int setDefultIMEI(int imei);
- int getDefultIMEI(void);
- const __u8* getCameraSensorName(void);
-#ifdef ENABLE_ESD_PREVIEW_CHECK
- int getCameraSensorESDStatus(void);
-#endif // ENABLE_ESD_PREVIEW_CHECK
-
- int setFrameRate(int frame_rate);
- unsigned char* getJpeg(int*, unsigned int*);
- int getSnapshotAndJpeg(unsigned char *yuv_buf, unsigned char *jpeg_buf,
- unsigned int *output_size);
- int getExif(unsigned char *pExifDst, unsigned char *pThumbSrc);
-
- void getPostViewConfig(int*, int*, int*);
- void getThumbnailConfig(int *width, int *height, int *size);
-
- int getPostViewOffset(void);
- int getCameraFd(void);
- unsigned char* getPictureVaddr(void);
- int getJpegFd(void);
- void SetJpgAddr(unsigned char *addr);
- int getPreviewAddr(int index, SecBuffer *buffer);
- void setUserBufferAddr(void *ptr, int index, int mode);
- static void setJpegRatio(double ratio)
- {
- if((ratio < 0) || (ratio > 1))
- return;
-
- jpeg_ratio = ratio;
- }
-
- static double getJpegRatio()
- {
- return jpeg_ratio;
- }
-
- static void setInterleaveDataSize(int x)
- {
- interleaveDataSize = x;
- }
-
- static int getInterleaveDataSize()
- {
- return interleaveDataSize;
- }
-
- static void setJpegLineLength(int x)
- {
- jpegLineLength = x;
- }
-
- static int getJpegLineLength()
- {
- return jpegLineLength;
- }
-
-private:
- v4l2_streamparm m_streamparm;
- struct sec_cam_parm *m_params;
- int m_flagCreate;
- int m_preview_state;
- int m_camera_id;
-
- /* v4l2 sub-dev file description */
- int m_cam_sd_fd;
- int m_mipi_sd_fd;
- int m_flite_sd_fd;
- int m_gsc_sd_fd;
- int m_gsc_vd_fd;
-
- /* media controller variable */
- struct media_device *media;
- struct media_link *links;
- struct media_pad *pads;
-
- struct media_entity *camera_sd_entity;
- struct media_entity *mipi_sd_entity;
- struct media_entity *flite_sd_entity;
- struct media_entity *gsc_cap_sd_entity;
- struct media_entity *gsc_cap_vd_entity;
- struct media_entity *isp_sensor_entity;
- struct media_entity *isp_front_entity;
- struct media_entity *isp_back_entity;
- struct media_entity *isp_scalerc_entity;
- struct media_entity *isp_scalerp_entity;
- struct media_entity *isp_3dnr_entity;
-
- int m_cam_fd;
-
- int m_cam_fd2;
- struct pollfd m_events_c2;
- int m_flag_record_start;
-
- int m_preview_v4lformat;
- int m_preview_width;
- int m_preview_height;
- int m_preview_max_width;
- int m_preview_max_height;
-
- int m_snapshot_v4lformat;
- int m_snapshot_width;
- int m_snapshot_height;
- int m_snapshot_max_width;
- int m_snapshot_max_height;
- unsigned char* m_picture_vaddr;
-
- int m_angle;
- int m_anti_banding;
- int m_wdr;
- int m_anti_shake;
- int m_zoom_level;
- int m_object_tracking;
- int m_smart_auto;
- int m_beauty_shot;
- int m_vintage_mode;
- int m_face_detect;
- int m_object_tracking_start_stop;
- int m_recording_en;
- int m_recording_width;
- int m_recording_height;
- long m_gps_latitude;
- long m_gps_longitude;
- long m_gps_altitude;
- long m_gps_timestamp;
- int m_sensor_mode; /*Camcorder fix fps */
- int m_shot_mode; /* Shot mode */
- int m_exif_orientation;
- int m_chk_dataline;
- int m_video_gamma;
- int m_slow_ae;
- int m_camera_af_flag;
-
- int m_flag_camera_start;
-
- int m_jpeg_fd;
- int m_jpeg_thumbnail_width;
- int m_jpeg_thumbnail_height;
- int m_jpeg_thumbnail_quality;
- int m_jpeg_quality;
-
- int m_postview_offset;
-
-#ifdef ENABLE_ESD_PREVIEW_CHECK
- int m_esd_check_count;
-#endif // ENABLE_ESD_PREVIEW_CHECK
-
- exif_attribute_t mExifInfo;
-
- struct SecBuffer m_capture_buf;
- struct SecBuffer m_buffers_preview[MAX_BUFFERS];
- struct SecBuffer m_buffers_record[MAX_BUFFERS];
- struct pollfd m_events_c;
-
- inline void writeExifIfd(unsigned char **pCur,
- unsigned short tag,
- unsigned short type,
- unsigned int count,
- uint32_t value);
- inline void writeExifIfd(unsigned char **pCur,
- unsigned short tag,
- unsigned short type,
- unsigned int count,
- unsigned char *pValue);
- inline void writeExifIfd(unsigned char **pCur,
- unsigned short tag,
- unsigned short type,
- unsigned int count,
- rational_t *pValue,
- unsigned int *offset,
- unsigned char *start);
- inline void writeExifIfd(unsigned char **pCur,
- unsigned short tag,
- unsigned short type,
- unsigned int count,
- unsigned char *pValue,
- unsigned int *offset,
- unsigned char *start);
-
- void setExifChangedAttribute();
- void setExifFixedAttribute();
- int makeExif (unsigned char *exifOut,
- unsigned char *thumb_buf,
- unsigned int thumb_size,
- exif_attribute_t *exifInfo,
- unsigned int *size,
- bool useMainbufForThumb);
- void resetCamera();
-
- static double jpeg_ratio;
- static int interleaveDataSize;
- static int jpegLineLength;
-};
-
-extern unsigned long measure_time_camera(struct timeval *start, struct timeval *stop);
-
-}; // namespace android
-
-#endif // ANDROID_HARDWARE_CAMERA_SEC_H