adjust_customer.h

来自「RTD2662板卡源代码」· C头文件 代码 · 共 952 行 · 第 1/4 页

H
952
字号
	0x87, 0x98, 0x87, 0x98, 0x87, 0x98, 0x87, 0x98, 0x87, 0x98, 
	0x87, 0x98, 0x87, 0x98, 0x79, 0x88, 0x79, 0x87, 0x98, 0x79, 
	0x88, 0x79, 0x87, 0x98, 0x79, 0x87, 0x98, 0x79, 0x87, 0x98, 
	0x79, 0x87, 0x98, 0x79, 0x79, 0x87, 0x98, 0x79, 0x87, 0x97, 
	0x98, 0x79, 0x87, 0x97, 0x98, 0x79, 0x79, 0x87, 0x97, 


};

unsigned char code GAMMA_2_B[] = {

	0x0, 0x7, 0x78, 0x79, 0x78, 0x88, 0x88, 0x88, 0x88, 0x79, 
	0x87, 0x98, 0x79, 0x87, 0x97, 0x97, 0x97, 0x89, 0x79, 0x78, 
	0x97, 0x89, 0x78, 0x97, 0x89, 0x78, 0x88, 0x97, 0x88, 0x97, 
	0x88, 0x88, 0x97, 0x88, 0x88, 0x88, 0x89, 0x78, 0x88, 0x88, 
	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
	0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0x88, 0x88, 0x88, 0x88, 
	0x87, 0x98, 0x88, 0x88, 0x79, 0x88, 0x88, 0x87, 0x98, 0x88, 
	0x87, 0x98, 0x88, 0x87, 0x98, 0x88, 0x79, 0x88, 0x79, 0x88, 
	0x87, 0x98, 0x87, 0x98, 0x87, 0x98, 0x87, 0x98, 0x87, 0x98, 
	0x87, 0x98, 0x87, 0x98, 0x79, 0x88, 0x79, 0x87, 0x98, 0x79, 
	0x88, 0x79, 0x87, 0x98, 0x79, 0x87, 0x98, 0x79, 0x87, 0x98, 
	0x79, 0x87, 0x98, 0x79, 0x79, 0x87, 0x98, 0x79, 0x87, 0x97, 
	0x98, 0x79, 0x87, 0x97, 0x98, 0x79, 0x79, 0x87, 0x97, 


};

unsigned char code GAMMA_3_R[] = {

	0x0, 0x1, 0x98, 0x88, 0x89, 0x78, 0x97, 0x98, 0x79, 0x87, 
	0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x78, 0x88, 
	0x97, 0x89, 0x78, 0x97, 0x89, 0x79, 0x79, 0x79, 0x79, 0x79, 
	0x79, 0x79, 0x87, 0x97, 0x98, 0x79, 0x88, 0x79, 0x87, 0x98, 
	0x88, 0x79, 0x88, 0x87, 0x98, 0x88, 0x88, 0x88, 0x79, 0x88, 
	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x97, 0x88, 
	0x88, 0x88, 0x88, 0x97, 0x88, 0x88, 0x97, 0x88, 0x89, 0x78, 
	0x89, 0x78, 0x89, 0x78, 0x89, 0x78, 0x97, 0x89, 0x78, 0x97, 
	0x89, 0x78, 0x97, 0x97, 0x89, 0x79, 0x78, 0x97, 0x97, 0x97, 
	0x89, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 
	0x87, 0x97, 0x97, 0x98, 0x79, 0x79, 0x87, 0x97, 0x98, 0x79, 
	0x87, 0x98, 0x79, 0x87, 0x98, 0x79, 0x87, 0x98, 0x79, 0x88, 
	0x79, 0x87, 0x98, 0x87, 0x98, 0x88, 0x79, 0x88, 0x79, 
		
};

