?? rm84cmn.h
字號:
ULONGLONG dwlVOBUEndTime; // EndPts 90k pts unit ULONGLONG dwlVOBUDisplayTime; // first image played - 90k pts unit} evVOBUReverseParams_type;typedef DWORD evVOBULastPack_type;typedef enum{ HorizontalBilinear = 0, Horizontal4tapDefault, Horizontal4tapJpg, VerticalBilinear, Vertical2tapDefault, Vertical4tapDefault,} evDisplayFilter_type;typedef enum { evAnalogCable_NotConnected = 0, evAnalogCable_Connected} evAnalogCable_type;typedef enum { evDigitalCable_NotConnected = 0, evDigitalCable_Connected} evDigitalCable_type;typedef enum { eAudioFormat_MPEG1 = AUDIO_FORMAT_MPEG1, // mpeg1 layer 1. eAudioFormat_MPEG2 = AUDIO_FORMAT_MPEG2, // mpeg1 layer 2. eAudioFormat_AC3 = AUDIO_FORMAT_AC3, eAudioFormat_PCM = AUDIO_FORMAT_PCM, eAudioFormat_DTS = AUDIO_FORMAT_DTS, eAudioFormat_DVD_AUDIO = AUDIO_FORMAT_DVD_AUDIO, eAudioFormat_REVERSE_PCM = AUDIO_FORMAT_REVERSE_PCM, eAudioFormat_AAC = AUDIO_FORMAT_AAC, eAudioFormat_MPEG1_LAYER3, // mpeg1 layer 3. eAudioFormat_MPEG2_LAYER1, // mpeg2 layer 1. eAudioFormat_MPEG2_LAYER2, // mpeg2 layer 2. eAudioFormat_MPEG2_LAYER3, // mpeg2 layer 3. eAudioFormat_UNKNOWN, } eAudioFormat_type;typedef enum { eAudioDigitalOutput_Pcm = AUDIO_OUTPUT_STEREO, eAudioDigitalOutput_Compressed = AUDIO_OUTPUT_AC3DTS} eAudioDigitalOutput_type;typedef enum { eAudioSpdifOutput_Disabled = AUDIO_SPDIF_DISABLE, eAudioSpdifOutput_Active = AUDIO_SPDIF_ENABLE, eAudioSpdifOutput_ActiveData0 = 4} eAudioSpdifOutput_type;typedef enum { eAudioI2SOutput_Disabled = AUDIO_DAC_DISABLE, eAudioI2SOutput_Active = AUDIO_DAC_ENABLE, eAudioI2SOutput_ActiveData0 = 8} eAudioI2SOutput_type;typedef enum { ebiAPMState_Suspend, // ebiAPMState_ResumeSuspend, // ebiAPMState_Standby, // ebiAPMState_ResumeStandby, // ebiAPMState_Max //} ebiAPMState_type;typedef enum { edecVideoStd_MPEG12Video = 0, edecVideoStd_MPEG4Video = 1, edecVideoStd_MPEG124Video = 445, // the two last values are not used by the hardware library. edecVideoStd_DivX3Video = 446,} edecVideoStd_type;typedef struct { // used for PropId=etimPcrTime in PropSet=TIME_SET DWORD dwTimeResolution_Hz; // 90000 for 90k pts unit ULONGLONG dwlTime; // Pts} etimSystemTimeClock_type; //TIME_INFO; // (hack) we have to link mpegcmn.h to here.typedef struct { DWORD dwForceFixedVOPRate; // command for set, status for get DWORD dwFixedVopTimeIncr; // ticks/VOP, default 1000 DWORD dwFixedTimeIncrRes; // ticks/sec, default 24000} edecForceFixedVOPRate_type;typedef BYTE edecCSSChlg_type[10];typedef BYTE edecCSSKey1_type[5];typedef BYTE edecCSSChlg2_type[10];typedef BYTE edecCSSKey2_type[5]; typedef BYTE edecCSSDiscKey_type[2048];typedef BYTE edecCSSTitleKey_type[5];typedef enum { eSubpictureCmd_BTN_ENABLE = BTN_ENABLE, eSubpictureCmd_SP_ENABLE = SP_ENABLE,} eSubpictureCmd_type; typedef struct { BYTE yuvReserved; BYTE yuvY; BYTE yuvCr; BYTE yuvCb;} eSubpictureUpdatePalette_type[16];typedef struct { LONG leftb; LONG topb; LONG rightb; LONG bottomb; LONG wColor; LONG wContrast;} eSubpictureUpdateButton_type;typedef enum { ebiCommand_HardwareReset = 1, ebiCommand_VideoHwBlackFrame} ebiCommand_type;typedef enum { ebiUcode_MpegDecode = 1, ebiUcode_Yuv} ebiUcode_type;typedef enum { eviCommand_InitCapture = 0, // eviInitCapture is accepted any time. It initializes the // capture parameters using values set in eviCcir, eviChromaDownScale, // eviYuvPacked, eviInterlacedSource, eviBitsPerClock, // eviCaptureParams, eviOutputLineLength properties eviCommand_StartCapture, // starts the capture. It is accepted only if the decoder is // in eviFreezeCapture or video stop. eviCommand_FreezeCapture // freeze the capture} eviCommand_type;typedef struct { LONG x; LONG y; LONG w; LONG h; LONG OutputLineLength;} eviCaptureParams_type;typedef struct { DWORD Addr; DWORD Data;} genericReg_type; // hack link qhwinc.h to here, ADDR_DATAtypedef struct { LONG x; LONG y; LONG w; LONG h;} Wnd_type; // hack link qhwinc.h to here.typedef struct { DWORD HFreq; DWORD VFreq; DWORD VideoWidth; DWORD VideoHeight; DWORD HSyncTotal; DWORD PreHSync; DWORD HSyncActive; DWORD PostHSync; DWORD VSyncTotal; DWORD PreVSync; DWORD VSyncActive; DWORD PostVSync; DWORD PixelFreq; DWORD Interlaced;} CustomHdtvParams_type;/* | (H/V) Total | |<--------------------------------->|<-------------------... | | |Pre|Active|Post| Width/Heigth |Pre|Active|Post| ->|<->|<---->|<-->|<----------------->|<->|<---->|<-->|<--- ~\ +--/~~~~~...~~~~~\--+ /~~~... ------+ +----| MAX. VIDEO VALID |---+ +----|----... ~/ | | +--\~~~~~~...~~~~/--+ | | \~~~... V______| V______| ~\ /~~~~~...~~~~\ /~... ------+ +-------| VIDEO DEST |-----+ +-----|--... ~/ | | \~~~~~...~~~~/ | | \~... V______| V______|HSyncTotal = PreHSync + HSyncActive + PostHSync + VideoWidth;VSyncTotal = PreVSync + VSyncActive + PostVSync + VideoHeight;HFreq = VFreq * VSyncTotal / (Interlaced ? 2:1);PixelFreq = HFreq * HSyncTotal;Sample:720x480I_Ntsc= { 15734,5994, 720,480, 858,22,100,16, 525,6,3,36, 27000000,1, 0,0 };720x576I_Pal= { 15625,5000, 720,576, 864, 8,100,36, 625,2,3,44, 27000000,1, 0,0 };*/typedef struct { // Sample values for 720x480I_Ntsc DWORD HFreq; // 15734 Hz DWORD VFreq; // 5994 cHz DWORD VideoWidth; // 720 pixels DWORD VideoHeight; // 480 lines DWORD HSyncTotal; // 858 pixels DWORD PreHSync; // 22 pixels DWORD HSyncActive; // 100 pixels DWORD PostHSync; // 16 pixels DWORD VSyncTotal; // 525 lines DWORD PreVSync; // 6 lines DWORD VSyncActive; // 3 line DWORD PostVSync; // 36 lines DWORD PixelFreq; // 27000000 Hz - not used for SetProperty, only for GetProperty. DWORD Interlaced; // 1 - not used for SetProperty, only for GetProperty. BYTE HSyncPolarity; // 0 - 0 for active low, 1 for active high BYTE VSyncPolarity; // 0 - 0 for active low, 1 for active high} evDigOvOnlyParams_type; // almost the same as HDTV_MODE in mpegcmn.h.typedef struct { BYTE Ccir; // CCIR_656 or CCIR_601 BYTE BitsPerClock; // 8 or 16 bits BYTE InvertField; // CCIR_INVERT_FIELD or CCIR_NON_INVERT_FIELD BYTE SyncEnable; // VS_ENABLED_HS_DISABLED_VRDYisVRDY_ENABLED (VSync enabled, HSync disabled, VVLD/HS=HS enabled) // VS_HS_VRDYisHS_ENABLED (VSync enabled, HSync enabled, VVLD/HS=VVLD enabled) // VS_HS_VRDYisHS_DISABLED (VSync, HSync, VVLD/HS=VVLD disabled) BYTE Vip20; // 1 for VIP2.0; 0 for VIP1.x} evDigOvOnlyConfig_type;typedef enum{ VideoHwPlayNormal = 0, VideoHwPlayToEvent, VideoHwPlayIFrame, VideoHwPlaySyncFaster, VideoHwPlayYUV, VideoHwPlayVOBUReverse, VideoHwPlayIFrameReverse, VideoHwSeekToFrame, VideoHwSeekToPts}PLAY_OPTIONS; // MpegAttrPlayOptionstypedef struct { PLAY_OPTIONS PlayOptions; ULONGLONG Event; // event is number of frame for VideoHwSeekToFrame // for time being event is PTS (VideoHwSeekToPts) in Hw video pts units, // (45k for mpeg1,2, VOPTimeResolution for Mpeg4)} evVideoHwPlay_type;typedef enum { evStreamDefaultAtPause = 0, evTopFieldAtPause, evBottomFieldAtPause, evBothFieldsAtPause} evFieldFrameAtPause_type;typedef enum { etvNtscPedestal_OffJapan = 0, etvNtscPedestal_OnUSA} etvNtscPedestal_type;typedef enum { // For EM847x Extended means 6.75MHz, LowPass 4.5MHz etvLumaFilter_CompositeExtended_ComponentExtended = 0, // default etvLumaFilter_CompositeLowPass_ComponentExtended, // not recommended etvLumaFilter_CompositeExtended_ComponentLowPass, // not recommended etvLumaFilter_CompositeLowPass_ComponentLowPass // not recommended} etvLumaFilter_type;typedef enum { // For EM847x Extended means 6.75MHz/2 etvChromaFilter_CompositeDefaultLowPass_ComponentExtended = 0, // default etvChromaFilter_CompositeExtended_ComponentExtended // not recommended} etvChromaFilter_type;typedef enum { etvColorBars_Off = 0, // default etvColorBars_On} etvColorBars_type;typedef enum { evdInputSource_COMPOSITE=0, evdInputSource_SVIDEO, evdInputSource_ONBOARDTUNER,} evdInputSource_type;typedef evTvStandard_type evdTvStandard_type; // The tv _encoder_ setting uses the same enums as tv _decoder_typedef DWORD evdAudioClock_type; // use only 32000, 44100, 48000 values.typedef enum { evTvTunerRange_NTSC_MNAIR, // ntsc m/n air (antenna) channels evTvTunerRange_NTSC_MNCABLE, // ntsc m/n cable channels evTvTunerRange_SECAM_AIR_France,} eTvTunerRange_type; // for struct eTvTunerChannel_typetypedef struct { eTvTunerRange_type evTvTunerRange_value; // uses enum eTvTunerRange_type DWORD eTvTunerChannelInRange; // [2..69] ntsc m/n air, [1..125] ntsc m/n cable} eTvTunerChannel_type;typedef enum{ eAudioInOutDefault = 0, eAudioInOutVcxoJda1Ckin, eAudioInOutExternJda1Ckin, eAudioInOutSCkinCapture} AudioInOutConfig_type;typedef enum // used for PropId = eAudioMode in PropSet=AUDIO_SET{ eAudioMode_Stereo = 0, eAudioMode_MonoRight, eAudioMode_MonoLeft, eAudioMode_MonoMix}eAudioMode_type;typedef enum // used for PropId = eaAc3Conf in PropSet=AUDIO_SET{ eAc3SpeakerSurround = 0, eAc3Speaker1_0, eAc3Speaker2_0}Ac3SpeakerConfig;typedef enum // used for PropId = eaAc3Conf in PropSet=AUDIO_SET{ eAc3ComprDiagNormOff = 0, eAc3DiagNormOn, eAc3LineOut, eAc3RFModulation}Ac3ComprDlgNorm;typedef struct tagAC3_CONF // used for PropId = eaAc3Conf in PropSet=AUDIO_SET{ WORD wStructureVersion; // 0 BYTE bAc3ComprDlgNorm; // see Ac3ComprDlgNorm enum, HwLib default eAc3LineOut BYTE bAc3SpeakerConfig; // see Ac3SpeakerConfig enum, HwLib default eAc3SpeakerSurround WORD wAc3HiLoDynamicRange; // HwLib default 0xFFFF WORD wAc3RepeatCounter; // HwLib default 0x0000}AC3_CONF;typedef struct{ DWORD ResetMask; DWORD SetMask;}ResetSetMask_type;typedef enum { eOsdOn = 0, eOsdOff, eOsdFlush} eOsdCommand_type;typedef struct { WORD PIO_clock; WORD PIO_data;} I2cInit_type;// base structure structure for Read/Write I2C. typedef struct { WORD I2c_WriteAddress; // write address of the I2C device. Reserve WORD instead of BYTE for later extensions WORD I2c_ReadAddress; // read address of the I2C device. Reserve WORD instead of BYTE for later extensions WORD I2c_usDelay; // Delay in microseconds WORD SubAddress; // subadress. Reserve WORD instead of BYTE for later extensions, like 0xFFFF for no subaddress WORD nBytes; // size of the BYTE buffer that follow this structure} I2cReadWrite_type;typedef enum { escMacrovision_APS_OFF = MACROVISION_APS_OFF, escMacrovision_APS_1 = MACROVISION_APS_1, escMacrovision_APS_2 = MACROVISION_APS_2, escMacrovision_APS_3 = MACROVISION_APS_3} escMacrovision_type;// starting to move the HwLib defines from mpegcmn.h// MpegAttrForcedProgressive flags#define BROADCASTED_VIDEO 0x0200#define DVD_VIDEO 0x0000#define FORCED_PROGRESSIVE_OFF 0x0100 // display progressive or interlaced like in the video stream#define FORCED_PROGRESSIVE_ON 0x0000 // display only progressive if the stream switches very fast from interlaced to progressive#define PROGRESSIVE_ALWAYS 0x0080#define PROGRESSIVE_MOVIES 0x0000#define FRAME_DROP 0x0040#define FIELD_DROP 0x0000#define VGA_INTERLACED 0x0002#define VGA_PROGRESSIVE 0x0000// MpegAttrHardwareInfo1 flags#define DARK_COLOR_LETTERBOX 0x0001 // hwDecoder is Quasar1 - letterbox bug#define VGA_CABLE_NOT_CONNECTED 0x0002 // VGA cable is not connected for analog overlay boards// MpegAttrOverlayFlags#define OVERLAY_FLAGS_MASK 0x004F#define VIDEO_ZOOM_ENABLE 0x0001#define VIDEO_TV_DEST_ENABLE 0x0002#define VIDEO_HDTV_DEST_ENABLE 0x0004#define OSD_VIDEO_INDEPENDENT_DEST 0x0008#define SPECIAL_IGS_STANDARD 0x0040typedef CustomHdtvParams_type HDTV_MODE, *PHDTV_MODE;typedef struct{ DWORD SysPhysAddr; DWORD SysLinAddr; DWORD SysSizeInBytes; DWORD DramAddr; DWORD DramSizeInBytes;}emeXferUcodeParameters_type;#ifdef __cplusplus}#endif /** @} */#endif // __RM84CMN_H__
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -