common.h
来自「1. 8623L平台」· C头文件 代码 · 共 617 行 · 第 1/2 页
H
617 行
/***************************************** Copyright 2001-2003 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//** @file common.h @brief @author Julien Soulier @date 2004-04-24*/#ifndef __COMMON_H__#define __COMMON_H__#define RM_UNKNOWN 0#define RM_PLAYING 1#define RM_PAUSED 2#define RM_STOPPED 3#define RM_PLAY 4#define RM_PAUSE 5#define RM_STOP 6#define RM_STOP_SEEK_ZERO 7#define RM_QUIT 8#define RM_PLAYING_TRICKMODE 9 // no audio#define RM_CHANNEL_CHANGE 10#define RM_PAT_INFO 11#define RM_PMT_CHANGE 12#define RM_AUDIO_STREAM_CHANGE 13#define RM_VIDEO_STREAM_CHANGE 14#define RM_SEEK 15#define RM_DUALMODE_CHANGE 16#define RM_ROTATE_PICTURE 17#define RM_MANU_QUIT_OK 18#define RM_NONE 19#define RM_SPEED 20#define RM_SLOW_FWD 21#define RM_FAST_FWD 22#define RM_IFWD 23#define RM_IRWD 24#define RM_NEXTPIC 25#define RM_DECODER_CHANGE 26#define RM_NERO_NEXT_CHAPTER 27#define RM_NERO_PREV_CHAPTER 28#define RM_NERO_SWITCH_SUBTITLE 29#define RM_REWIND 30#define RM_NO_TRICKMODE 0#define RM_TRICKMODE_FAST_FWD 1#define RM_TRICKMODE_FAST_RWD 2#define RM_TRICKMODE_SLOW_FWD 3#define RM_TRICKMODE_SLOW_RWD 4#define RM_TRICKMODE_NEXT_PIC 5#define RM_TRICKMODE_FWD_IFRAME 6#define RM_TRICKMODE_RWD_IFRAME 7#define SET_KEY_PLAYBACK (1<<0)#define SET_KEY_DISPLAY (1<<1)#define SET_KEY_AUDIO (1<<2)#define SET_KEY_SPI (1<<3)#define SET_KEY_DEBUG (1<<4)#define TIMEOUT_1MIN 60000000#define TIMEOUT_1SEC 1000000#define TIMEOUT_100MS 100000#define TIMEOUT_10MS 10000#define TIMEOUT_1MS 1000#define NO_TIMEOUT 0#define DISK_CONTROL_MAX_WAKEUP_COUNT 50 // in polling iterations of TIMEOUT_100MS#define EOS_BIT_FIELD_VIDEO (1<<0)#define EOS_BIT_FIELD_AUDIO (1<<1)#define EOS_BIT_FIELD_DEMUX (1<<2)#include "../dcc/include/dcc.h"#include "../rmscc/include/rmscc.h"#include "../rmrtk/include/rmrtk.h"#include "dvi_hdmi_update.h"#include "get_key.h"#include "rminputstream.h"#include "cmdline_options.h"#include "bitmaps.h"#include "rmpfs.h"/* * display_context is used by the sample apps when not used through mono * otherwise libsamples is not allowed to modify the display */struct display_context{ RMuint8 contrast; RMuint8 saturation; RMbool saturation_CbCr; RMuint8 saturation_blue; RMuint8 saturation_red; RMint8 brightness; RMint8 hue; RMuint32 osd_scaler[2]; RMbool osd_enable[2]; RMbool video_enable; struct EMhwlibDisplayWindow out_window; struct EMhwlibDisplayWindow osd_window[2]; struct EMhwlibDisplayWindow *active_window; struct EMhwlibNonLinearScalingMode nonlinearmode; struct EMhwlibBlackStripMode blackstrip; struct EMhwlibCutStripMode cutstrip;};struct cec_context { struct dcc_context *dcc_info; struct display_cmdline *disp_opt; RMbool CEC_Ack; RMbool RxError; RMbool TxError; RMbool TxFIFO; RMbool RxReady; struct CEC_Frame Frame; RMbool DevicePresent[16]; RMuint32 Initiator;};struct dh_context{ struct DH_control *pDH; struct DH_HDMI_state HDMIState; enum DH_device_state dvi_hdmi_state; // obsolete enum DH_connection dvi_hdmi_cable; // obsolete enum DH_vendor_parts dvi_hdmi_part; RMuint8 *pSRM; struct CEA861BDataBlockCollection *pDBC; RMuint32 nDBC; RMuint32 nDH; RMuint32 DH_sel; struct DH_control *pDH_array[5]; struct cec_context cec_context[5];};#define RM_PSM_ENABLE_PLAY 1#define RM_PSM_ENABLE_STOP (1<<1)#define RM_PSM_ENABLE_PAUSE (1<<2)#define RM_PSM_ENABLE_NEXTPIC (1<<3)#define RM_PSM_ENABLE_SPEED (1<<4)#define RM_PSM_ENABLE_FASTER (1<<5)#define RM_PSM_ENABLE_SLOWER (1<<6)#define RM_PSM_ENABLE_IFWD (1<<7)#define RM_PSM_ENABLE_IRWD (1<<8)#define RM_PSM_ENABLE_SEEK (1<<9)#define RM_PSM_ENABLE_SWITCHAUDIO (1<<10)#define RM_PSM_ENABLE_SWITCHVIDEO (1<<11)#define RM_PSM_ENABLE_SWITCHSUBTITLE (1<<12)#define RM_PSM_ENABLE_SWITCHSUBPICTURE (1<<13)#define RM_PSM_ENABLE_CHAPTERS (1<<14)#define RM_PSM_USE_MUTE_DURING_TRICKMODES (1<<15)#define RM_PSM_ENABLE_REWIND (1<<16)#define RM_PSM_STC_STOPPED 1#define RM_PSM_AUDIO_STOPPED (1<<1)#define RM_PSM_VIDEO_STOPPED (1<<2)#define RM_PSM_DEMUX_STOPPED (1<<3)#define RM_PSM_FIRST_PTS 1#define RM_PSM_RESYNC_TIMER (1<<1)#define RM_PSM_DEMUX_NORMAL (1<<2) // resume from iframe trickmode#define RM_PSM_DEMUX_IFRAME (1<<3) // init iframe trickmode#define RM_PSM_FLUSH_VIDEO (1<<4) #define RM_PSM_NORMAL_PLAY (1<<5) // resume from trickmodeenum RM_PSM_State { RM_PSM_Playing = 0, RM_PSM_Stopped, RM_PSM_Paused, RM_PSM_NextPic, RM_PSM_Slow, RM_PSM_Fast, RM_PSM_IForward, RM_PSM_IRewind, RM_PSM_Prebuffering, RM_PSM_IPaused, RM_PSM_INextPic, RM_PSM_Rewind};struct RM_PSM_Actions { RMuint32 performedActions; RMuint32 toDoActions; RMuint32 cmd; RMbool cmdProcessed; RMbool appSpecific; RMuint32 asyncCmd; RMbool asyncCmdPending;};struct RM_PSM_Context { RMint32 validPSMContexts; RMint32 currentActivePSMContext; RMuint32 selectedPSMContextMask; RMuint32 keyflags;};struct dcc_context { RMuint32 chip_num; struct DCC *pDCC; struct RUA *pRUA; struct DCCVideoSource *pVideoSource; struct DCCAudioSource *pAudioSource; struct DCCMultipleAudioSource *pMultipleAudioSource; struct DCCVideoSource *pOSDSource[2]; struct DCCSTCSource *pStcSource; enum DCCRoute route; RMuint32 SurfaceID; RMuint32 video_timer; RMuint32 audio_timer; RMuint32 video_decoder; RMuint32 audio_decoder; RMuint32 audio_engine; RMuint32 spu_decoder; RMuint32 state; RMuint32 trickmode_id; /* next member is used for DemuxTask module */ struct DCCDemuxTask *pDemuxTask; RMuint32 demux_task; /* next four members are used for backward compatibility for Demux and DemuxProgram modules */ struct DCCDemuxSource *pDemuxSource; RMuint32 demux; RMuint32 demuxProgram0; RMuint32 demuxProgram1; RMint32 volume_index; RMbool mute; RMbool seek_supported; RMbool iframe_supported; RMbool trick_supported; RMuint32 seek_time; RMint32 selectAudioStream; enum EMhwlibScalerFieldSelection field_selection; struct display_context *disp_info; /* commands that should be treated by the playback FSM */ RMuint32 RM_PSM_commands; /* current playback state */ enum RM_PSM_State FSMstate; /* previous FSM state */ enum RM_PSM_State previousFSMState; RMuint32 ccfifo_in_id; RMuint32 ccfifo_in_addr; RMuint32 ccfifo_out_id; RMuint32 ccfifo_out_addr; struct DCCVideoSource *pCCOSDSource; RMscc scc; RMTrtk rtk; /* Check for HDCP unplugged devices */ struct dh_context *dh_info; RMuint64 hdcp_last_check; RMuint32 ttx_fifo_id; // ttx fifo's module id struct RMttx * ttx_sw_decoder; // a pointer RMbool disable_stc;};#define NERO_MAX_CHAPTERS 32enum RMStreamInfoType { RMStreamInfoIsType_Unknown = 0, RMStreamInfoIsType_MPEG4, RMStreamInfoIsType_AVI};typedef struct RMNeroChapterEntry { RMascii *name; RMuint64 time_ms;} RMNeroChapterEntry;typedef struct RMMP4StreamInfo { RMuint32 videoStreams; RMuint32 audioStreams; RMuint32 spuStreams; RMuint32 chapters; RMbool isPlayable;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?