blob: 72a38017574a718b97dc7aa88c673a87b06a6ea1 [file] [log] [blame]
/*
* Copyright@ 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.
*/
/*!
* \file ExynosCameraPPUniPluginHLV.h
* \brief header file for ExynosCameraPPUniPluginHLV
* \author Sangwoo, Park(sw5771.park@samsung.com)
* \date 2016/10/05
*
* <b>Revision History: </b>
* - 2016/10/05 : Sangwoo, Park(sw5771.park@samsung.com) \n
* Initial version
*/
#ifndef EXYNOS_CAMERA_PP_UNIPLUGIN_HLV_H
#define EXYNOS_CAMERA_PP_UNIPLUGIN_HLV_H
#include "ExynosCameraDefine.h"
#include "ExynosCameraPPUniPlugin.h"
using namespace android;
enum hlv_status {
HLV_DEINIT = 0,
HLV_IDLE,
HLV_RUN,
};
/*
* Class ExynosCameraPPUniPluginHLV
*/
class ExynosCameraPPUniPluginHLV : public ExynosCameraPPUniPlugin
{
protected:
ExynosCameraPPUniPluginHLV()
{
m_init();
}
ExynosCameraPPUniPluginHLV(
int cameraId,
ExynosCameraParameters *parameters,
int nodeNum) : ExynosCameraPPUniPlugin(cameraId, parameters, nodeNum)
{
strncpy(m_name, "ExynosCameraPPUniPluginHLV", EXYNOS_CAMERA_NAME_STR_SIZE - 1);
m_init();
}
/* ExynosCameraPPUniPluginHLV's constructor is protected
* to prevent new without ExynosCameraPPFactory::newPP()
*/
friend class ExynosCameraPPFactory;
public:
virtual ~ExynosCameraPPUniPluginHLV();
status_t start(void);
status_t stop(bool suspendFlag = false);
protected:
virtual status_t m_draw(ExynosCameraImage *srcImage,
ExynosCameraImage *dstImage);
private:
void m_init(void);
int m_refCount;
int m_HLVstatus;
mutable Mutex m_uniPluginLock;
};
#endif //EXYNOS_CAMERA_PP_UNIPLUGIN_HLV_H