mid_ttx_intf.h 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. #ifndef __TT_MESSAGE_H__
  2. #define __TT_MESSAGE_H__
  3. #include <stdbool.h>
  4. #include "types.h"
  5. typedef enum _UMF2TT_MESSAGE_TYPE
  6. {
  7. TT_NONE,
  8. TT_NUMBER_KEYS,
  9. TT_LEFT_RIGHT_KEYS,
  10. TT_UP_DOWN_KEYS,
  11. TT_SUB_UP_DOWN_KEYS,
  12. TT_SELECT_LINK,
  13. TT_TOP,
  14. TT_REFRESH_TIME,
  15. TT_ROLLING,
  16. TT_VIEWER,
  17. TT_CLEAR_PAGE,
  18. TT_SUBTITLE,
  19. TT_RESET,
  20. TT_START_STOP,
  21. TT_MAIN_INDEX,
  22. TT_REVEAL,
  23. TT_HOLD,
  24. TT_SIZE,
  25. TT_LANGUAGES,
  26. TT_TTMODES,
  27. TT_SUBCODE,
  28. TT_SUBTITLE_PAGE,
  29. TT_LIST,
  30. TT_STORE,
  31. TT_QUERY_LIST,
  32. TT_DUMP_REGISTER,
  33. TT_SELECT_SUBPAGE,
  34. TT_ANDROID_MODE,
  35. TT_CANCEL,
  36. TT_SET_DIG_LANGUAGE,
  37. TT_QUERY_ATT_SUBTITLE,
  38. TT_QUERY_TIME,
  39. TT_FOND_MODE,
  40. //TT_TERMINATE = 99,
  41. TT_EXIT = 100,
  42. } UMF2TT_MESSAGE_TYPE;
  43. typedef enum _TT2UMF_MESSAGE_TYPE
  44. {
  45. TT_CONTROL_BIT = 0,
  46. // TT_NO_TELETEXT,
  47. TT_625_WSS_TYPE,
  48. TT_ACK_LISTMODE,
  49. // TT_ATT_TTSUBTITLE,
  50. TT_ACK_TIME,
  51. // TT_TERMINATE = 99,
  52. } TT2UMF_MESSAGE_TYPE;
  53. typedef struct TT_CNI_Data
  54. {
  55. unsigned short packet830_f1;
  56. unsigned short packet830_f2;
  57. unsigned short vps;
  58. }TT_CNI_Data;
  59. typedef struct _Window_Location
  60. {
  61. unsigned int ulHStart,ulHEnd;
  62. unsigned int ulVStart,ulVEnd;
  63. char FullScreen;
  64. }Window_Location,*PWindow_Location;
  65. typedef struct _TT_MESSAGE
  66. {
  67. int mtype;
  68. int command;
  69. void *pData;
  70. }TT_MESSAGE, *PTT_MESSAGE;
  71. #define TT_MESSAGE_SIZE (sizeof(TT_MESSAGE)-sizeof(long int))
  72. #define LANG_NONE 0
  73. #define LANG_ENGLISH 1
  74. #define LANG_POLISH 2
  75. #define LANG_SERBIAN_CROATIAN 3
  76. #define LANG_FRENCH 4
  77. #define LANG_RUSSIAN_BULGARIAN 5
  78. #define LANG_SWEDISH_FINNISH_HUNGARIAN 6
  79. #define LANG_ESTONISN 7
  80. #define LANG_CZECH_SLOVAK 8
  81. #define LANG_TURKISH 9
  82. #define LANG_GERMAN 10
  83. #define LANG_PORTUGUESE_SPANISH 11
  84. #define LANG_SERBIAN_CROATION_SLOVENIAN 12
  85. #define LANG_UKRAINIAN 13
  86. #define LANG_HEBREW 14
  87. #define LANG_ITALIAN 15
  88. #define LANG_LETTISH_LITHUANIAN 16
  89. #define LANG_RUMANIAN 17
  90. #define LANG_GREEK 18
  91. #define LANG_ARABIC 19
  92. #define LANG_OTHER 20
  93. #define CTRLBITN_MSG 0x00000100
  94. typedef enum _TT_CONTROL_BIT_0
  95. {
  96. TT_ENGLISH = 0,
  97. TT_POLISH,
  98. TT_SERBIAN_CROATIAN
  99. } TT_CONTROL_BIT_0;
  100. typedef enum _TT_CONTROL_BIT_1
  101. {
  102. TT_FRENCH = 0,
  103. TT_RUSSIAN_BULGARIAN
  104. } TT_CONTROL_BIT_1;
  105. typedef enum _TT_CONTROL_BIT_2
  106. {
  107. TT_SWEDISH_FINNISH_HUNGARIAN = 0,
  108. TT_ESTONISN
  109. } TT_CONTROL_BIT_2;
  110. typedef enum _TT_CONTROL_BIT_3
  111. {
  112. TT_CZECH_SLOVAK = 0,
  113. TT_TURKISH
  114. } TT_CONTROL_BIT_3;
  115. typedef enum _TT_CONTROL_BIT_4
  116. {
  117. TT_GERMAN
  118. } TT_CONTROL_BIT_4;
  119. typedef enum _TT_CONTROL_BIT_5
  120. {
  121. TT_PORTUGUESE_SPANISH = 0,
  122. TT_SERBIAN_CROATION_SLOVENIAN,
  123. TT_UKRAINIAN,
  124. TT_HEBREW
  125. } TT_CONTROL_BIT_5;
  126. typedef enum _TT_CONTROL_BIT_6
  127. {
  128. TT_ITALIAN= 0,
  129. TT_LETTISH_LITHUANIAN
  130. } TT_CONTROL_BIT_6;
  131. typedef enum _TT_CONTROL_BIT_7
  132. {
  133. TT_RUMANIAN = 0,
  134. TT_GREEK,
  135. TT_ARABIC
  136. } TT_CONTROL_BIT_7;
  137. typedef enum _TT_NATIONAL_CODE
  138. {
  139. N_NOTMATCH = 0,
  140. N_ARABIC,
  141. N_BASQUE,
  142. N_BULGARIAN,
  143. N_CATALAN,
  144. N_CROATION,
  145. N_CZECH,
  146. N_DANISH,
  147. N_DUTCH,
  148. N_ENGLISH,
  149. N_ESTONIAN,
  150. N_FARSI,
  151. N_FINNISH,
  152. N_FRENCH,
  153. N_GALICIAN,
  154. N_GERMAN,
  155. N_GREEK,
  156. N_HEBREW,
  157. N_HUNGARIAN,
  158. N_IRISH,
  159. N_ITALIAN,
  160. N_LATVIAN,
  161. N_LITHUANIAN,
  162. N_MACEDONIAN,
  163. N_NORWEGIAN,
  164. N_POLISH,
  165. N_PORTUGUESE,
  166. N_RUMANIAN,
  167. N_RUSSIAN,
  168. N_SERBIAN,
  169. N_SLOVAK,
  170. N_SLOVENIAN,
  171. N_SPANISH,
  172. N_SWEDISH,
  173. N_TURKISH,
  174. N_UKRAINIAN,
  175. N_WELSH
  176. } TT_NATIONAL_CODE;
  177. typedef enum _TT_G0_SET
  178. {
  179. G0_WEST_EUR = 0,
  180. G0_EAST_EUR,
  181. G0_CYRILLIC,
  182. G0_ARAB,
  183. G0_FARSIAN,
  184. G0_HEBREW,
  185. G0_GREEK,
  186. G0_TURKEY,
  187. G0_RUSSIA,
  188. G0_RUSSIA2,
  189. G0_BYELORUSSIAN,
  190. G0_THAI,
  191. G0_MAX_NUM // for program
  192. } TT_G0_SET;
  193. typedef enum _TT_625_WSS_TYPES
  194. {
  195. FULL_4_3,
  196. BOX_14_9_CENTRE,
  197. BOX_14_9_TOP,
  198. BOX_16_9_CENTRE,
  199. BOX_16_9_TOP,
  200. BOX_Large_16_9_CENTRE,
  201. SHOOT_PROTECT_14_9,
  202. W16_9_ANAMORPHIC
  203. } TT_625_WSS_TYPES;
  204. typedef enum _TT_MODES
  205. {
  206. TT_Normal,
  207. TT_Mix, //Video and Transparent BG Text
  208. TT_PAT_R, //Half Picture and Half Right Text
  209. TT_PAT_L, //Half Picture and Half Left Text
  210. TT_CANCEL_ON, //CANCEL_ON : just display page number
  211. TT_CANCEL_OFF, //CANCEL_OFF : display present page
  212. TT_INVALID_MODE
  213. } TT_MODES;
  214. typedef enum _TT_VIEWER_MODE
  215. {
  216. TT_Viewer_Off,
  217. TT_Viewer_On_Normal,
  218. TT_Viewer_On_ListMode
  219. } TT_VIEWER_MODE;
  220. typedef enum _TT_LIST_MODE
  221. {
  222. TT_List_Off,
  223. TT_List_On
  224. } TT_LIST_MODE;
  225. typedef struct
  226. {
  227. /* Command functions */
  228. int (*cmd)(TT_MESSAGE *pmsg);
  229. /* Quick functions only for query Variables */
  230. unsigned short (*GetWSSData)();
  231. void (*GetCNI)(TT_CNI_Data *);
  232. unsigned int (*GetPageCount)();
  233. /* Quick functions only for set Variables */
  234. void (*SetG0CharSet)(TT_G0_SET);
  235. void (*GetCurDispPageno)(int *magno, int *pgno, int *subno);
  236. } AL_TTX_Ctl_t;
  237. typedef void (*TT_Callback_f)(unsigned char state);
  238. typedef struct
  239. {
  240. void (*change_state)(unsigned char state);
  241. } AL_TTX_CallbackFun_t;
  242. typedef struct _AL_TTX_t
  243. {
  244. AL_TTX_Ctl_t al_ctl;
  245. AL_TTX_CallbackFun_t al_callback;
  246. } AL_TTX_t;
  247. extern AL_TTX_t gALTTXCTL;
  248. int MID_TTX_Uninit();
  249. void MID_TTX_RefreshPage(void);
  250. int MID_TTX_init(AL_TTX_Ctl_t *al_ctl, AL_TTX_CallbackFun_t *al_callback);
  251. UINT8 MID_TTX_GetInitState(void);
  252. /**
  253. * @brief the function will get teletext subtitle being exist or not.
  254. *
  255. * @param void.
  256. *
  257. * @return 1--- if teletext subtitle is exist , 0 ---otherwise.
  258. */
  259. int TTX_CA_GetSubtitleExist(void);
  260. /**
  261. * @brief the function will set top on/off status.
  262. *
  263. * the customer can support top mode or not, on = support, off = non support.
  264. *
  265. * @param status top status.
  266. *
  267. * @return void.
  268. */
  269. void SetTopOnStatus(Boolean status);
  270. /**
  271. * @brief the function will reset wss data.
  272. *
  273. * @param void.
  274. *
  275. * @return void.
  276. */
  277. void TTX_CA_ResetWssData(void);
  278. /******************************************************************************/
  279. /**
  280. * @fun Clear_CNI_Data
  281. *
  282. * @param void.
  283. *
  284. * @return void.
  285. *
  286. ******************************************************************************/
  287. void Clear_CNI_Data(void);
  288. /******************************************************************************/
  289. /**
  290. * @fun Set_CNI_Status
  291. *
  292. * @paramb void.
  293. *
  294. * @return void.
  295. *
  296. ******************************************************************************/
  297. void Set_CNI_Status(void);
  298. #endif