unsigned char code GAMMA_3_G[] = {

	0x0, 0x1, 0x98, 0x88, 0x89, 0x78, 0x97, 0x98, 0x79, 0x87, 
	0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x78, 0x88, 
	0x97, 0x89, 0x78, 0x97, 0x89, 0x79, 0x79, 0x79, 0x79, 0x79, 
	0x79, 0x79, 0x87, 0x97, 0x98, 0x79, 0x88, 0x79, 0x87, 0x98, 
	0x88, 0x79, 0x88, 0x87, 0x98, 0x88, 0x88, 0x88, 0x79, 0x88, 
	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x97, 0x88, 
	0x88, 0x88, 0x88, 0x97, 0x88, 0x88, 0x97, 0x88, 0x89, 0x78, 
	0x89, 0x78, 0x89, 0x78, 0x89, 0x78, 0x97, 0x89, 0x78, 0x97, 
	0x89, 0x78, 0x97, 0x97, 0x89, 0x79, 0x78, 0x97, 0x97, 0x97, 
	0x89, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 
	0x87, 0x97, 0x97, 0x98, 0x79, 0x79, 0x87, 0x97, 0x98, 0x79, 
	0x87, 0x98, 0x79, 0x87, 0x98, 0x79, 0x87, 0x98, 0x79, 0x88, 
	0x79, 0x87, 0x98, 0x87, 0x98, 0x88, 0x79, 0x88, 0x79, 

};

unsigned char code GAMMA_3_B[] = {

	0x0, 0x1, 0x98, 0x88, 0x89, 0x78, 0x97, 0x98, 0x79, 0x87, 
	0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x78, 0x88, 
	0x97, 0x89, 0x78, 0x97, 0x89, 0x79, 0x79, 0x79, 0x79, 0x79, 
	0x79, 0x79, 0x87, 0x97, 0x98, 0x79, 0x88, 0x79, 0x87, 0x98, 
	0x88, 0x79, 0x88, 0x87, 0x98, 0x88, 0x88, 0x88, 0x79, 0x88, 
	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x97, 0x88, 
	0x88, 0x88, 0x88, 0x97, 0x88, 0x88, 0x97, 0x88, 0x89, 0x78, 
	0x89, 0x78, 0x89, 0x78, 0x89, 0x78, 0x97, 0x89, 0x78, 0x97, 
	0x89, 0x78, 0x97, 0x97, 0x89, 0x79, 0x78, 0x97, 0x97, 0x97, 
	0x89, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 
	0x87, 0x97, 0x97, 0x98, 0x79, 0x79, 0x87, 0x97, 0x98, 0x79, 
	0x87, 0x98, 0x79, 0x87, 0x98, 0x79, 0x87, 0x98, 0x79, 0x88, 
	0x79, 0x87, 0x98, 0x87, 0x98, 0x88, 0x79, 0x88, 0x79, 

};


#endif
//ICM customer data
//RUC : coordinate of R of U center line
//RVC : coordinate of R of V center line
//RUR : coordinate of R of U right line
//RVR : coordinate of R of V right line
//RUL : coordinate of R of U left line
//RVL : coordinate of R of V left line
SWORD code Video_TempUV1[5][6] = 
{//     {RUC, RVC, RUR, RVR, RUL, RVL}       
 /*R*/  {255, 510, 356, 309, 36, 510},
 /*G*/  {-510, 0 , -464, 92, -464, -92},
 /*B*/  {255, -510, 139, -510, 310, -400},
 /*Y*/  {-255, 510, -195, 510, -310, 400},
 /*C*/  {-255, -510, -310, -400, -139, -510},   
};


SWORD code Graphic_TempUV1[3][6] = 
{
 /*R*/  {255,  510, 437, 146, -170, 510},
 /*G*/  {-510, 0  , -340, 340, -340, -340},
 /*B*/  {255, -510, -170, -510, 355, -310},   
};

//DUS : Delta U when range smaller than 8
//DVS : Delta V when range smaller than 8
//DUL : Delta U when range larger than 8
//DVL : Delta V when range larger than 8
SWORD code TempUV2[15][4] =
{//             { DUS,  DVS,         DUL,    DVL}   
/*R_center*/    { 64-8, -128+16,  -128+16,   -48},
/*R_right*/	    { 64-8, -128+16,  -64+8,  128-16},
/*R_left*/	    {128-16, -48,     -128+16,   -48},

/*G_center*/	{64-8,  128-16,   64-8,   -128+16},
/*G_right*/	    {64-8,  128-16,   -64+8,   -128+16},
/*G_left*/	    {-64+8, 128-16,   64-8,   -128+16},

/*B_center*/    {-128+16, 48,    64-8,   128-16},
/*B_right*/   	{-128+16, 48,    128-16,  48},
/*B_left*/	    {-64+8, -128+16, 64-8, 128-16},

/*Y_center*/	{128-16,  -48,  -64+8,  -128+16},
/*Y_right*/  	{128-16,  -48,  -128+16,  -48},
/*Y_left*/	    {64-8,  128-16, -64+8, -128+16},

/*C_center*/	{-64+8, 128-16, 128-16,  48},
/*C_right*/	    {-64+8, 128-16, 64-8, -128+16},
/*C_left*/	    {-128+16, 48, 128-16, 48},
};


