summaryrefslogtreecommitdiffstats
path: root/libcamera/SecCameraHWInterface.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcamera/SecCameraHWInterface.h')
-rw-r--r--libcamera/SecCameraHWInterface.h212
1 files changed, 0 insertions, 212 deletions
diff --git a/libcamera/SecCameraHWInterface.h b/libcamera/SecCameraHWInterface.h
deleted file mode 100644
index 75526c6..0000000
--- a/libcamera/SecCameraHWInterface.h
+++ /dev/null
@@ -1,212 +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_HARDWARE_SEC_H
-#define ANDROID_HARDWARE_CAMERA_HARDWARE_SEC_H
-
-#include "SecCamera.h"
-#include <utils/threads.h>
-#include <camera/CameraHardwareInterface.h>
-#include <binder/MemoryBase.h>
-#include <binder/MemoryHeapBase.h>
-#include <utils/threads.h>
-
-namespace android {
-class CameraHardwareSec : public CameraHardwareInterface {
-public:
- virtual sp<IMemoryHeap> getPreviewHeap() const;
- virtual sp<IMemoryHeap> getRawHeap() const;
-
- virtual void setCallbacks(notify_callback notify_cb,
- data_callback data_cb,
- data_callback_timestamp data_cb_timestamp,
- void *user);
-
- virtual void enableMsgType(int32_t msgType);
- virtual void disableMsgType(int32_t msgType);
- virtual bool msgTypeEnabled(int32_t msgType);
-
- virtual status_t startPreview();
-#if defined(BOARD_USES_OVERLAY)
- virtual bool useOverlay();
- virtual status_t setOverlay(const sp<Overlay> &overlay);
-#endif
- virtual void stopPreview();
- virtual bool previewEnabled();
-
- virtual status_t startRecording();
- virtual void stopRecording();
- virtual bool recordingEnabled();
- virtual void releaseRecordingFrame(const sp<IMemory> &mem);
-
- virtual status_t autoFocus();
- virtual status_t cancelAutoFocus();
- virtual status_t takePicture();
- virtual status_t cancelPicture();
- virtual status_t dump(int fd, const Vector<String16> &args) const;
- virtual status_t setParameters(const CameraParameters& params);
- virtual CameraParameters getParameters() const;
- virtual status_t sendCommand(int32_t command, int32_t arg1,
- int32_t arg2);
- virtual void release();
-
- static sp<CameraHardwareInterface> createInstance(int cameraId);
-
-private:
- CameraHardwareSec(int cameraId);
- virtual ~CameraHardwareSec();
-
- static wp<CameraHardwareInterface> singleton;
-
- static const int kBufferCount = MAX_BUFFERS;
- static const int kBufferCountForRecord = MAX_BUFFERS;
-
- class PreviewThread : public Thread {
- CameraHardwareSec *mHardware;
- public:
- PreviewThread(CameraHardwareSec *hw):
- Thread(false),
- mHardware(hw) { }
- virtual void onFirstRef() {
- run("CameraPreviewThread", PRIORITY_URGENT_DISPLAY);
- }
- virtual bool threadLoop() {
- mHardware->previewThreadWrapper();
- return false;
- }
- };
-
- class PictureThread : public Thread {
- CameraHardwareSec *mHardware;
- public:
- PictureThread(CameraHardwareSec *hw):
- Thread(false),
- mHardware(hw) { }
- virtual bool threadLoop() {
- mHardware->pictureThread();
- mHardware->mSecCamera->endSnapshot();
- return false;
- }
- };
-
- class AutoFocusThread : public Thread {
- CameraHardwareSec *mHardware;
- public:
- AutoFocusThread(CameraHardwareSec *hw): Thread(false), mHardware(hw) { }
- virtual void onFirstRef() {
- run("CameraAutoFocusThread", PRIORITY_DEFAULT);
- }
- virtual bool threadLoop() {
- mHardware->autoFocusThread();
- return true;
- }
- };
-
- void initDefaultParameters(int cameraId);
- void initHeapLocked();
-
- sp<PreviewThread> mPreviewThread;
- int previewThread();
- int previewThreadWrapper();
-
- sp<AutoFocusThread> mAutoFocusThread;
- int autoFocusThread();
-
- sp<PictureThread> mPictureThread;
- int pictureThread();
- bool mCaptureInProgress;
-
- int save_jpeg(unsigned char *real_jpeg, int jpeg_size);
- void save_postview(const char *fname, uint8_t *buf,
- uint32_t size);
- int decodeInterleaveData(unsigned char *pInterleaveData,
- int interleaveDataSize,
- int yuvWidth,
- int yuvHeight,
- int *pJpegSize,
- void *pJpegData,
- void *pYuvData);
- bool YUY2toNV21(void *srcBuf, void *dstBuf, uint32_t srcWidth, uint32_t srcHeight);
- bool scaleDownYuv422(char *srcBuf, uint32_t srcWidth,
- uint32_t srcHight, char *dstBuf,
- uint32_t dstWidth, uint32_t dstHight);
-
- bool CheckVideoStartMarker(unsigned char *pBuf);
- bool CheckEOIMarker(unsigned char *pBuf);
- bool FindEOIMarkerInJPEG(unsigned char *pBuf,
- int dwBufSize, int *pnJPEGsize);
- bool SplitFrame(unsigned char *pFrame, int dwSize,
- int dwJPEGLineLength, int dwVideoLineLength,
- int dwVideoHeight, void *pJPEG,
- int *pdwJPEGSize, void *pVideo,
- int *pdwVideoSize);
- void setSkipFrame(int frame);
- /* used by auto focus thread to block until it's told to run */
- mutable Mutex mFocusLock;
- mutable Condition mFocusCondition;
- bool mExitAutoFocusThread;
-
- /* used by preview thread to block until it's told to run */
- mutable Mutex mPreviewLock;
- mutable Condition mPreviewCondition;
- mutable Condition mPreviewStoppedCondition;
- bool mPreviewRunning;
- bool mExitPreviewThread;
-
- /* used to guard threading state */
- mutable Mutex mStateLock;
-
- CameraParameters mParameters;
- CameraParameters mInternalParameters;
-
- sp<MemoryHeapBase> mPreviewHeap;
- sp<MemoryHeapBase> mRawHeap;
- sp<MemoryHeapBase> mRecordHeap;
- sp<MemoryHeapBase> mJpegHeap;
- sp<MemoryBase> mBuffers[kBufferCount];
- sp<MemoryBase> mRecordBuffers[kBufferCountForRecord];
-
- SecCamera *mSecCamera;
- const __u8 *mCameraSensorName;
-
- mutable Mutex mSkipFrameLock;
- int mSkipFrame;
-
-#if defined(BOARD_USES_OVERLAY)
- sp<Overlay> mOverlay;
- bool mUseOverlay;
- int mOverlayBufferIdx;
-#endif
-
- notify_callback mNotifyCb;
- data_callback mDataCb;
- data_callback_timestamp mDataCbTimestamp;
- void *mCallbackCookie;
-
- int32_t mMsgEnabled;
-
- bool mRecordRunning;
- mutable Mutex mRecordLock;
- int mPostViewWidth;
- int mPostViewHeight;
- int mPostViewSize;
-};
-
-}; // namespace android
-
-#endif