kb_dc_pub.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:6k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef KB_DC_PUB_H
  2. #define KB_DC_PUB_H
  3. /*****************************头文件**************************/
  4. //basic include file
  5. #include <string.h>
  6. #include <stdlib.h>
  7. #include <stdio.h>
  8. #include <math.h>
  9. #include <debug.h>
  10. //DC include file
  11. #include "kb_dc_var.h"
  12. #include "kb_dc_section.h"
  13. #include "kb_dc_fileproc.h"
  14. #include "kb_dc_dataparse.h"
  15. #include "kb_dc_filterdata.h"
  16. #include "kb_dc_sipsi.h"
  17. #include "kb_dc_pool.h"
  18. #include "kb_crc32.h"
  19. #include "kb_dc_servcfgdata.h"
  20. #include "kb_dc.h"
  21. //Other module include file
  22. #include "machblue_porting_core.h"
  23. #include "kb_machblue_client_task.h"
  24. #include "StbMoviesInfo.h"
  25. #include "kb_xmlParse.h"
  26. #include "xmlStbInfo.h"
  27. //OS include file
  28. #include"kb_dc_osp.h"
  29. /*****************************宏定义**************************/
  30. //平台 相关宏定义
  31. #define KBDcMemset mb_memset
  32. #define KBDcMalloc mb_malloc
  33. #define KBDcFree mb_free
  34. #define KBDcMemcpy mb_memcpy
  35. #define KBDcGetTable KB_DC_GetTable
  36. #define KBDcDelay KB_OSPTaskDelay
  37. //#define KB_DC_TEST_0
  38. #define KB_DC_TEST_1
  39. #define KB_DC_TEST_VERSION_UPDATE
  40. #define KB_DC_TEST_MENU_UPDATE
  41. #define KB_DC_PARESE_BUFFER_MODE   //缓冲模式
  42. #define KB_DC_SERVICECFG_IN_MAINFREQ_MODE   // 主配置文件在主频点发送方式
  43. //#define KB_DC_SERVICECFG_IN_WHOLENET_MODE   // 主配置文件在全网发送方式
  44. //debug level define
  45. #define DC_DEBUG_LEVEL 1
  46. #if DC_DEBUG_LEVEL==0
  47. #define DEBUG1 0
  48. #define DEBUG2 0
  49. #define DEBUG3 0
  50. #define DEBUG4 0
  51. #endif
  52. #if DC_DEBUG_LEVEL==1
  53. #define DEBUG1 1
  54. #define DEBUG2 0
  55. #define DEBUG3 0
  56. #define DEBUG4 0
  57. #endif
  58.  #if DC_DEBUG_LEVEL==2
  59. #define DEBUG1 1
  60. #define DEBUG2 1
  61. #define DEBUG3 0
  62. #define DEBUG4 0
  63. #endif 
  64. #if DC_DEBUG_LEVEL==3
  65. #define DEBUG1 1
  66. #define DEBUG2 1
  67. #define DEBUG3 1
  68. #define DEBUG4 0
  69. #endif
  70. #if DC_DEBUG_LEVEL==4
  71. #define DEBUG1 1
  72. #define DEBUG2 1
  73. #define DEBUG3 1
  74. #define DEBUG4 1
  75. #endif
  76. #if DEBUG1
  77. #define DCDebug1 mb_printf
  78. #else
  79. #define DCDebug1 NOPrintf
  80. #endif
  81. #if DEBUG2
  82. #define DCDebug2 mb_printf
  83. #else
  84. #define DCDebug2 NOPrintf
  85. #endif
  86. #if DEBUG3
  87. #define DCDebug3 mb_printf
  88. #else
  89. #define DCDebug3 NOPrintf
  90. #endif
  91. #if DEBUG4
  92. #define DCDebug4 mb_printf
  93. #else
  94. #define DCDebug4 NOPrintf
  95. #endif
  96. /* program number bit positions */
  97. #define PROGRAM_DONT_CARE                  ((U32)1<<31)
  98. #define PROGRAM_NUMBER_MASK                (PROGRAM_NUMBER_MSB_MASK | PROGRAM_NUMBER_LSB_MASK)
  99. #define PROGRAM_NUMBER_MSB_MASK            0x0000ff00
  100. #define PROGRAM_NUMBER_LSB_MASK            0x000000ff
  101. #define SET_PROGRAM_NUMBER(_x_,_pn_)       (_x_ = (_pn_ & PROGRAM_NUMBER_MASK))
  102. #define SET_PROGRAM_NUMBER_DONT_CARE(_x_)  (_x_ |= PROGRAM_DONT_CARE)
  103. /* dvb section header indices */
  104. #define TABLE_IDX      0
  105. #define PROGRAML_IDX   3
  106. #define PROGRAMH_IDX   4
  107. #define VERSION_IDX    5
  108. #define SECTION_IDX    6
  109. #define LASTSECT_IDX   7
  110. /*
  111. ** Table id defined by SI standard
  112. */
  113. #define PAT_TABLE_ID            0x00  /* Program Association Table */
  114. #define CAT_TABLE_ID            0x01  /* Conditional Access Table */
  115. #define PMT_TABLE_ID            0x02  /* Program Map Table */
  116. #define NIT_TABLE_ID            0x40  /* Network Info Table (actual transport) */
  117. #define NITO_TABLE_ID           0x41  /* Network Info Table (other transport) */
  118. #define SDT_TABLE_ID            0x42  /* Service Descriptor Table (actual transport) */
  119. #define SDTO_TABLE_ID           0x46  /* Service Descriptor Table (other transport) */
  120. #define BAT_TABLE_ID            0x4a  /* Bouquet Association Table */
  121. #define EIT_TABLE_ID            0x4e  /* Event Information Table (actual transport) */
  122. #define EITO_TABLE_ID           0x4f  /* Event Information Table (other transport) */
  123. #define TDT_TABLE_ID            0x70  /* Time Date Table */
  124. #define RST_TABLE_ID            0x71  /* Running Status Table */
  125. #define ST_TABLE_ID             0x72  /* Stuffing Table */
  126. #define TOT_TABLE_ID            0x73  /* Time Offset Table */
  127. #define DIT_TABLE_ID            0x7E  /* Discontinuity Information Table */
  128. #define SIT_TABLE_ID            0x7F  /* Selection Information Table */
  129. #define INVALID_TABLE           0x100
  130. /*
  131. ** PID definitions
  132. */
  133. #define PAT_PID                 0x0000
  134. #define CAT_PID                 0x0001
  135. #define NIT_PID                 0x0010
  136. #define SDT_PID                 0x0011
  137. #define BAT_PID                 0x0011
  138. #define EIT_PID                 0x0012
  139. #define RST_PID                 0x0013
  140. #define TDT_PID                 0x0014
  141. #define TOT_PID                 0x0014
  142. #define DIT_PID                 0x001E
  143. #define SIT_PID                 0x001F
  144. /*****************************数据结构定义**************************/
  145. typedef void (*KB_DC_TIMER_FUNC_POINTER)(void*);
  146. typedef enum
  147. {
  148. DC_RET_OK,
  149. DC_RET_ERR
  150. }KB_DC_Ret;
  151. typedef struct
  152. {
  153. unsigned long Word1;
  154. unsigned long Word2;
  155. unsigned long Word3;
  156. unsigned long Word4;
  157. }KB_DC_MsgNode;
  158. typedef enum
  159. {
  160.     KB_DC_TIMER_REPEAT = 0,
  161.     KB_DC_TIMER_ONCE,
  162.     KB_DC_TIMER_MAX
  163. }KB_DC_TimerMode;
  164. typedef enum
  165. {
  166. KB_QPSK,
  167. KB_QAM_16,
  168. KB_QAM_32,
  169. KB_QAM_64,
  170. KB_QAM_128,
  171. KB_QAM_256,
  172. KB_QAM_AUTO
  173. }KBTunerMod;
  174. //频点描述结构
  175. typedef struct KB_TUNER_PARA_
  176. {
  177. unsigned long  frequency;    /* frequency in KHz */
  178. unsigned long  symbol;         /* symbol rate in ksymbols/s */
  179. KBTunerMod    modulate;     /* Modulation:QPSK,QAM_16,QAM_32,QAM_64,QAM_128,QAM_256,QAM_AUTO*/
  180. }KBTunerPara;
  181. extern mb_error_t  KB_DC_SetQam(unsigned long frequency, unsigned long symbol_rate, unsigned char  modulateMode);
  182. extern void KB_DC_GetMainFreqInfo(KBTunerPara *para);
  183. extern void kb_DC_GetCurTsInfo(KBTunerPara *para);
  184. extern void NOPrintf(char *format, ...);
  185. #endif