#else
extern code BYTE *tSU_COEF_TABLE[];
extern code BYTE *tSCALE_DOWN_COEF_TABLE[];

extern BYTE code tGAMMA_COMPACT1[];

extern unsigned char code GAMMA_1_R[];
extern unsigned char code GAMMA_1_G[];
extern unsigned char code GAMMA_1_B[];

extern unsigned char code GAMMA_2_R[];
extern unsigned char code GAMMA_2_G[];
extern unsigned char code GAMMA_2_B[];

extern unsigned char code GAMMA_3_R[];
extern unsigned char code GAMMA_3_G[];
extern unsigned char code GAMMA_3_B[];

extern SWORD code Video_TempUV1[5][6] ;
extern SWORD code Graphic_TempUV1[3][6];
extern SWORD code TempUV2[15][4];
#endif

//--------------------------------------------------
// Definitions of Contrast Range (Real Value)
//--------------------------------------------------
#define _CONTRAST_MAX                   178
#define _CONTRAST_MIN                   78


//----------------------------------------------------------------------------------------------------

#ifdef _ADJUST_CUSTOMER_C
//--------------------------------------------------
// Function Prototypes
//--------------------------------------------------
void CAdjustBrightness(void);
void CAdjustContrast(void);
void CAdjustYpbprhue(BYTE uchue);
void CAdjustYpbprSaturation(BYTE ucYPbPrSaturation);
#if(_AdjustCustomerColorMode==_ENABLE)
void CAdjustCustomerColorMode(void);
#endif
void CVideoSetSaturation(BYTE ucValue);
void CVideoSetContrast(BYTE ucValue);
void CAdjustSetHueUVDelta(BYTE color, BYTE select);
void CAdjustPeakingFilter(SBYTE ucPeaking);
void CAdjustPeakingCoding(void);
void CAdjustBacklight(void);
void CAdjustHueSatSet(BYTE color, SWORD TempU1, SWORD TempU2, SWORD TempV1, SWORD TempV2);
void CAdjustGammaTable(BYTE index);

#if(sRGB_Color_Enhance == _ENABLE)
void CAdjustSaturationHue(BYTE  ucValue, BOOL bSaturationIndex);
INT16 CAdjustCosine(INT16 fDegree);
INT16 CAdjustSine(INT16 fDegree);
void CAdjustMatrixMultiply(INT16 (*arrayA)[3], INT16 (*arrayB)[3], INT16 (*arrayC)[3]);
#endif

#if 0//(_SCAN_TYPE==_SEQUENTIAL_SCAN)
void CVideoFrameSync(void);
#endif

void CAdjustPeakingFilter(SBYTE ucPeaking);//eric 20070523
#else
//--------------------------------------------------
// Extern Function Prototypes
//--------------------------------------------------
//extern void CAdjustGamma(BYTE ucGammaTableType, BYTE *pGammaTableArrayR, BYTE *pGammaTableArrayG, BYTE *pGammaTableArrayB);
//extern void CAdjustSharpness(void);
extern void CAdjustPeakingFilter(SBYTE ucPeaking);//eric 20070523
extern void CAdjustBrightness(void);
extern void CAdjustContrast(void);
extern void CAdjustYpbprhue(BYTE uchue);
extern void CAdjustYpbprSaturation(BYTE ucYPbPrSaturation);
#if(_AdjustCustomerColorMode==_ENABLE)
extern void CAdjustCustomerColorMode(void);
#endif
extern void CVideoSetSaturation(BYTE ucValue);
extern void CVideoSetContrast(BYTE ucValue);
extern void CAdjustSetHueUVDelta(BYTE color, BYTE select);
extern void CAdjustPeakingCoding(void);
extern void CAdjustBacklight(void);
extern void CAdjustHueSatSet(BYTE color, SWORD TempU1, SWORD TempU2, SWORD TempV1, SWORD TempV2);
extern void CAdjustGammaTable(BYTE index);

#if(sRGB_Color_Enhance == _ENABLE)
extern void CAdjustSaturationHue(BYTE  ucValue, BOOL bSaturationIndex);
#endif

#if 0//(_SCAN_TYPE==_SEQUENTIAL_SCAN)
extern void CVideoFrameSync(void);
#endif

#endif


void CAdjustMZHueSat(BYTE color);
int CAdjustColorGammaCal(BYTE color, BYTE n);


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?