Files
2026-08-24 10:03:24 +08:00

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