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 + -
显示快捷键?