⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msapi_cc_parser.h

📁 mstar 776 开发的车载dvd
💻 H
📖 第 1 页 / 共 3 页
字号:
#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 + -