/****************************************************************************** *_Copyright (c) 2009 Digital Stream Technology Inc. All Rights Reserved. * * Module: dsthalpic.h * * Description * Picture Tuning or Quality APIs * * @author * @version $Revision: 1.1 $ * ******************************************************************************/ #ifndef __DSTHAL_PIC_H__ #define __DSTHAL_PIC_H__ /****************************************************************************** * MEMC Mode ******************************************************************************/ typedef enum { DHL_PIC_MEMC_OFF = 0, DHL_PIC_MEMC_WEAK, DHL_PIC_MEMC_MIDIUM, DHL_PIC_MEMC_STRONG } DHL_PIC_MEMC_MODE; /****************************************************************************** * DHL Rectangle Definition ******************************************************************************/ typedef struct tag_DHL_RECT { DS_U16 Top; DS_U16 Left; DS_U16 Height; DS_U16 Width; } DHL_RECT, *P_DHL_RECT; /****************************************************************************** * DHL RGB Component Definition ******************************************************************************/ typedef struct tag_DHL_RGB_TRIPLET { DS_U8 RComponent; DS_U8 GComponent; DS_U8 BComponent; } DHL_RGB_TRIPLET, *P_DHL_RGB_TRIPLET; typedef struct tag_PIC_PARAM { DS_U32 Brightness; DS_U32 Contrast; DS_U32 Saturation; int Hue; DS_U32 vSharpness, hSharpness; } PIC_PARAM_t, *P_PIC_PARAM_t; typedef struct tag_PIC_EXT_PARAM { int ColorTemp; int NR; int ColorSystem; int BlackExtension; int WhiteExtension; int BlueStretch; int APL, DCI, ACR, ColorMgmt, MpegNR; int FleshTone; int Red, Blue, Green; int RCont, GCont, BCont; // RGB Contrast int BlackExtVal, WhiteExtVal; // MPPROC 1E int BlackLevel; // MPPROC 28 int SubContrast; // MPPROC 25 int MEMC; DS_U16 RedGamma, BlueGamma, GreenGamma; DS_BOOL Movie; } PIC_EXT_PARAM_t; typedef struct tag_PIC_CONFIG_t { PIC_PARAM_t Param; PIC_EXT_PARAM_t ExtParam; DS_BOOL SharpnessOn; DS_BOOL BrightnessOn; DS_BOOL HueSaturationOn; DS_BOOL ColorManagementOn; } PIC_CONFIG_t, *P_PIC_CONFIG_t; #if defined __cplusplus extern "C" { #endif DHL_RESULT DHL_PIC_PresetParams(P_PIC_CONFIG_t pPicConfig); DHL_RESULT DHL_PIC_PresetDefaultParams(void); DHL_RESULT DHL_PIC_PresetParamsPIP(P_PIC_CONFIG_t pPicConfig); DHL_RESULT DHL_PIC_PresetDefaultParamsPIP(void); void DHL_PIC_UpdateNextParam(void); void DHL_PIC_UpdateNextParamPIP(void); // // Picture Parameter Functions // DHL_RESULT DHL_PIC_EnableSharpness(DS_BOOL ON); DHL_RESULT DHL_PIC_EnableHueSaturation(DS_BOOL ON); DHL_RESULT DHL_PIC_EnableBrightness(DS_BOOL ON); DHL_RESULT DHL_PIC_SetSharpness(DS_U32 uHorzSharpness, DS_U32 uVertSharpness); DHL_RESULT DHL_PIC_GetSharpness(DS_U32 *puHorzSharpness, DS_U32 *puVertSharpness); DHL_RESULT DHL_PIC_SetContrast(DS_U32 uContrast); DHL_RESULT DHL_PIC_GetContrast(DS_U32 *puContrast); DHL_RESULT DHL_PIC_SetBrightness(DS_U32 uBrightness); DHL_RESULT DHL_PIC_GetBrightness(DS_U32 *puBrightness); DHL_RESULT DHL_PIC_SetSaturation(DS_U32 uSaturation); DHL_RESULT DHL_PIC_GetSaturation(DS_U32 *puSaturation); DHL_RESULT DHL_PIC_SetHue(int uHue); DHL_RESULT DHL_PIC_GetHue(int *puHue); DHL_RESULT DHL_PIC_SetMEMCMode(DHL_PIC_MEMC_MODE mode); // // Extended Picture Parameter Functions // DHL_RESULT DHL_PIC_SetDCISpeed(int Speed); DHL_RESULT DHL_PIC_SetColorTemperature(int ColorTemp); DHL_RESULT DHL_PIC_SetNR(int NR); DHL_RESULT DHL_PIC_SetColorSystem(int ColorSystem); DHL_RESULT DHL_PIC_SetBlackExtension(int BlackExtension); DHL_RESULT DHL_PIC_SetWhiteExtension(int WhiteExtension); DHL_RESULT DHL_PIC_SetBlueStretch(int BlueStretch); DHL_RESULT DHL_PIC_SetAPL(int APL); DHL_RESULT DHL_PIC_SetDCI(int DCI); DHL_RESULT DHL_PIC_SetACR(int ACR); DHL_RESULT DHL_PIC_SetColorMgmt(int ColorMgmt); DHL_RESULT DHL_PIC_SetMpegNR(int MpegNR); DHL_RESULT DHL_PIC_SetFleshTone(int FleshTone); DHL_RESULT DHL_PIC_SetRGBOffset(int Red, int Green, int Blue); DHL_RESULT DHL_PIC_SetRGBContrast( DS_U16 R, DS_U16 G, DS_U16 B ); DHL_RESULT DHL_PIC_SetBlackWhiteStretch( DS_U8 B, DS_U8 W ); DHL_RESULT DHL_PIC_SetBlackLevel( DS_U8 BlackLevel ); DHL_RESULT DHL_PIC_SetSubContrast( DS_U8 SubContrast ); DHL_RESULT DHL_PIC_SetAutoMovieMode( DS_BOOL enable ); DHL_RESULT DHL_PIC_GetHistogram( DS_U8 *pHistogram); DHL_RESULT DHL_PIC_SetParams(int bFull); int DHL_PIC_GetColorTemperature(void); int DHL_PIC_GetNR(void); int DHL_PIC_GetColorSystem(void); int DHL_PIC_GetBlackExtension(void); int DHL_PIC_GetWhiteExtension(void); int DHL_PIC_GetBlueStretch(void); int DHL_PIC_GetAPL(void); int DHL_PIC_GetDCI(void); int DHL_PIC_GetACR(void); int DHL_PIC_GetColorMgmt(void); int DHL_PIC_GetFleshTone(void); void DHL_PIC_GetRedOffset(int *pRed, int *pGreen, int *pBlue); int DHL_PIC_GetMpegNR(void); DS_BOOL DHL_PIC_GetAutoMovieMode(void);; #if defined __cplusplus } #endif #endif /*__DSTHAL_PIC_H__*/