?? rm84cmn.h
字號:
/** @addtogroup property @{ *//** @file rm84cmn.h @brief comon definitions for EM84xx HwLib and user applications settings REALmagic Quasar Hardware Library @author Aurelia Popa-Radu Copyright Sigma Designs Inc Sigma Designs Proprietary and confidential @date 01/19/01*/#ifndef __RM84CMN_H__#define __RM84CMN_H__#ifdef __cplusplusextern "C"{#endif #ifndef KSPROPERTY_TYPE_GET#define KSPROPERTY_TYPE_GET 0x00000001#define KSPROPERTY_TYPE_SET 0x00000002#endif/** Hardware Library Property sets*/typedef enum { /** registry set common for all board versions*/ REGISTRY_COMMON_SET = 1, /** registry set used for hdtv mode*/ REGISTRY_HDTV_SET, /** registry set used mostly for digital overlay */ REGISTRY_VGAVENDOR_SET, /** property set for scan converter*/ SCANCONVERTER_SET, /** property set for eeprom*/ EEPROM_SET, /** property set for general properties of the board*/ BOARDINFO_SET, /** property set for video properties of the board*/ VIDEO_SET, /** property set for audio properties of the board*/ AUDIO_SET, /** property set for time properties of the board*/ TIME_SET, /** property set for subpicture properties of the board*/ SUBPICTURE_SET, /** property set for video decoder*/ VIDEO_DECODER_SET, /** property set for mpeg encoder*/ MPEG_ENCODER_SET, /** property set for DVI transmitter*/ DVI_TRANSMITTER_SET, /** property set for Mpeg decoder*/ DECODER_SET, /** property set for TV encoder*/ TVENCODER_SET, /** property set for TvTuner encoder*/ TVTUNER_SET, /** property set for OSD properties*/ OSD_SET, /** property set for I2C properties*/ I2C_SET, /** property set for VideoIn properties of the board (video capture)*/ VIDEOIN_SET, /** hardware test properties of the board*/ HARDWARE_TEST_SET, PROPERTY_MAX_SET}PROPERTY_SETS;/** Hardware Library Registry property set These values are set only at initialisation time.*/// REGISTRY_COMMON_SET uses RMuint32 = unsigned long = DWORDtypedef enum { eTvOut = 0, //? DEPRECATED /** @li 0 HwReset returns without resetting the hardware @li 1 HwReset resets the hardware @note The default value is 1. */ eDoHwReset, //? RMuint32, if not 0 HwReset does hardware reset /** @li 0 HwReset leaves the Spdif output enabled @li 1 HwReset disables the Spdif output @note The default value is 1. */ eDisableSpdifOutputInReset, //? RMuint32, if TRUE don't disable SPDIF output on reset /** The two values are used when playing on TV to set the width of the active window. They show the number of active pixels displayed on TV (any value between 0...720) for Ntsc / Pal. They will not affect the destination window of the video or the scaling factors. @note The default value is 720. */ eActiveVideoWidthNtsc, //? RMuint32, number of pixels per line in NTSC mode eActiveVideoWidthPal, //? RMuint32, number of pixels per line in PAL mode /** @li 1 for BROADCASTED_VIDEO - the video is streamed and contains I blocks. @li 0 for DVD_VIDEO - the video contains complete I frames. @note The default value is DVD_VIDEO. */ eBroadcastedVideo, //? RMuint32, ??? /** @li 1 for FORCED_PROGRESSIVE_OFF - displays progressive or interlaced like in the video stream @li 0 for FORCED_PROGRESSIVE_ON - displays only progressive if the stream switches very fast from interlaced to progressive @note The default value is 0. */ eForcedProgressiveSourceOff, //? RMuint32, ??? /** @li 1 for PROGRESSIVE_ALWAYS - displays progressive for any video stream @li 0 for PROGRESSIVE_MOVIES - displays progressive only for movies @note The default value is 0. */ eForcedProgressiveAlways, //? RMuint32, ??? /** @li 1 for FRAME_DROP - it drops frames when it converts Ntsc clip to PAL TV. @li 0 for FIELD_DROP - it drops fields when it converts Ntsc clip to PAL TV. @note The default value is 0. */ eNtscPalFrameDrop, //? RMuint32, Drop frames when displaying NTSC (30 fps) content on PAL (25 fps) /** @li 1 for VGA_INTERLACED - displays only BOB on VGA @li 0 VGA_INTERLACED - displays BOB or WEAVE on VGA, depending on stream @note The default value is 0. */ eVGAForcedInterlaced, //? RMuint32, ??? /** @li 0 for AUDIO_OUTPUT_STEREO @li 1 for AUDIO_OUTPUT_AC3DTS @note The default value is 0. */ eAudioOutput, //? RMuint32, ??? /** audio volume right from 0 to 100 @note The default value is 100. */ eVolumeRight, //? RMuint32: [0..100], left volume /** audio volume left from 0 to 100 @note The default value is 100. */ eVolumeLeft, //? RMuint32: [0..100], right volume /** Used only for a specific hardware design (STPC - to select Pcm1716 or Pcm1720) @note The default value is 1720. */ eDacType, //? RMuint32 ??? /** @li 0 the audio I2S 16 or 24 bit will be selected by HwLib @li 16 for audio I2S 16 bit @li 24 for audio I2S 24 bit @note The default value is 0. */ eAudioDacBitsPerSample, //? RMuint32: {8,16}, /** This dword can be used for testing audio / video synchronization. DoAudioLater is the number of PTS units that will be added to the audio PTS from file send to the hardware. The HwLib will typecast DoAudioLater to LONG - this means that negative values can be programmed. The PTS unit is 11.(1) microseconds ( 90 kHz ). @note The default value is 0. */ eDoAudioLater, //? RMuint32, ??? /** values from 0 to 1000, used when SET_VGA is selected @note The default value is 500. */ eBrightness, //? RMuint32: [0..1000], image brightness /** values from 0 to 1000, used when SET_VGA is selected @note The default value is 500. */ eContrast, //? RMuint32: ]0..1000], image contrast /** values from 0 to 1000, used when SET_VGA is selected @note The default value is 500. */ eSaturation, //? RMuint32: [0..1000], image saturation /** values from 0 to 1000, used when SET_TV is selected @note The default value is 500. */ eTvBrightness, //? RMuint32: [0..1000], tv out brightness /** values from 0 to 1000, used when SET_TV is selected @note The default value is 500. */ eTvContrast, //? RMuint32: [0..1000], tv out contrast /** values from 0 to 1000, used when SET_TV is selected @note The default value is 500. */ eTvSaturation, //? RMuint32: [0..1000], tv out saturarion /** It should be set according to VGA mode selected. The default values are: @notes eDResBitsPerPixel= 8; eDResScreenWidth = 1024; eDResScreenHeight= 768; */ eDResBitsPerPixel, //? RMuint32, ??? eDResScreenWidth, //? RMuint32, ??? eDResScreenHeight, //? RMuint32, ??? /** Used for analog overlay to program the pixel clock frequency for Nova chip. At IDecoderBoard_HwReset time the analog overlay chip will detect the horizontal frequency of the VGA mode and will program its PLL trying to match the VGA pixel frequency. Because of not enough accuracy the result can be slightly different from one detection to another and this causes a one pixel change in position of the video. In order to avoid this, the user should save the horizontal frequency got from HwLib in the registry and when the new detection will happen the HwLib will use the registry value if the value is in a +/-200Hz range. If the value is too different the auto-detected frequency will be used - the VGA mode was probably changed. If the user don't use the value should be 0. @notes The default value is 0. */ ePreviousHFreq, //? RMuint32, ??? /** Used for analog overlay to program the pixel clock frequency for Nova chip. At IDecoderBoard_HwReset time the analog overlay chip will program the PLL frequency based on horizontal frequency and an estimation of the pixels per line number. For a better accuracy this number can be programmed by user in registry. If the user don't use the value should be 0. @notes The default value is 0. */ eTotalPixelsPerLine, //? RMuint32, ??? /** @li 0 will not power off/on the EM8400 (no ACPI ON/OFF) @li 1 IDecoder_Init will switch to ACPI_ON, IDecoder_Delete will switch to ACPI_OFF @notes The default value is 0. */ eAcpiEnable, //? RMuint32, ??? /** Used for Ventura2k: @li 0 EM8400 is master - EM8400 generates the HSync and VSync @li 1 EM8400 is slave - EM8400 doesn't generate the HSync and VSync @notest The default value is 0. */ eDecoderIsSlave, //? RMuint32, Sets the TV encoder slave or master concerning synchro /** @li 0 no Zoom @li 1 enable AcqWnd window to be the zoomed video window */ eZoomEnable, //? RMuint32, ??? /** @li 0 fullscreen on TV @li 1 enable destination window on TV */ eWindowTvEnable, //? RMuint32, ??? /** @li 0 fullscreen on HDTV @li 1 enable destination window on HDTV */ eWindowHdtvEnable, //? RMuint32, ??? /** @li 0 OSD will be displayed relative to the video window @li 1 OSD will be displayed relative to the output device screen */ eOsdVideoIndependent, //? RMuint32, ??? /** Used to program the digital video pixel clock Dvclk for EM9010. @li 0 Dvclk will match the VGA pixel frequency @li 1 Dvclk will be set to maximum limit 80000kHz = 80MHz @li any required Dvclk in kHz, limited between hardware limits (30000 and 80000 for EM9010) @notes The default value is 0. */ eMaximumDvclk, //? RMuint32 ??? /** not a property */ eCommonRegMax //?}REGISTRY_COMMON_SET_ID;/** high definition television mode (HDTV) settings.*/// REGISTRY_HDTV_SET uses RMuint32 = unsigned long = DWORDtypedef enum { /** horizontal frequency in Hz*/ eHdtvHFreq = 0, //? RMuint32, ??? /** vertical frequency in cHz (1Hz=100cHz)*/ eHdtvVFreq, //? RMuint32, ??? /** number of visible video pixels per line*/ eHdtvVideoWidth, //? RMuint32, ??? /** number of visible lines per frame*/ eHdtvVideoHeight, //? RMuint32, ??? /** number of pixels per line (visible + blanking)*/ eHdtvHSyncTotal, //? RMuint32, ??? /** number of pixels between visible and HSync*/ eHdtvPreHSync, //? RMuint32, ??? /** number of pixels in HSync active signal*/ eHdtvHSyncActive, //? ??? /** number of pixels between HSync and visible*/ eHdtvPostHSync, //? ??? /** number of lines per frame (visible + blanking)*/ eHdtvVSyncTotal, //? RMuint32, ??? /** number of lines between visible and VSync*/ eHdtvPreVSync, //? RMuint32, ??? /** number of lines in VSync active signal*/ eHdtvVSyncActive, //? ??? /** number of lines between VSync and visible*/ eHdtvPostVSync, //? ??? /** pixel frequency resulted from previous settings*/ eHdtvPixelFreq, //? RMuint32, ??? /** interlaced mode, resulted from VideoHeight and the HFreq/VFreq*/ eHdtvInterlaced, //? ??? /** not a property */ eHdtvRegMax //? ???}REGISTRY_HDTV_SET_ID;/** VGA specific settings (Digital Video Port) */typedef enum { /** @li CCIR_NON_INVERT_FIELD for top-bottom display @li CCIR_INVERT_FIELD for bottom-top display @note The default value is 0. It depends on the VGA card. */ eInvertField = 0, // RMuint32 /** @li 0 for 8bits @li 1 for 16 bits @note The default value is 0. */ eVmi_16bits, // RMuint32 /** @li one of CCIR_601 or CCIR_656 @note The default value is CCIR_601 for analog overlay and CCIR_656 for digital overlay. */ eCcir_656, // RMuint32 /** @li VS_ENABLED_HS_DISABLED_VRDYisVRDY_ENABLED: VSync enabled, HSync disabled, VVLD/HS=HS enabled, @li VS_HS_VRDYisHS_ENABLED: VSync enabled, HSync enabled, VVLD/HS=VVLD enabled, @li VS_HS_VRDYisHS_DISABLED: VSync, HSync, VVLD/HS=VVLD disabled. @note The default value is VS_HS_VRDYisHS_ENABLED for analog overlay and VS_HS_VRDYisHS_DISABLED for digital overlay. */ eSyncEnable, // RMuint32 /** @li 1 enables VIP 2.0 @note The default value is 0. */ eVip20, // RMuint32 eVgaVendorRegMax}REGISTRY_VGAVENDOR_SET_ID;// SCANCONVERTER_SET uses RMuint32 = unsigned long = DWORDtypedef enum { escAccessRegister = 0, // genericReg_type (ADDR_DATA) escResetDefault, //? escBrightness, //? escContrast, //? escSaturation, //? escSharpness, //? escFlicker, //? escChromaFilter, //? escLumaFilter, //? escNtscPedestal, //? escMacrovision, // escMacrovision_type escTvStandard, //? escOutputFormat, //? escHwOutputHorzOffsShadow, //? escHwOutputVertOffsShadow, //? escTVPixels, //? escTVLines, //? escHorizontalPositionOffset, //? escVerticalPositionOffset, //? escHorizontalScaleStep, //? escVerticalScaleStep, //? escHorizontalPanPosition, //? escVerticalPanPosition, //? escZoom, //? escScanConverterMax //?}SCANCONVERTER_SET_ID;// EEPROM_SETtypedef enum { eEepromAccess = 0, // genericReg_type (ADDR_DATA) eEepromMax //?}EEPROM_SET_ID;// BOARDINFO_SETtypedef enum { ebiDeviceId = 0, // RMuint32, get only (equivalent with MpegAttrGetSubID) ebiSubId, // RMuint32, get only (equivalent with MpegAttrGetSubID) ebiBoardVersion, // RMuint32, get only ebiAPMState, // ebiAPMState_type ebiPIOAccess, // genericReg_type (ADDR_DATA). get changes PIO in input, set changes PIO in output ??? ebiHwLibVersion, // RMuint32, get only (equivalent with MpegAttrCodeVersion) ebiUcodeVersion, // RMuint32, get only ebiCommand, // ebiCommand_type, set only ebiUcode, // ebiUcode_type ebiAsynchCommand, // RMuint32, set only // - 1 for new behavior - functions can return Q_PENDING and CheckPendingCommand should be called to complete // - 0 for old behavior - no Q_PENDING return ebiBoardNameString, // get only, buffer of more than 128 TCHAR should be provided ebiLastErrorInfoString, // get only,, buffer of more than 256 TCHAR should be provided eBoardInfoMax}BOARDINFO_SET_ID;// VIDEO_SET uses u.ulData in DWORDtypedef enum { /** Scart Output ( TV output ) @li evScartOutput_COMPOSITE @li evScartOutput_RGB @li evScartOutput_DISABLE @note The default value is evScartOutput_DISABLE */ evScartOutput = 0, // evScartOutput_type /** Output Device for video display @li evOutputDevice_VGA
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -