61 lines
1.7 KiB
C++
61 lines
1.7 KiB
C++
/*
|
|
* Copyright (c) 2014 Amlogic, Inc. All rights reserved.
|
|
*
|
|
* This source code is subject to the terms and conditions defined in the
|
|
* file 'LICENSE' which is part of this source code package.
|
|
*
|
|
* Description: header file
|
|
*/
|
|
#ifndef _DYNAMIC_BACKLIGHT_H
|
|
#define _DYNAMIC_BACKLIGHT_H
|
|
|
|
#include "PQType.h"
|
|
#include "CPQLog.h"
|
|
|
|
|
|
#define ONE_FRAME_TIME 15*1000
|
|
#define COLOR_RANGE_MODE 0
|
|
#define SYSFS_HIST_SEL "/sys/module/am_vecm/parameters/vpp_hist_sel"
|
|
|
|
typedef struct dynamic_backlight_Param_s {
|
|
int CurBacklightValue;
|
|
int UiBackLightValue;
|
|
Dynamic_backlight_status_t CurDynamicBacklightMode;
|
|
struct ve_hist_s hist;
|
|
int VideoStatus;
|
|
} dynamic_backlight_Param_t;
|
|
|
|
|
|
class CDynamicBackLight {
|
|
public:
|
|
CDynamicBackLight();
|
|
~CDynamicBackLight();
|
|
int startDected(void);
|
|
void gd_fw_alg_frm(int average, int *tf_bl_value, int *LUT);
|
|
class IDynamicBackLightObserver {
|
|
public:
|
|
IDynamicBackLightObserver() {};
|
|
virtual ~IDynamicBackLightObserver() {};
|
|
virtual void Set_Backlight(int value) {};
|
|
virtual void GetDynamicBacklighConfig(int *thtf, int *lut_mode, int *heigh_param, int *low_param) {};
|
|
virtual void GetDynamicBacklighParam(dynamic_backlight_Param_t *DynamicBacklightParam) {};
|
|
};
|
|
|
|
void setObserver (IDynamicBackLightObserver *pOb)
|
|
{
|
|
mpObserver = pOb;
|
|
};
|
|
private:
|
|
int mPreBacklightValue;
|
|
int mGD_mvreflsh;
|
|
int GD_LUT_MODE;
|
|
int GD_ThTF;
|
|
int backLightScale(int, int);
|
|
static void *dynamicBacklightThread(void* data);
|
|
void *threadLoop(void);
|
|
IDynamicBackLightObserver *mpObserver;
|
|
};
|
|
|
|
#endif
|
|
|