📄 msapi_cc_parser.h
字号:
#define Clr_SystemProgPaintWinFlag() (pstCC608_Cntl->u16SysSettingFlag &=~bSystemProgPaintWinBit )
#define Set_SystemProgRUWinFlag() (pstCC608_Cntl->u16SysSettingFlag |= bSystemProgRUWinBit )
#define Clr_SystemProgRUWinFlag() (pstCC608_Cntl->u16SysSettingFlag &=~bSystemProgRUWinBit )
#define Set_SystemProgPopWinFlag() (pstCC608_Cntl->u16SysSettingFlag |= bSystemProgPopWinBit )
#define Clr_SystemProgPopWinFlag() (pstCC608_Cntl->u16SysSettingFlag &=~bSystemProgPopWinBit )
#define Set_SystemProgTextWinFlag() (pstCC608_Cntl->u16SysSettingFlag |= bSystemProgTextWinBit )
#define Clr_SystemProgTextWinFlag() (pstCC608_Cntl->u16SysSettingFlag &=~bSystemProgTextWinBit )
#define Set_SystemProgRUWinChgFlag() (pstCC608_Cntl->u16SysSettingFlag |= bSystemProgRUWinChgBit )
#define Clr_SystemProgRUWinChgFlag() (pstCC608_Cntl->u16SysSettingFlag &=~bSystemProgRUWinChgBit )
#define Set_SystemProgMRCColorFlag() (pstCC608_Cntl->u16SysSettingFlag |= bSystemProgMRCColorBit )
#define Clr_SystemProgMRCColorFlag() (pstCC608_Cntl->u16SysSettingFlag &=~bSystemProgMRCColorBit )
/*************************************************************************************************/
/* Macro for the whole window */
#define WinRollUpFlag (cc608DispBuff->WinMode == MODE_CC608_ROLLUP)
#define WinPopOnFlag (cc608DispBuff->WinMode == MODE_CC608_POPON)
#define WinPaintOnFlag (cc608DispBuff->WinMode == MODE_CC608_PAINTON)
#define WinTextFlag (cc608DispBuff->WinMode == MODE_CC608_TEXTON)
/*************************************************************************************************/
/* Macro for each two-byte */
#define bFGColor0Bit _BIT0
#define bFGColor1Bit _BIT1
#define bFGColor2Bit _BIT2
#define bBGColor0Bit _BIT3
#define bBGColor1Bit _BIT4
#define bBGColor2Bit _BIT5
#define bTabOffset0Bit _BIT6
#define bTabOffset1Bit _BIT7
#define bUnderLineBit _BIT8
#define bItalicsBit _BIT9
#define bBGTransparentBit _BIT10
#define bFlashOnBit _BIT11
#define bSemiTransparentBit _BIT12
#define TextFGColorIdx ((pstCC608_Cntl->u16TextAttrFlag & 0x07) >> 0 )
#define TextBGColorIdx ((pstCC608_Cntl->u16TextAttrFlag & 0x38) >> 3 )
#define TabOffsetIdx ((pstCC608_Cntl->u16TextAttrFlag & 0xC0) >> 6 )
#define UnderLineFlag ((pstCC608_Cntl->u16TextAttrFlag & bUnderLineBit) >> 8 )
#define ItalicsFlag ((pstCC608_Cntl->u16TextAttrFlag & bItalicsBit) >> 9 )
#define TransparentFlag ((pstCC608_Cntl->u16TextAttrFlag & bBGTransparentBit) >> 10 )
#define FlashOnFlag ((pstCC608_Cntl->u16TextAttrFlag & bFlashOnBit) >> 11 )
#define SemiTransparentFlag ((pstCC608_Cntl->u16TextAttrFlag & bSemiTransparentBit) >> 12 )
#define Set_UnderLineFlag() (pstCC608_Cntl->u16TextAttrFlag|= bUnderLineBit )
#define Clr_UnderLineFlag() (pstCC608_Cntl->u16TextAttrFlag&=~bUnderLineBit )
#define Set_ItalicsFlag() (pstCC608_Cntl->u16TextAttrFlag|= bItalicsBit )
#define Clr_ItalicsFlag() (pstCC608_Cntl->u16TextAttrFlag&=~bItalicsBit )
#define Set_BGTransparentFlag() (pstCC608_Cntl->u16TextAttrFlag|= bBGTransparentBit )
#define Clr_BGTransparentFlag() (pstCC608_Cntl->u16TextAttrFlag&=~bBGTransparentBit )
#define Set_FlashOnFlag() (pstCC608_Cntl->u16TextAttrFlag|= bFlashOnBit )
#define Clr_FlashOnFlag() (pstCC608_Cntl->u16TextAttrFlag&=~bFlashOnBit )
#define Set_SemiTransparentFlag() (pstCC608_Cntl->u16TextAttrFlag|= bSemiTransparentBit )
#define Clr_SemiTransparentFlag() (pstCC608_Cntl->u16TextAttrFlag&=~bSemiTransparentBit )
/*************************************************************************************************/
typedef enum
{
MODE_CC608_POPON = 0,
MODE_CC608_ROLLUP,
MODE_CC608_PAINTON,
MODE_CC608_TEXTON,
} EN_CC608_MODE;
typedef enum
{
PARSER_WHITE = 0,
PARSER_GREEN,
PARSER_BLUE,
PARSER_CYAN,
PARSER_RED,
PARSER_YELLOW,
PARSER_MAGENTA,
PARSER_BLACK,
} EN_PARSER_COLOR;
//Miscellaneous
typedef enum
{
RESUME_CAPTION_LOADING,
BACKSPACE,
RESERVED1,
RESERVED2,
DELETE2END, // Delete to end of row
ROLL_UP_2ROWS, // Roll up captions, 2 rows
ROLL_UP_3ROWS, // Roll up captions, 3 rows
ROLL_UP_4ROWS, // Roll up captions, 4 rows
FLASH_ON,
RESUME_DIRECT_CAPTION, // Resume direct captoning
TEXT_RESTART,
RESUME_TEXT_DISPLAY, // Resume text diplay
ERASE_DISPLAY_MEMORY, // Erase display memory
CARRIAGE_RETURN,
ERASE_NON_DISPLAY_MEM, // Erase non-display memory
END_OF_CAPTION // End of caption(flip memories)
} EN_MISCELLANEOUS_TYPE;
typedef enum
{
TAB_OFFSET_1 = 0x01, // tab offset (1 column)
TAB_OFFSET_2 = 0x02, // tab offset (2 column)
TAB_OFFSET_3 = 0x03, // tab offset (3 column)
} EN_TAB_OFFSET_TYPE;
typedef enum
{
FONTTYPE_STD_CHAR_1X = 0x04, // Standard character set (normal size)
FONTTYPE_STD_CHAR_2X = 0x05, // Standard character set (double size)
FONTTYPE_FIRST_PRIVATE = 0x06, // First private character set
FONTTYPE_SECOND_PRIVATE = 0x07, // Second private character set
FONTTYPE_PRC_CHAR = 0x08, // People's Republic of China character set(GB 2312)
FONTTYPE_KOREA_CHAR = 0x09, // Korean Standard character set(KSC 5601-1987)
FONTTYPE_FIRST_REG_CH = 0x0A, // First registered character set
} EN_OCGE_FONT_TYPE;
/******************************************************************************/
/**********************************************************************/
/* */
/* CC708 */
/* */
/**********************************************************************/
#define VALID 1
#define INVALID 0
#define NA 0xFF
#define ZERO 0
#define SIZE_OF_PACKET_BUFFER 128
#define SIZE_OF_SERVICE_BUFFER 256//128
#define MAX_CS_WINDOW_NO 8
#define MAX_DWA_WINDOW_NO 4
#define CODE_NULL 0x0000
#define CODE_ETX 0x0003
#define CODE_BS 0x0008
#define CODE_FF 0x000C
#define CODE_CR 0x000D
#define CODE_HCR 0x000E
#define CODE_SIGCMD_INVALID1 0x0001
#define CODE_SIGCMD_INVALID2 0x0002
#define CODE_SIGCMD_INVALID3 0x0004
#define CODE_SIGCMD_INVALID4 0x0005
#define CODE_SIGCMD_INVALID5 0x0006
#define CODE_SIGCMD_INVALID6 0x0007
#define CODE_SIGCMD_INVALID7 0x0009
#define CODE_SIGCMD_INVALID8 0x000A
#define CODE_SIGCMD_INVALID9 0x000B
#define CODE_SIGCMD_INVALIDA 0x000F
#define CODE_EXT1 0x0010
#define CODE_EXT1_INVALID1 0x0011
#define CODE_EXT1_INVALID2 0x0012
#define CODE_EXT1_INVALID3 0x0013
#define CODE_EXT1_INVALID4 0x0014
#define CODE_EXT1_INVALID5 0x0015
#define CODE_EXT1_INVALID6 0x0016
#define CODE_EXT1_INVALID7 0x0017
#define CODE_P16 0x0018
#define CODE_P16_INVALID1 0x0019
#define CODE_P16_INVALID2 0x001A
#define CODE_P16_INVALID3 0x001B
#define CODE_P16_INVALID4 0x001C
#define CODE_P16_INVALID5 0x001D
#define CODE_P16_INVALID6 0x001E
#define CODE_P16_INVALID7 0x001F
#define CODE_C0END 0x001F
#define CODE_CW0 0x0080
#define CODE_CW1 0x0081
#define CODE_CW2 0x0082
#define CODE_CW3 0x0083
#define CODE_CW4 0x0084
#define CODE_CW5 0x0085
#define CODE_CW6 0x0086
#define CODE_CW7 0x0087
#define CODE_CLW 0x0088
#define CODE_DSW 0x0089
#define CODE_HDW 0x008A
#define CODE_TGW 0x008B
#define CODE_DLW 0x008C
#define CODE_DLY 0x008D
#define CODE_DLC 0x008E
#define CODE_RST 0x008F
#define CODE_SPA 0x0090
#define CODE_SPC 0x0091
#define CODE_SPL 0x0092
#define CODE_NUCMD1 0x0093
#define CODE_NUCMD2 0x0094
#define CODE_NUCMD3 0x0095
#define CODE_NUCMD4 0x0096
#define CODE_SWA 0x0097
#define CODE_DF0 0x0098
#define CODE_DF1 0x0099
#define CODE_DF2 0x009A
#define CODE_DF3 0x009B
#define CODE_DF4 0x009C
#define CODE_DF5 0x009D
#define CODE_DF6 0x009E
#define CODE_DF7 0x009F
#define CODE_SPECIAL_708AREA1 0x0100
#define CODE_TSP 0x0120
#define CODE_NBTSP 0x0121
typedef enum
{
CURRENT_WID_0,
CURRENT_WID_1,
CURRENT_WID_2,
CURRENT_WID_3,
CURRENT_WID_4,
CURRENT_WID_5,
CURRENT_WID_6,
CURRENT_WID_7,
} EN_CC708_CURRENT_WID_STATE;
typedef enum
{
SPA_FONTSIZE_SMALL,
SPA_FONTSIZE_STANDARD,
SPA_FONTSIZE_LARGE,
} EN_CC708_SPA_PEN_SIZE;
typedef enum
{
SPA_FONTSTYLE_DEFAULT,
SPA_FONTSTYLE_MONOSPACED_WITH_SERIFS,
SPA_FONTSTYLE_PROPSPACED_WITH_SERIFS,
SPA_FONTSTYLE_MONOSPACED_WITHOUT_SERIFS,
SPA_FONTSTYLE_PROPSPACED_WITHOUT_SERIFS,
SPA_FONTSTYLE_CASUAL_FONT_TYPE,
SPA_FONTSTYLE_CURSIVE_FONT_TYPE,
SPA_FONTSTYLE_SMALL_CAPITALS,
} EN_CC708_SPA_FONT_STYLE;
typedef enum
{
SPA_DIALOG,
SPA_SOURCE,
SPA_ELEC_REPRODUCED_VOICE,
SPA_DIALOG_PRIMARY,
SPA_VOICEOVER,
SPA_AUDIBLE_TRANSLATION,
SPA_SUBTITLE_TRANSLATION,
SPA_VOICE_QUALITY,
SPA_SONY_LYRICS,
SPA_SOUND_EFFECT,
SPA_MUSICAL_SCORE,
SPA_EXPLETIVE,
SPA_UNDEFINED_1,
SPA_UNDEFINED_2,
SPA_UNDEFINED_3,
SPA_TEXT_NO_DISPLAYED,
} EN_CC708_SPA_TEXT_TAG;
typedef enum
{
SPA_SUBSCRIPT,
SPA_NORMAL,
SPA_SUPERSCRIPT,
} EN_CC708_SPA_OFFSET;
typedef enum
{
SPA_ITALICS_NO,
SPA_ITALICS_YES,
} EN_CC708_SPA_ITALICS;
typedef enum
{
SPA_UNDERLINE_NO,
SPA_UNDERLINE_YES,
} EN_CC708_SPA_UNDERLINE;
typedef enum
{
SPA_EDGE_NONE,
SPA_EDGE_RAISE,
SPA_EDGE_DEPRESSED,
SPA_EDGE_UNIFORM,
SPA_EDGE_LEFTDROPSHADOW,
SPA_EDGE_RIGHTDROPSHADOW,
} EN_CC708_SPA_EDGE_TYPE;
typedef enum
{
SPA_EDGECOLOR_BLACK,
SPA_EDGECOLOR_WHITE,
SPA_EDGECOLOR_RED,
SPA_EDGECOLOR_GREEN,
SPA_EDGECOLOR_BLUE,
SPA_EDGECOLOR_YELLOW,
SPA_EDGECOLOR_MAGENTA,
SPA_EDGECOLOR_CYAN,
} EN_CC708_SPA_EDGE_COLOR;
typedef enum
{
SPC_FG_COLOR_BLACK,
SPC_FG_COLOR_WHITE,
SPC_FG_COLOR_RED,
SPC_FG_COLOR_GREEN,
SPC_FG_COLOR_BLUE,
SPC_FG_COLOR_YELLOW,
SPC_FG_COLOR_MAGENTA,
SPC_FG_COLOR_CYAN,
} EN_CC708_SPC_FG_COLOR;
typedef enum
{
SPC_FG_OPACITY_SOLID,
SPC_FG_OPACITY_FLASH,
SPC_FG_OPACITY_TRANSLUCENT,
SPC_FG_OPACITY_TRANSPARENT,
} EN_CC708_SPC_FG_OPACITY;
typedef enum
{
SPC_BG_COLOR_BLACK,
SPC_BG_COLOR_WHITE,
SPC_BG_COLOR_RED,
SPC_BG_COLOR_GREEN,
SPC_BG_COLOR_BLUE,
SPC_BG_COLOR_YELLOW,
SPC_BG_COLOR_MAGENTA,
SPC_BG_COLOR_CYAN,
} EN_CC708_SPC_BG_COLOR;
typedef enum
{
SPC_BG_OPACITY_SOLID,
SPC_BG_OPACITY_FLASH,
SPC_BG_OPACITY_TRANSLUCENT,
SPC_BG_OPACITY_TRANSPARENT,
} EN_CC708_SPC_BG_OPACITY;
typedef enum
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -