📄 s5h_types.h
字号:
PP_LUM_INTERVAL1,
PP_LUM_INTERVAL2,
PP_LUM_INTERVAL3,
PP_LUM_INTERVAL4,
PP_LUM_INTERVAL5,
PP_LUM_INTERVAL6,
PP_LUM_INTERVAL7,
PP_LUM_INTERVAL_ALL
} S5H_LumInterval_t;
typedef enum {
DISPLAY_SDOUT123_RGB, /* S-Video Y */
DISPLAY_SDOUT123_YPBPR /* Composite */
} S5H_Sdout123_t;
typedef enum {
DISPLAY_SDOUT4_CVBS, /* Composite */
DISPLAY_SDOUT4_Y /* S-Video Y */
} S5H_Sdout4_t;
typedef enum {
DISPLAY_SDOUT5_CVBS, /* Composite */
DISPLAY_SDOUT5_C /* S-Video C */
} S5H_Sdout5_t;
typedef enum{
DISPLAY_CC_OFF,
DISPLAY_CC_TOP,
DISPLAY_CC_BOTTOM,
DISPLAY_CC_BOTH
}S5H_Sdout_CC_t;
typedef enum{
/* Don't change the order and the value of the enum type */
DISPLAY_YPBPR = 0,
DISPLAY_RGB,
DISPLAY_YC,
DISPLAY_CVBS,
DISPLAY_DOUT,
DISPLAY_ALL
}S5H_Sdout_DacOutput_t;
typedef struct {
ULONG x_pos;
ULONG y_pos;
ULONG width;
ULONG height;
} S5H_Rect_t;
typedef struct {
ULONG width;
ULONG height;
} S5H_Size_t;
typedef struct {
ULONG x_pos;
ULONG y_pos;
} S5H_Position_t;
typedef enum {
ZOOM_NONE = 0,
ZOOM_DIV_4,
ZOOM_DIV_3,
ZOOM_DIV_2,
ZOOM_2X,
ZOOM_4X,
ZOOM_8X,
ZOOM_16X
} S5H_ZoomFactor_t;
typedef struct {
S5H_Rect_t source;
S5H_Rect_t display;
S5H_ZoomFactor_t factor;
} S5H_ZoomMode_t;
typedef struct {
S5H_Size_t pic;
S5H_Rect_t src;
S5H_Rect_t dest;
} S5H_ScaleMode_t;
typedef enum {
DECIMATE_NONE = 0,
DECIMATE_8,
DECIMATE_4,
DECIMATE_3,
DECIMATE_2
} S5H_DecimateFactor_t;
typedef struct {
SSHORT x;
SSHORT y;
S5H_DecimateFactor_t dec;
} S5H_DigestMode_t;
typedef enum {
TRANSCODE_OFF = 0, /* No transcoding */
TRANSCODE_NTSC_PAL, /* From NTSC to PAL */
TRANSCODE_PAL_NTSC, /* From PAL to NTSC */
TRANSCODE_PAL_480P /* From PAL to 480P */
} S5H_TransMode_t;
typedef struct {
UINT entry[16];
} S5H_SPPalette_t;
typedef enum {
DISPLAY_YPBPR_770_1 = 0, /* EIA770.1 levels (714/286mV) */
DISPLAY_YPBPR_770_2, /* EIA770.2 levels (700/300mV) (NTSC) */
DISPLAY_SCART, /* SCART-RGB with no sync on green.(PAL) */
DISPLAY_RGB_SYNC_GREEN /* RGB with sync on green */
} S5H_CompOut_t;
typedef enum {
AR_16_9,
AR_4_3
} S5H_AspectRatio_t;
typedef enum {
VIDEO_FILTER_NONE = 0,
VIDEO_FILTER_HIGH,
VIDEO_FILTER_MED,
VIDEO_FILTER_LOW
} S5H_VideoFilter_t;
typedef enum {
MARKER_NONE = 0,
MARKER_PTS,
MARKER_STC,
MARKER_ASV_CHANGE_STC,
MARKER_CURRENT_STC,
MARKER_CDDA_CONSUMED_SECTOR,
MARKER_CDDA_CURRENT_SECTOR
} S5H_Marker_t;
typedef enum {
MARKER_ACTION_CONTINUE = 0,
MARKER_ACTION_STOP
} S5H_MarkerAction_t;
/*********************************************
* Mixer *
*********************************************/
typedef enum {
GRAPHIC_ON_VIDEO = 0,
VIDEO_ON_GRAPHIC
} S5H_DisplayOrder_t;
/*********************************************
* Audio
*********************************************/
/* Audio Application APIs */
/* Spatializer options */
typedef enum {
SPATIALIZER_N22_SPEAKER,
SPATIALIZER_N22_TV,
SPATIALIZER_N22_NHP, /* Natural headphone */
SPATIALIZER_VBX,
SPATIALIZER_VIRTUAL_LFE
} S5H_Spatializer_t;
/* SPDIF output mode */
typedef enum {
SPDIF_OUT_NULL,
SPDIF_OUT_PCM,
SPDIF_OUT_STREAM
} S5H_SpdifMode_t;
/* MPEG output channel mode */
typedef enum {
CHANNEL_OUT_NORMAL,
CHANNEL_OUT_R,
CHANNEL_OUT_L
} S5H_AdmChnCont_t;
typedef enum {
EQ_NONE,
EQ_ROCK,
EQ_CLASSIC,
EQ_JAZZ,
EQ_POP
} S5H_Equalizer_t;
typedef enum {
OPMODE_LINEOUT,
OPMODE_RF
} S5H_OpMode_t;
typedef enum {
DUALMODE_STEREO,
DUALMODE_LEFT_MONO,
DUALMODE_RIGHT_MONO,
DUALMODE_MIXED_MONO
} S5H_DualMode_t;
typedef enum {
SPDIFPCM_FRONT,
SPDIFPCM_SURROUND,
SPDIFPCM_CENTER_WOOFER
} S5H_SpdifPcmChannel_t;
typedef enum {
AUDIO_OUT_LT_RT,
AUDIO_OUT_STEREO,
AUDIO_OUT_VIRTUAL_3D,
AUDIO_OUT_5_1_CHANNEL
} S5H_Output_Channel_t;
typedef enum {
DRC_OFF,
DRC_1_4,
DRC_1_2,
DRC_3_4,
DRC_FULL
} S5H_DrcMode_t;
typedef enum {
SPEAK_NONE=0,
SPEAK_SMALL=1,
SPEAK_LARGE=2
} S5H_BassManagement_t;
typedef enum {
CENTER_DELAY_0,
CENTER_DELAY_1,
CENTER_DELAY_2,
CENTER_DELAY_3,
CENTER_DELAY_4,
CENTER_DELAY_5
} S5H_CenterDelay_t;
typedef enum {
SURROUND_DELAY_0,
SURROUND_DELAY_5,
SURROUND_DELAY_10,
SURROUND_DELAY_15
} S5H_SurroundDelay_t;
typedef struct {
S5H_BassManagement_t frontsize;
S5H_BassManagement_t centersize;
S5H_BassManagement_t rearsize;
S5H_BassManagement_t woofersize;
S5H_CenterDelay_t centerdelay;
S5H_SurroundDelay_t reardelay;
} S5H_SpeakerSetup_t;
typedef enum {
CHANNEL_LFE = (1<<2),
CHANNEL_REAR_R = (1<<3),
CHANNEL_FRONT_R = (1<<4),
CHANNEL_CENTER = (1<<5),
CHANNEL_REAR_L = (1<<6),
CHANNEL_FRONT_L = (1<<7)
} S5H_Channel_t;
/* Navigator Interface APIs */
/* Define Audio coding mode
* VMGM_AST_ATR, VTSM_AST_ATR, VTS_AST_ATR and AMGM_AST_ATR
*/
typedef enum {
AUDIO_DVDV_AC3,
AUDIO_DVDV_MPEG1,
AUDIO_DVDV_MPEG2,
AUDIO_DVDV_MPEG2ext,
AUDIO_DVDV_LPCM,
AUDIO_DVDV_DTS,
AUDIO_DVDV_SDDS,
AUDIO_VCD_MPEG1,
AUDIO_SVCD_MPEG1,
AUDIO_SVCD_MPEG2,
AUDIO_SVCD_MPEG2ext,
AUDIO_CDDA_LPCM,
AUDIO_FILE_MP3,
AUDIO_FILE_WMA,
AUDIO_CALIBRATION_NOISE
} S5H_AudioCodingMode_t;
/* Define Quantization for PCM audio
* VMGM_AST_ATR, VTSM_AST_ATR, VTS_AST_ATR and AMGM_AST_ATR
*/
typedef enum {
QUANT_16_BITS,
QUANT_20_BITS,
QUANT_24_BITS
} S5H_Quantization_t;
/* Define Sampling frequency type
* VMGM_AST_ATR, VTSM_AST_ATR, VTS_AST_ATR and AMGM_AST_ATR
*/
typedef enum {
FS_48_KHZ,
FS_96_KHZ,
FS_192_KHZ,
FS_44_1_KHZ,
FS_88_2_KHZ,
FS_176_4_KHZ
} S5H_SampleRate_t;
/* Define Audio application mode
* VTS_AST_ATR
*/
typedef enum {
APPLICATION_NOT_SPECIFIED,
APPLICATION_KARAOKE_MODE,
APPLICATION_SURROUND_MODE
} S5H_ApplicationMode_t;
/* Define Channel assignment for Karaoke and surround */
typedef enum {
CA_KARAOKE_MODE_AC3, /* Annex C Table C.1-1 */
CA_KARAOKE_MODE_MPEG, /* Annex C Table C.2-1 */
CA_KARAOKE_MODE_LPCM, /* Annex C Table C.3-1 */
CA_KARAOKE_MODE_DTS, /* not used */
CA_KARAOKE_MODE_SDDS, /* Annex I Table I.3-1 */
CA_SURROUND_MODE_AC3, /* not used */
CA_SURROUND_MODE_MPEG, /* not used */
CA_SURROUND_MODE_LPCM, /* Annex C Table C.4-1 */
CA_SURROUND_MODE_DTS, /* not used */
CA_SURROUND_MODE_SDDS /* not used */
} S5H_ChannelAssignMode_t;
/* Define Audio channel ID for PCM audio */
typedef enum {
ACH0,
ACH1,
ACH2,
ACH3,
ACH4,
ACH5,
ACH6,
ACH7
} S5H_AudioChannelID_t;
/*
* Define Audio mixed flag of ACH0 and ACH1 for PCM audio
* Audio mixed flag:
* Audio application mode - Surround mode
* Audio coding mode - Linear PCM
* Channel assignment mode - Multichannel type 1
*/
typedef enum {
ACH0_ACH1_NOT_DEFINED,
ACH0_ACH1_NOT_DOWNMIXED,
ACH0_ACH1_DOWNMIXED_ORG_EXIST,
ACH0_ACH1_DOWNMIXED_ORG_NONE
} S5H_AudioMixedFlag_t;
/* Define Audio mixing phase of ACH0 and ACH1 for PCM audio */
typedef enum {
ACH0_ACH1_IN_PHASE,
ACH0_IN_PHASE_ACH1_OUT_PHASE,
ACH0_OUT_PHASE_ACH1_IN_PHASE,
ACH0_ACH1_OUT_PHASE
} S5H_AudioMixingPhase_t;
/* Define Audio channel ACH0 and ACH1 mix mode for PCM audio */
typedef enum {
MIXMD_ACH_NOT_MIXED,
MIXMD_ACH0_ONLY,
MIXMD_ACH1_ONLY,
MIXMD_ACH0_ACH1
} S5H_AchMixMode_t;
/* Define Stereo playback permittion in surround mode */
typedef enum {
STEREO_PLAYBACK_PERMITTED,
STEREO_PLAYBACK_PROHIBITED
} S5H_StereoPlayback_t;
/* System Parameters SPRM[11]: P_AMXMD */
typedef enum {
ACH4_MIXING_ACH0 =0x1000,
ACH3_MIXING_ACH0 =0x0800,
ACH2_MIXING_ACH0 =0x0400,
ACH4_MIXING_ACH1 =0x0010,
ACH3_MIXING_ACH1 =0x0008,
ACH2_MIXING_ACH1 =0x0004
} S5H_AudioMixingMode_t;
/* System Parameters SPRM[15]: P_CFG */
typedef enum {
/* DVD-Video and DVD-Audio */
CAPABLE_AC3 =0x4000,
CAPABLE_MPA =0x1000,
CAPABLE_DTS =0x0800,
CAPABLE_SDDS =0x0400,
/* DVD-Audio only */
CAPABLE_KARAOKE_LPCM =0x0080,
CAPABLE_KARAOKE_AC3 =0x0040,
CAPABLE_KARAOKE_MPEG =0x0010,
CAPABLE_KARAOKE_DTS =0x0000, /* DTS has not "Karaoke mode" */
CAPABLE_KARAOKE_SDDS =0x0004
} S5H_AudioPlayerCapability_t;
/* Audio Component APIs for audio manager */
typedef enum {
BASS_CUTOFF_80HZ,
BASS_CUTOFF_100HZ,
BASS_CUTOFF_120HZ,
BASS_CUTOFF_150HZ
} S5H_BassCutOffFs_t;
typedef struct{
/* Header information in a sequence layer */
UINT hor_size; /* source horizontal size */
UINT vert_size; /* source vertical size */
UINT seq_ext;
UCHAR mpeg_mode;
}S5H_SeqInfo_t;
typedef struct
{
S5H_PlaySpeed_t play_speed;
S5H_PlayDirection_t play_direction;
S5H_FrameMode_t play_frame;
SINT slow_speed;
S5H_ScanType_t play_scan;
} S5H_PlayParameter_t;
/* subpicture decoder */
typedef enum {
SUBPIC_OFF = 0,
SUBPIC_ON = 1,
SUBPIC_FORCED_OFF = 2
} S5H_SpdOnOff_t;
/* for graphix */
typedef struct {
BOOL cursor_en;
S5H_Position_t cursor_pos;
S5H_Size_t cursor_size;
UINT base_address;
USHORT *clut;
} S5H_GfxCursor_t;
#define SYS_TIME_CHK_PRE S5H_HCLK/2000000
typedef enum {
CHKTIMER1=0,
CHKTIMER2,
CHKTIMER3,
CHKTIMER4,
MAX_CHKTIMER
}S5H_ChkTimerSel_t;
typedef struct ChkTimer_t{
UINT usec[MAX_CHKTIMER];
UINT busy[MAX_CHKTIMER];
UINT init;
}S5H_ChkTimer_t;
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -