drv_pq_external.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. #ifndef _DRV_PQ_EXTERNAL_H
  2. #define _DRV_PQ_EXTERNAL_H
  3. #include "drv_types.h"
  4. #include "drv_vip_external.h"
  5. #ifndef BOOL
  6. #define BOOL _Bool
  7. #endif
  8. #ifndef FALSE
  9. #define FALSE 0
  10. #endif
  11. #ifndef TRUE
  12. #define TRUE 1
  13. #endif
  14. //joshua remove me please.
  15. #define SOURCE_EXTS 0
  16. #define SOURCE_CVD2 1
  17. #define SOURCE_MPEG 2
  18. #define SOURCE_V656 4
  19. #define SOURCE_HDMI 5
  20. #define SOURCE_JPEG 6
  21. #define SOURCE_PATTERN 7
  22. #define SOURCE_NON 0xff
  23. #define RGB 0
  24. #define YCC 1
  25. #define YPP 2 //709
  26. #define YCC_601 1
  27. #define YCC_709 2
  28. #define YUV_422 3
  29. #define YUV_444 4
  30. #define YUV_FCC 5
  31. #define YUV_624 6
  32. #define YUV_170M 7
  33. #define YUV_240M 8
  34. #define YUV_444C10 9
  35. #define YUV_444C8 10
  36. #define YUV_422C10 11
  37. #define YUV_422C8 12
  38. #define YUV_422_888 13
  39. #define YUV_444_888 14
  40. #define BGR 15
  41. #define GAMMA_RGB_MAXINDEX 1024
  42. #define GAMMA_RGB_MAXINDEX_512 512
  43. typedef enum
  44. {
  45. ////////////////// KMF INTERFACE START //////////////////////////////////////
  46. PQ_BRIGHTNESS = 0,
  47. PQ_CONTRAST,
  48. PQ_SHARPNESS,
  49. PQ_SATURATION, //3 //3
  50. PQ_COLOR = PQ_SATURATION, // 3
  51. PQ_HUE, //4 //4
  52. PQ_TINT = PQ_HUE, //4//4
  53. PQ_FLESHTONE, //5
  54. PQ_CT_R_GAIN, // color temp //6
  55. PQ_CT_G_GAIN,
  56. PQ_CT_B_GAIN,
  57. PQ_CT_R_BIAS,
  58. PQ_CT_G_BIAS,
  59. PQ_CT_B_BIAS,
  60. PQ_EC_RED, // enhance color //12
  61. PQ_EC_GREEN,
  62. PQ_EC_BLUE,
  63. PQ_EC_YELLOW,
  64. PQ_EC_MAGENTA,
  65. PQ_EC_CYAN,
  66. PQ_NOISE_FILTER, //22
  67. PQ_DIGITAL_NR = PQ_NOISE_FILTER, //22
  68. PQ_GAMMA,
  69. PQ_DYNAMIC_CONTRAST,
  70. PQ_GAMMA_CORRECT, //yukuo 080105 for create gamma table
  71. PQ_SET_COLOR_PROCESSER,
  72. PQ_DYNAMIC_BACKLIGHT, //41
  73. PQ_DEMOMODE,
  74. PQ_GAMMATABLE,
  75. PQ_COLOR_SPACE_MODE,
  76. PQ_MPEG_NOISE_FILTER,
  77. PQ_CLEAR_WHITE,
  78. PQ_STATIC_GAMMA,
  79. PQ_DITHERING,
  80. PQ_DITHERING_LEVEL,
  81. PQ_DITHERING_ALGO,
  82. PQ_VIDEO_DETECT_MODE,
  83. //VIP_BRI_CON_ADJUST, //joshua
  84. PQ_LIGHT_SENSOR_BACKLIGHT,
  85. PQ_ADAPTIVE_MAX_BACKLIGHT = PQ_LIGHT_SENSOR_BACKLIGHT,
  86. #if 0//joshua : nobody use
  87. VIP_CR_FLESHTONE_HUE, //color region hue setup //73
  88. VIP_CR_RED_HUE,
  89. VIP_CR_GREEN_HUE,
  90. VIP_CR_BLUE_HUE,
  91. VIP_CR_YELLOW_HUE,
  92. VIP_CR_MAGENTA_HUE,
  93. VIP_CR_CYAN_HUE,
  94. VIP_EC_FLESHTONE,
  95. #endif //joshua end
  96. PQ_ADVANCE_SHARPNESS,
  97. PQ_DYNAMIC_BACKLIGHT_TYPE,
  98. PQ_DYNAMIC_BACKLIGHT_HISTMINRATE,
  99. PQ_DYNAMIC_BACKLIGHT_PWMMAX,
  100. PQ_FLESHTONE_COMPENSATION,
  101. PQ_CMDSET_SET_RGN_LUT_7AXIS,
  102. //Must add new vip kic interface for KFM before VIP_KMF_CMD_END
  103. PQ_DYNAMIC_CONTRAST_ENABLE,
  104. PQ_CONTRAST_LEVEL,
  105. PQ_CHROMA_LEVEL,
  106. PQ_ALPHA_MODE1,
  107. PQ_ALPHA_MODE2,
  108. PQ_ALPHA_MODE3,
  109. PQ_ALPHA_MODE4,
  110. PQ_DVDSoruce,
  111. PQ_PWMFREQ,
  112. PQ_COLORTEMPGAIN,
  113. PQ_NetworkSoruce,
  114. PQ_ADJUST_CURVE,
  115. PQ_COLOR_LUT_R_SAT_GAIN,
  116. PQ_COLOR_LUT_G_SAT_GAIN,
  117. PQ_COLOR_LUT_B_SAT_GAIN,
  118. PQ_COLOR_LUT_Y_SAT_GAIN,
  119. PQ_COLOR_LUT_M_SAT_GAIN,
  120. PQ_COLOR_LUT_C_SAT_GAIN,
  121. PQ_COLOR_LUT_FL_SAT_GAIN,
  122. PQ_CMD_END,
  123. ////////////////// KMF INTERFACE END //////////////////////////////////////
  124. }PQ_ADJCMD_t;
  125. //color space mode
  126. enum
  127. {
  128. PQ_COLOR_SPACE_NONE = 0,
  129. PQ_COLOR_SPACE_AUTO,
  130. PQ_COLOR_SPACE_NORMAL,
  131. PQ_COLOR_SPACE_WIDE,
  132. //PQ_COLOR_SPACE_PAL, //only for xxx, 50HZ system //no use
  133. //PQ_COLOR_SPACE_XVYCC, //only for xxx, XVYcc in hdmi source //no use
  134. //PQ_COLOR_SPACE_NTSC, //no use
  135. };
  136. enum
  137. {
  138. CURVE_SETTING_POINT_0,
  139. CURVE_SETTING_POINT_25,
  140. CURVE_SETTING_POINT_50,
  141. CURVE_SETTING_POINT_75,
  142. CURVE_SETTING_POINT_100,
  143. };
  144. typedef struct _PQ_TABLE_INDEX
  145. {
  146. unsigned int nOffset;
  147. unsigned int nSize; // nRegCount= nSize >> 3
  148. }PQ_TABLE_INDEX;
  149. typedef struct _PQ_TABLE_BOOK
  150. {
  151. unsigned char nId[6]; // 6 UINT8: "VTABv1"
  152. unsigned short nTotalTable;// 2 UINT8
  153. #if CHIP_ID_INDEX>=CHIP_ID_8506
  154. unsigned int nChipID;
  155. #endif
  156. unsigned int nChkFrom; // 4 UINT8: From the begin of TableIndex
  157. unsigned int nChkTo; // 4 UINT8: To the end of Table data
  158. unsigned int nChkSum; // 4 UINT8: UINT8-width addition
  159. PQ_TABLE_INDEX TableIndex[1]; // 8 UINT8 * nTotalTable
  160. } PQ_TABLE_BOOK;
  161. typedef struct _PQ_RegInfo
  162. {
  163. int NRRangeMax;
  164. int NRRangeMid;
  165. int NRRangeMin;
  166. int GammaRangeMax;
  167. int GammaRangeMid;
  168. int GammaRangeMin;
  169. int BacklightRangeMax;
  170. int BacklightRangeMid;
  171. int BacklightRangeMin;
  172. }PQ_RegInfo;
  173. typedef struct _RegionHVStartSize
  174. {
  175. UINT16 bHstart;
  176. UINT16 bVstart;
  177. UINT16 bHsize;
  178. UINT16 bVsize;
  179. } RegionHVStartSize;
  180. typedef struct _Electity_PWM_Mapping_Table
  181. {
  182. UINT16 PWM_Value;
  183. UINT16 Electity_Value;
  184. }Electity_PWM_Mapping_Table;
  185. typedef struct _svp_HDR_Regamma_t
  186. {
  187. unsigned int CSC2_gain;
  188. unsigned int RegammaAry[1025];
  189. }SVP_HDR_REGAMMA, *pSVP_HDR_REGAMMA;
  190. typedef struct _CSC_SETTING
  191. {
  192. INT32 CSC_Value[12];
  193. } CSC_SETTING;
  194. #endif