📄 disp_api.h
字号:
#ifndef _DISP_API_H_
#define _DISP_API_H_
#define PTM_V_SYNC_60 1500 /* 90000/60 */
#define PTM_V_SYNC_5994 1501 /* 90000/(60*1000/1001) */
#define PTM_V_SYNC_50 1800 /* 90000/50 */
/* AV sync threshold offset
If it gets larger, video will be displayed earlier than audio */
#if _USE_DYNAMIC_AV_SYNC
#define DEFAULT_DISP_AV_SYNC_OFFSET (9000+1800)
/*
changed default value to 10800 because of the AD_Underrun at start
--hspark 050829
*/
#define DEFAULT_DISP_AV_SYNC_STEP 900
#define MAX_DISP_AV_SYNC_OFFSET 19000
#define MIN_DISP_AV_SYNC_OFFSET 1000
extern SINT gDisp_AVSyncOffset;
#define DISP_AV_SYNC_OFFSET gDisp_AVSyncOffset
#else
#define DISP_AV_SYNC_OFFSET 9000
#endif
typedef enum {
PLAY_PREINIT,
PLAY_PRESTOP,
PLAY_STOP,
PLAY_PREPARE,
PLAY_FIRST, /* First video available, wait for field ID matching */
PLAY_NORMAL,
PLAY_END /* After last video is ordered, before stop is called */
} DISP_PlayState_et;
#if _USE_DYNAMIC_AV_SYNC
BOOL iDISP_extAudioBufferUnderrun(VOID);
BOOL iDISP_extVideoBufferUnderrun(VOID);
VOID iDISP_extResetAVSyncOffset(VOID);
#endif
VOID iDISP_PreInit(VOID);
VOID iDISP_DeInit(VOID);
VOID iDISP_Play(VOID);
VOID iDISP_PlayMem(VOID);
VOID iDISP_Stop(VOID);
VOID iDISP_SetStartPts(GenPtm_st *pStart_pts);
VOID iDISP_SetCurrentPtm(GenPtm_st *pPtm);
BOOL iDISP_GetCurrentPtm(GenPtm_st *pPtm);
VOID iDISP_SetRefVideoPtm(GenPtm_st *pPtm);
BOOL iDISP_GetRefVideoPtm(GenPtm_st *pPtm);
BOOL iDISP_extAudioBufferUnderrun(VOID);
DISP_PlayState_et iDISP_GetPlayState(VOID);
BM_NODE * iDISP_GetCurVideoFrame(VOID);
VOID iDISP_FreeCurVideoFrame(VOID);
VOID iDISP_RequestBpicRelease(VOID);
S5H_VideoInputStreamFormat_t iDISP_GetInputStreamFormat(VOID);
VOID iDISP_StartTrickPlay(VOID);
SSHORT iDISP_GetPsOffsetFromStream(VOID);
BOOL iDISP_IsProgFrame(VOID);
UINT iDISP_GetCurrentVideoLba(void);
VOID iDISP_SetCurrentVideoLba(UINT offset); /*Jiangshanbin 060104*/
VOID iDISP_SetAudioReady(VOID);
FieldRateConv_t iDISP_GetFieldRateConvInfo(VOID);
VOID iDISP_ClearLogoDisplayed(VOID);
BOOL iDISP_IsLogoDisplayed(VOID);
VOID iDISP_SetFirstVideo(UINT first_video_display_index, VideoFrameInfo_st *pVideo_info);
VOID iDISP_SetLastVideo(VOID);
VOID iDISP_SetCurVideo(UINT display_index, VideoFrameInfo_st *pVideo_info);
VOID iDISP_GetCurVideo(UINT *pDisplay_index, VideoFrameInfo_st **pVideo_info);
VOID iDISP_SetCurVideoStill(VOID);
BOOL iDISP_GetCurVideoStill(VOID);
BOOL iDISP_GetNeedNextPic(VOID);
VOID iDISP_SetVpShadowConfig(VOID);
VOID iDISP_SwitchToRefPicForStop(VOID);
BOOL iDISP_IsPreStopState(VOID);
#if _USE_B2R_ZOOM_CHANGE
VOID iDISP_SetDecodeRangeChanged(VOID);
#endif
VOID iDISP_DecNextVideo(VOID);
BOOL iDISP_GetDecAlreadyIssued(VOID);
BOOL iDISP_IsVsyncHandleDuration(VOID);
#if !(_USE_VD_VP_HANDSHAKE)
VOID iDISP_SetRefPicHandshake(VOID);
#endif
VOID iDISP_Order(BOOL is_v_sync_shadow);
VOID iDISP_SwitchToRefPicInAdvance(BOOL is_v_sync_shadow);
#if _USE_FSMC
VOID iDISP_EnableFsmc(BOOL enable, UINT src_vert_size);
VOID iDISP_SetRewinded(BOOL rewinded);
#endif
VOID iDISP_StartAudioStreamChange(VOID);
BOOL iDISP_AudioChangeAllowed(VOID);
VOID iDISP_SetAudioOnlyStream(VOID);
#if _USE_HANDLE_B2R_LAST_MB_ERROR
VOID iDISP_SetRestartRewind(VOID);
#endif
VOID iDISP_ResetPtmIncrease(VOID);
#if (_USE_REAL_INTERLACE) && !(_USE_FSMC)
void iDISP_SwitchVpModeInZoom(UINT src_vert_size);
#endif
#if _USE_REAL_INTERLACE
BOOL iDISP_NeedSwitchToBob(UINT src_vert_size);
#endif
#if _USE_FIX_SVCD_ZOOM_BUG
BOOL iDISP_IsZoomChangeProhibited(VOID);
#endif
#if _USE_QUICK_HANDLE_CMD_RDY
/* (20051226,ishan) */
void iDISP_QuickOrderDec(UINT pic_struc, BOOL top_field_first, BOOL prog_frame, UINT vert_size);
VOID iDISP_PostSetVpShadowConfig(VOID);
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -