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

📄 emhwlib_globaltypes.h

📁 Sigma SMP8634 Mrua v. 2.8.2.0
💻 H
📖 第 1 页 / 共 5 页
字号:
/***************************************** Copyright  2001-2003   Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//**  @file   emhwlib_globaltypes.h  @brief    long description  @author Emmanuel Michon  @date   2003-05-09*/#ifndef __EMHWLIB_GLOBALTYPES_H__#define __EMHWLIB_GLOBALTYPES_H__#include "emhwlib_videoformats.h"#include "emhwlib_displaytypes.h"#include "../../emhwlib_hal/pll/include/pll_hal_types.h"struct EMhwlibMacrovisionParam {	RMuint32 N0;	RMuint32 N1;	RMuint32 N2;	RMuint32 N3;	RMuint32 N4;	RMuint32 N5;	RMuint32 N6;	RMuint32 N7;	RMuint32 N8;	RMuint32 N9;	RMuint32 N10;	RMuint32 N11;	RMuint32 N12;	RMuint32 N13;	RMuint32 N14;	RMuint32 N15;	RMuint32 N16;	RMuint32 N17;	RMuint32 N18;	RMuint32 N19;	RMuint32 N20;	RMuint32 N21;	RMuint32 N22;};	struct EMhwlibClockGenerator {	enum PLLGen PLL;	enum PLLOut PLLOut;};struct EMhwlibSubPictureSurface_type {	RMuint32 Scaler;  // the scaler to be used for displaying the sub picture, or 0 to disable	RMuint32 Surface;  // the surface ID for the sub picture};enum EMhwlibCCType{	EMhwlibCCType_TopField = 0,	EMhwlibCCType_BottomField = 1,	EMhwlibCCType_DTVCCData = 2,	EMhwlibCCType_DTVCCHeader = 3};enum EMhwlibCCSelect{	EMhwlibCCSelect_CC1 = 1,	EMhwlibCCSelect_CC2 = 2,	EMhwlibCCSelect_CC3 = 3,	EMhwlibCCSelect_CC4 = 4,};#define	RUA_DRAM0_ZONEA 2#define	RUA_DRAM1_ZONEA 3#define	RUA_DRAM0_ZONEB 4#define	RUA_DRAM1_ZONEB 5enum RUADramType { 	RUA_DRAM_UNPROTECTED = 57,	RUA_DRAM_CACHED = RUA_DRAM_UNPROTECTED,	RUA_DRAM_UNCACHED = RUA_DRAM_UNPROTECTED,	RUA_DRAM_ZONEA,	RUA_DRAM_PB = RUA_DRAM_ZONEA, // picture buffer zone, alternate name	RUA_DRAM_ZONEB,	RUA_DRAM_BB = RUA_DRAM_ZONEB, // bitstream buffer zone, alternate name};enum FIFOType {	FIFO32BitRel,  // 32bit abs gbus address 'start', 32bit 'size' in byte, 32bit 'readptr'and 'writeptr' 0..size-1	FIFO16BitRel,  // same as 32BitRel, but each ptr as 16BitHi/16BitLo in MPEG-DMem. use semaphores.	FIFO16BitRelDemo,  // same as 16BitRel, but for guillaume's demo code. different semaphores and wrptr is 4 bytes further.	FIFO32BitDemux,  // 32 Bit abs demux dmem address 'start', ??? (have to check my docs) to get gbus addr, take Rd/WrPtr * 4 + (base & 0xFFFF0000)	FIFO32BitEraser  // ??? what is this eraser thingy?};enum InputFormat {	InputFormat_24bpp = 0, 	InputFormat_24bpp_8565 = 1, 	InputFormat_24bpp_5676 = 2, 	InputFormat_32bpp = 3, 	InputFormat_16bpp_565 = 4, 	InputFormat_16bpp_1555 = 5, 	InputFormat_16bpp_4444 = 6, 	InputFormat_31bpp_7888 = 7};enum ProcessorState {	CPU_RUNNING,	CPU_STOPPED,	CPU_RESET};enum ClockInputSelect {	ClockInputSelect_PowerDown = 0, 	ClockInputSelect_XTAL = 1, 	ClockInputSelect_VCXO0 = 2, 	ClockInputSelect_VCXO1 = 3, 	ClockInputSelect_RCLK0 = 4, 	ClockInputSelect_RCLK1 = 5, 	ClockInputSelect_VI0 = 6, 	ClockInputSelect_VI1 = 7};enum MPEG_Profile {	Profile_FIRST_ = 0, 	Profile_MPEG2_SD,	Profile_MPEG2_DVD,	Profile_MPEG2_HD,	Profile_MPEG4_SD,	Profile_MPEG4_SD_Padding,	Profile_MPEG4_HD,	Profile_MPEG4_HD_Padding,	Profile_MPEG2_SD_Packed,	Profile_MPEG2_DVD_Packed,	Profile_MPEG2_HD_Packed,	Profile_MPEG4_SD_Packed,	Profile_MPEG4_HD_Packed,	Profile_MPEG2_SD_DeInt,	Profile_MPEG2_DVD_DeInt,	Profile_MPEG2_HD_DeInt,	Profile_MPEG4_SD_DeInt,	Profile_MPEG4_SD_DeInt_Padding,	Profile_MPEG4_HD_DeInt,	Profile_MPEG4_HD_DeInt_Padding,	Profile_MPEG2_SD_Packed_DeInt,	Profile_MPEG2_DVD_Packed_DeInt,	Profile_MPEG2_HD_Packed_DeInt,	Profile_MPEG4_SD_Packed_DeInt,	Profile_MPEG4_HD_Packed_DeInt,	Profile_WMV_SD,	Profile_WMV_816P,	Profile_WMV_HD,	Profile_DIVX3_SD,	Profile_DIVX3_HD,	Profile_DIVX3_SD_Packed,	Profile_DIVX3_HD_Packed,	Profile_H264_SD,	Profile_H264_HD,	Profile_H264_SD_DeInt,	Profile_H264_HD_DeInt,	Profile_VC1_SD,	Profile_VC1_HD,	Profile_LAST_};enum AACInputFormat {	ADIF_header = 0,	ADTS_header = 1,	DSI_header = 2};enum TestToneType {	Ttone_WhiteNoise = 0,	Ttone_other};enum DemuxSourceType {	SourceType_payload = 1,	/* no information about input - used for input record or spi dump */	SourceType_dvd, /* dvd program stream */	SourceType_m1s, /* program stream */	SourceType_m2t, /* transport stream */	SourceType_cipher_only /* supported by DemuxCipher module */};enum DemuxSpiType {	No_Spi,	Serial_Spi,	Paralel_Spi};enum DemuxTriggerType {	Trigger_None,	Trigger_PCR,	Trigger_VideoPts,	Trigger_AudioPts,	Trigger_VideoOrAudioPts,	Trigger_PayloadUnitStartIndicator};enum DemuxOutputTrigger_type {	DemuxOutputTrigger_None,	DemuxOutputTrigger_Pts,	DemuxOutputTrigger_PayloadUnitStartIndicator /* used only for transport stream */};enum TransferTaskCallback {	TRANSFER_TASK_CALLBACK_NONE,	TRANSFER_TASK_CALLBACK_GFX,	TRANSFER_TASK_CALLBACK_DEMUX,	TRANSFER_TASK_CALLBACK_DEMUX_OUTPUT,};enum TransferTaskDirection {	TRANSFER_TASK_DIRECTION_WRITE,	TRANSFER_TASK_DIRECTION_READ,};/* this enum is used for indexing an array (fifo_ops) */enum TransferTaskFifoMode {	TRANSFER_TASK_FIFO_MODE_WRITE_PTS_DMEM_32 = 0,	TRANSFER_TASK_FIFO_MODE_WRITE_PTS_DMEM_16,	TRANSFER_TASK_FIFO_MODE_WRITE_MUTEX_PTS_DMEM_16,	TRANSFER_TASK_FIFO_MODE_WRITE_PTS_ERASER,	TRANSFER_TASK_FIFO_MODE_READ_PTS_DMEM_32,	TRANSFER_TASK_FIFO_MODE_READ_PTS_DMEM_16,	TRANSFER_TASK_FIFO_MODE_READ_MUTEX_PTS_DMEM_16,	TRANSFER_TASK_FIFO_MODE_READ_PTS_ERASER,};#define MAX_AUDIO_PARAM_EXTENSIONS 9struct AudioSpecificParams {	RMuint32 DecoderParams;	RMuint32 DecodeParamExtensions[MAX_AUDIO_PARAM_EXTENSIONS];};struct ScalerLUT {	RMuint32 Size;	RMuint32 Data[256];};struct CursorLUT { 	RMuint32 Data[16];};struct BWArbiterParam{	RMuint32 MaxBW;	RMuint32 MinBW;	RMbool Enable;};struct TeleTextBuffer {	RMuint32 Size;	RMuint32 Data[0x300];};/*  This is meant to transfer large amounts of data by properties,  to be used for very special data (like microcode).    Since this structure embeds a pointer, it cannot be used in  situations where the adressing space changes (user/kernel transition,  remote network access situations).*/struct emhwlib_datablock {	RMuint8 *data;	RMuint32 size;};#define TIME_STAMP_INFO			0x00000001#define FIRST_ACCESS_UNIT_POINTER_INFO	0x00000002/*  Meant to transfer specific information associated with data to be transferred*/struct emhwlib_info {	RMuint32 ValidFields;		// or-ed flags: TIME_STAMP_INFO, FIRST_ACCESS_UNIT_INFO	RMuint64 TimeStamp;	RMuint32 FirstAccessUnitPointer;};struct mm_spec {	RMuint32 start;	RMuint32 size;	void *syncCookie;};struct DecoderProcessInterrupt_type {	RMuint32 stream;	RMuint32 *pEstatus;};struct ReadBufferInfo {	RMuint32 address;	RMuint32 size;	void *context;};enum RawDataTransferDirection {	RawDataTransferDirection_Read = 32,	RawDataTransferDirection_Write,};struct SoftIrqTaskEvent {	RMuint32 TaskAddress;	RMuint32 EventMask;};struct InbandCommand_type {	RMuint32 Tag;	RMuint32 Coordinate;};enum EMhwlibInbandCommmand {	EMhwlibInbandCommand_EOS = 0x16};typedef RMuint32 RMpalette_1BPP[2];typedef RMuint32 RMpalette_2BPP[4];typedef RMuint32 RMpalette_4BPP[16];typedef RMuint32 RMpalette_8BPP[256];typedef RMuint32 RMCursorLut[16];typedef RMuint32 RMCursorPix[512];typedef RMuint8 RMcss_chlgkey[10];typedef RMuint8 RMcss_key[5];typedef RMuint8 RMcss_disckey[2028];typedef RMuint8 RMcss_titlekey[5];typedef RMuint8 RMAESKey[16];typedef RMuint8 RMDESKey[8];typedef RMuint8 RMRC4Key[32];typedef RMuint8  RMuint8x6[6];		/* array of 6 RMuint8 - used for C2 key */typedef RMuint8  RMuint8x8[8];		/* array of 8 RMuint8 - used for DES key */typedef RMuint8  RMuint8x32[32];	/* array of 32 RMuint8 - used for Demux Encryption */typedef RMuint8  RMuint8x256[256];	/* array of 256 RMuint8 - used for C2 cipher */typedef RMuint16 RMuint16x8[8];		/* array of  8 RMuint16 - used for AudioDecoder LpcmAobParameters */typedef RMuint16 RMuint16x6[6];		/* array of  6 RMuint16 - used for AudioDecoder LpcmVobParameters*/typedef RMuint32 RMuint32x6[6];		/* array of  6 RMuint32 - used for VideoDecoder InbandParams */typedef RMint32  RMuint32x64[64];	/* array of 64 RMuint32 - used for AudioDecoder WMAParameters */typedef RMuint32 RMuint32x4[4];		/* array of  4 RMuint32 */typedef RMint32  RMint32x5[5];		/* array of  5 RMint32 - used for AudioDecoder WMAParameters */typedef RMuint32 RMsha1Sum[5];typedef RMuint32 RMVSyncXtal[6][2]; /* current and last xtal counter value at the time of each vsync [0:CVBS, 1:YUV, 2:MAO, 3:DIG, 4:VID, 5:GFX][0:current, 1:last] */struct RMcipherBuffer {	RMuint32 FromAddress;	RMuint32 ToAddress;	RMuint32 Size;};struct DRAMSizeXferFIFO_in_type {	RMuint32 XferFIFOSize;	RMuint32 XferFIFOCount;};struct DRAMSizeXferFIFO_out_type {	RMuint32 CachedSize;	RMuint32 UncachedSize;};struct AddXferFIFO_type {	RMuint32 XferFIFOSize;	RMuint32 XferFIFOCount;	RMuint32 CachedAddress;	RMuint32 CachedSize;	RMuint32 UncachedAddress;	RMuint32 UncachedSize;};struct ReceiveThreshold_type {	RMbool partial_read;	/* if TRUE the buffer is completed after every interrupt, even if it is not full */	RMuint32 size;		/* interrupt is issued after writting "size" bytes */ };/* information about send/receive data fifo:	- VideoDecoder target 0 = sent bitstream	- VideoDecoder target 1 = received user_data	- AudioDecoder target 0 = sent bitstream	- SpuDecoder target 0 = sent bitstream	- Demux target 0 = sent bitstream	- Demux target 1 = received pid filter	- Demux target 2 = received record data	- StreamCapture target 0 = received spi dataAll the sizes are expressed in bytes.

⌨️ 快捷键说明

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