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

📄 emhwlib_globaltypes.h

📁 Sigma SMP8634 Mrua v. 2.8.2.0
💻 H
📖 第 1 页 / 共 5 页
字号:
};struct EMhwlibPidEntryInfo_type {	RMuint16                  pid;            /* 13 bit value */	enum EMhwlibPidInput_type input_type;	RMuint32                  flags;          /* reserved bit field for ignore_error_indicator, ignore_continuity_counter, splicing_enable */	RMbool                    enable;         /* if FALSE the pid entry is ignored */	RMuint32                  output_mask[1]; /* 32 bit mask indicating the output buffers for this pid.*/	RMuint32                  cipher_mask;    /* indicates what cipher is enabled - bit mask. Only one cipher supported in current implementation. */	RMuint32                  cipher_index[1];/* indicates what cipher entries from CipherTable is used */	RMuint32                  channel_id;     /* indicates the stream channel used for filtering */};struct EMhwlibPesEntry_type {	RMuint8                   stream_id;	RMuint8                   substream_id;	enum EMhwlibPesInput_type input_type;	RMbool                    enable;         /* if FALSE the pes entry is ignored */	RMuint32                  output_mask[1]; /* 32 bit mask indicating the output buffers for this pid.*/	RMuint32                  cipher_mask;    /* indicates what cipher is enabled - bit mask. Only on cipher supported. */	RMuint32                  cipher_index[1];/* indicates what cipher is used */};struct EMhwlibEntryOutputMask_type {	RMuint32                  entry_index;	RMuint32                  output_mask[1]; /* 32 bit mask indicating the output buffers for this pid/pes entry.*/};struct EMhwlibOutputMask_type {	RMuint32	output_mask[1]; /* 32 bit mask indicating the output buffers for this					   pid/pes entry */};enum EMhwlibTimerSync {	/* to replace DemuxProgram_TimerSync_type */	EMhwlibTimerSync_None,		EMhwlibTimerSync_FirstPcrSetPlayStc,/* First Pcr or Pts encountered after a stop/play sequence is set in stc,video,audio timers associated with the demux program. The timers are activated. */	EMhwlibTimerSync_PcrUpdateStc,	EMhwlibTimerSync_FirstPcrSetStc,/* First Pcr or Pts encountered after a stop/play sequence is set in stc,video,audio timers associated with the demux program. */};enum EMhwlibTransportPriority_type {	EMhwlibTransportPriority_Disable = 0, /* default, all the TS packets from pid are parsed by demux */	EMhwlibTransportPriority_0 = 2,    /* only TS packets with transport priority bit 0 are parsed by demux */	EMhwlibTransportPriority_1,        /* only TS packets with transport priority bit 1 are parsed by demux */};enum EMhwlibDESCipherMode{	EMhwlibDES_ECB_encryption,	EMhwlibDES_CBC_encryption,	EMhwlibDES_OFB_encryption,	EMhwlibDES_ECB_decryption,	EMhwlibDES_CBC_decryption,	EMhwlibDES_OFB_decryption};enum EMhwlibDESEncryptedPacketFormat {	EMhwlibDES_Reserved};enum EMhwlibAESCipherMode{	EMhwlibAES_ECB_decryption,	EMhwlibAES_ECB_encryption,	EMhwlibAES_OFB_decryption_encryption,	EMhwlibAES_CTR_decryption_encryption,	EMhwlibAES_CBC_decryption,	EMhwlibAES_CBC_encryption,	EMhwlibAES_CFB_decryption,	EMhwlibAES_CFB_encryption,	EMhwlibAES_AACS_hash_generation,	EMhwlibAES_VCPS_hash_generation,	EMhwlibAES_NDS_proprietary};enum EMhwlibAESEncryptedPacketFormat {	EMhwlibAES_UDAC, /* 0 - encryption starting from start of TS payload */	EMhwlibAES_Synamedia, /* 1 - encryption starting from end of TS payload */	EMhwlibAES_OFB,	EMhwlibAES_NSA,	EMhwlibAES_CipherModes_11 = EMhwlibAES_NSA,};enum EMhwlibMulti2CipherMode{	EMhwlibMulti2_ECB_decryption,	EMhwlibMulti2_CBC_decryption,	EMhwlibMulti2_OFB_decryption,	EMhwlibMulti2_CFB_decryption,	EMhwlibMulti2_ECB_encryption,	EMhwlibMulti2_CBC_encryption,	EMhwlibMulti2_OFB_encryption,	EMhwlibMulti2_CFB_encryption};enum EMhwlibC2CipherMode{	EMhwlibC2_ECB_decryption,	EMhwlibC2_CBC_decryption,	EMhwlibC2_ECB_encryption,	EMhwlibC2_CBC_encryption};enum EMhwlibCipher {	EMhwlibCipher_DES,    /* 0 */	EMhwlibCipher_AES,    /* 1 */	EMhwlibCipher_RC4,    /* 2 */	EMhwlibCipher_DVD,    /* 3 */	EMhwlibCipher_Multi2, /* 4 */	EMhwlibCipher_DVBCSA, /* 5 */	EMhwlibCipher_C2      /* 6 */};enum EMhwlibScramblingBits{	EMhwlibScramblingBits_None,      /* key is not applied */	EMhwlibScramblingBits_10_11,     /* mid cipher key is applied when packets have scrambling bits == 10, 11 */	EMhwlibScramblingBits_10,        /* mid cipher key is applied when packets have scrambling bits == 10 */	EMhwlibScramblingBits_11,        /* mid cipher key is applied when packets have scrambling bits == 11 */	EMhwlibScramblingBits_PreCipher, /* pre cipher key is applied for all the incoming data */};enum EMhwlibInbandOffset{	EMhwlibInbandOffset_Ignore,	/* emhwlib byte counter is used as bytecounter for inband */	EMhwlibInbandOffset_Relative,	/* the offset is added to emhwlib byte counter and used as bytecounter for inband */	EMhwlibInbandOffset_Absolute	/* the offset is used as bytecounter for inband */};/* Video codec profiles *//*  Jpeg profile are defined as EMhwlibJPEGProfile_XYZW  where X, Y, Z, W are:  X: luma horizontal sampling factor  Y: luma vertical sampling factor  Z: chroma horizontal sampling factor  W: chroma vertical sampling factor*/enum EMhwlibJPEGProfile{	/* 	   the value of the labels is explicited here because	   the sample apps (play_video) ask the user to input	   the profile directly by its value	*/	EMhwlibJPEGProfile_Unknown = 0,      /* This is what application passes when it does not know the profile */	EMhwlibJPEGProfile_2222 = 2222,      /*444*/	EMhwlibJPEGProfile_2212 = 2212,      /*422*/	EMhwlibJPEGProfile_2211 = 2211,      /*420*/	EMhwlibJPEGProfile_2111 = 2111,      /*ucode's 422h*/	EMhwlibJPEGProfile_2221 = 2221,      /*ucode's 422rot*/	EMhwlibJPEGProfile_1211 = 1211,      /*ucode's 422hrot*/};#define EMhwlib_H264_BaselineProfile   0#define EMhwlib_H264_MainProfile       1#define EMhwlib_H264_ExtendedProfile   2#define EMhwlib_H264_MaxProfile       EMhwlib_H264_ExtendedProfile/* DEPRECATED LABELS, USE THE ONES IN enum EMhwlibJPEGProfile */#define EMhwlib_JPEG_Invalid_Profile  0xff#define EMhwlib_JPEG_420_Profile      EMhwlibJPEGProfile_2211#define EMhwlib_JPEG_422_Profile      EMhwlibJPEGProfile_2221#define EMhwlib_JPEG_444_Profile      EMhwlibJPEGProfile_2222#define EMhwlib_JPEG_Max_Profile      EMhwlibJPEGProfile_2221#define EMhwlib_JPEG_is_422(x)  ( (x)== EMhwlibJPEGProfile_2212    \				       || (x)==EMhwlibJPEGProfile_2111  \				       || (x)==EMhwlibJPEGProfile_2221  \				       || (x)==EMhwlibJPEGProfile_1211 )/* Video codec levels */#define EMhwlib_H264_Level_1   0  /*   qcif */#define EMhwlib_H264_Level_11  1  /*    cif */#define EMhwlib_H264_Level_12  2  /*    cif */#define EMhwlib_H264_Level_13  3  /*    cif */#define EMhwlib_H264_Level_2   4  /*    cif */#define EMhwlib_H264_Level_21  5  /* halfD1 */#define EMhwlib_H264_Level_22  6  /*     D1 */#define EMhwlib_H264_Level_3   7  /*     D1 */#define EMhwlib_H264_Level_31  8  /*   720p */#define EMhwlib_H264_Level_32  9  /*   ???? */#define EMhwlib_H264_Level_4  10  /*   1080 */#define EMhwlib_H264_Level_41 11  /*   1080 */#define EMhwlib_H264_Level_42 12  /*   1080 */#define EMhwlib_H264_Level_5  13  /*   ???? */#define EMhwlib_H264_Level_51 14  /*   ???? */#define EMhwlib_H264_MaxLevel EMhwlib_H264_Level_51enum EMhwlibVideoCodec{	EMhwlibVideoCodec_MPEG2 = 1,	EMhwlibVideoCodec_MPEG4,	EMhwlibVideoCodec_MPEG4_Padding,	EMhwlibVideoCodec_DIVX3,	EMhwlibVideoCodec_VC1,	EMhwlibVideoCodec_WMV,	EMhwlibVideoCodec_H264,	EMhwlibJPEGCodec,	EMhwlibDVDSpuCodec,	EMhwlibBDRLECodec,};struct ConnectToDemuxOutput_in_type {	RMuint32 demux_output_module_id;	RMuint32 demux_output_bts_fifo;};struct ConnectToDemuxOutput_out_type {	RMuint32 decoder_stc_module_id;	RMuint32 decoder_pts_fifo; /* pts_fifo is followed by inband fifo*/};struct VideoDecoder_NextPicture_type {	struct EMhwlibNewPicture Picture;	RMuint32 PictureAddress;};struct EMhwlibSurfaceReader {	RMuint32 SurfaceAddress;	RMuint32 ReaderID;	/* 	   This field is used temporarily to pass the picture address in 	   AcquirePicture and ReleasePicture.	   It is not passed on a cleaner way because it is not needed when	   the multiple display consumers code is enabled, and we choose an	   api that will be clean with that code.	   The field will be removed soon.	*/	RMuint32 emhwlibReserved;};struct EMhwlibPictureInfo {	struct EMhwlibNewPicture Picture;	RMuint32 PictureAddress;};enum EMhwlibScanMode {	EMhwlibScanMode_Source, 	EMhwlibScanMode_Progressive,	EMhwlibScanMode_Interlaced_TopFieldFirst,	EMhwlibScanMode_Interlaced_BotFieldFirst,};	struct EMhwlibDemuxErrorInfo {	RMuint32 EngineError; /* error per engine */	RMuint32 TaskError; /* error per task */	RMuint32 InputDiscontinuityCounter; /* incremented when the demux detects errors in input Continuity counter */	RMuint32 InputSyncLossCounter; /* incremented when the transport filter loose the 0x47 sync */	RMuint32 InputTEICounter; /* incremented when the transport filter detects TEI = transport error indicator */	RMuint32 OutputOverflowCounter; /* incremented in spi, when the demux cannot write data in one output */	RMuint32 PTSOutputOverflowCounter; /* incremented in spi, when the demux cannot write data in PTS output fifo */};enum EMhwlibHeartBeatCountersVersion {	EMhwlibHeartBeatCountersVersion_0 = 0,};struct EMhwlibHeartBeatCounters {	RMuint32 MpegEngine0;  /* incremented by mpeg engine 0 */	RMuint32 MpegEngine1;  /* incremented by mpeg engine 1. Set to 0 if mpeg engine 1 doesn't exit. */	RMuint32 AudioEngine0; /* incremented by audio engine 0 */	RMuint32 AudioEngine1; /* incremented by audio engine 1.  Set to 0 if audio engine 1 doesn't exit.*/	RMuint32 DemuxEngine0; /* incremented by demux engine 0 */	RMuint32 CPU0;         /* incremented by kernel module */	RMuint32 XPU0;         /* incremented by xos */	RMuint32 Host;         /* incremented by kernel module ? */	RMuint32 VsyncOutport; /* incremented when any vsync interrupt updates the hw registers */};	/* The TVStandard property was not generic when it was first created, * so old code might be using the module-specific property id's.  * This is here to keep old code compilable but new code should use * RMGenericPropertyID_TVStandard */ #define RMDispComponentOutPropertyID_TVStandard  RMGenericPropertyID_TVStandard#define RMDispMainAnalogOutPropertyID_TVStandard RMGenericPropertyID_TVStandard#define RMDispDigitalOutPropertyID_TVStandard    RMGenericPropertyID_TVStandard#define RMDispCompositeOutPropertyID_TVStandard  RMGenericPropertyID_TVStandard/* The TVFormat property was not generic when it was first created, * so old code might be using the module-specific property id's.  * This is here to keep old code compilable but new code should use * RMGenericPropertyID_AnalogTVFormat or RMGenericPropertyID_DigitalTVFormat */ #define RMDispComponentOutPropertyID_TVFormat  RMGenericPropertyID_AnalogTVFormat#define RMDispMainAnalogOutPropertyID_TVFormat RMGenericPropertyID_AnalogTVFormat#define RMDispDigitalOutPropertyID_TVFormat    RMGenericPropertyID_DigitalTVFormat#define RMDispCompositeOutPropertyID_TVFormat  RMGenericPropertyID_AnalogTVFormat/* this is for BDRLE decoding. The application can send command through user data fifo to control the  * decoding of graphics object.  Three types of commands are available.  The value of these commands * are currently decided by microcode, so do not change unless advised by microcode  */#define SpuDecoder_BDRLE_GraphicObject_Start 0x00000100#define SpuDecoder_BDRLE_GraphicObject_Chunk 0x00000101#define SpuDecoder_BDRLE_GraphicObject_End   0x00000111#define MAX_RDRLE_COMMANDS  64struct SpuDecoder_BDRLECommandType {	RMuint32 command;	RMuint32 parameter1;	RMuint32 parameter2;};struct SpuDecoder_BDRLECommands{	RMuint32 command_count;  // identify how many valid commands are there in the "commands"	struct SpuDecoder_BDRLECommandType commands[MAX_RDRLE_COMMANDS];};/* defines used for RMVideoDecoderPropertyID_InterlacedProgressiveAlgorithm. Keep them synchronized with SOURCE_TYPE_DERIVATION_.... from ucode/video/decoder/codec.h *///#define SOURCE_TYPE_DERIVATION_USING_DECODER_SPEC                       0#define INTERLACED_PROGRESSIVE_ALGORITHM_USING_DECODER_SPECIFICATION      0//#define SOURCE_TYPE_DERIVATION_USING_MPEG2_PROGRESSIVE_SEQ              1#define INTERLACED_PROGRESSIVE_ALGORITHM_USING_MPEG2_PROGRESSIVE_SEQ      1//#define SOURCE_TYPE_DERIVATION_USING_MPEG2_FRAME_CNT_IN_SEQ             4#define INTERLACED_PROGRESSIVE_ALGORITHM_USING_MPEG2_MENU_PROGRESSIVE     4/* To be added when they will be implemented//#define SOURCE_TYPE_DERIVATION_USING_H264_FRAME_MBS_ONLY_FLAG           2#define INTERLACED_PROGRESSIVE_ALGORITHM_USING_H264_FRAME_MBS_ONLY_FLAG   2//#define SOURCE_TYPE_DERIVATION_USING_H264_POC                           3#define INTERLACED_PROGRESSIVE_ALGORITHM_USING_H264_POC                   3*/struct VoipCodec_Tone {	RMint32 freq1;	RMint32 freq2;	RMint32 time_on;	RMint32 time_off;	RMint32 level;	RMint32 ring;};enum VoipCodec_Buffer_mode {	VOIP_BUFFER_MODE_FULLNESS = 0,	VOIP_BUFFER_MODE_EMPTYNESS = 1};struct VoipCodec_Cid { 	RMint8 month[3];	RMint8 day[3];	RMint8 hour[3];	RMint8 min[3];	RMint32 numlen;	RMint8 number[11];	RMint32 namelen;	RMint8 name[80];};struct VoipChunk {	RMuint32 size;	RMuint8 data[512];};struct EMhwlibTimerAudioClockConfig {	RMuint32 valid;            // TRUE if this structure has been filled	RMuint32 dirty;            // TRUE if this structure has been updated by the emhwlib	RMuint32 afs;              // TRUE: audio uCode is dermining fs from stream, FALSE: preferred fs is set by emhwlib	RMuint32 mclk_factor;      // 128 or 256	RMuint32 cd_freq;          // frequency of the clean divider input clock	RMuint32 dmem_base;        // audio engine DMem Base	RMuint32 outputmode_reg;   // gbus address of outputmode register in audio uCode	RMuint32 freq_offs;        // bit position inside outputmode_reg of 4 bit frequency tag	RMuint32 force_offs;       // bit position inside outputmode_reg of force flag	RMuint32 chctrl;           // value for channel_control register from emhwlib (frac select bit [15] will be set by timer)	RMuint32 cd_reg;           // clean divider register address	RMuint32 fs;               // 4 bit fs value from audio uCode};#define VCXO_CLK_ID_DIGITAL   0#define VCXO_CLK_ID_ANALOG    1#define VCXO_CLK_ID_COMPONENT 2#define VCXO_CLK_ID_AUDIO_0   3#define VCXO_CLK_ID_AUDIO_1   4#define EMHWLIB_DECODE_BW_MPEG2_HD  400*1024#define EMHWLIB_DECODE_BW_MPEG4_HD  400*1024

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -