?? rm84cmn.h
字號:
*/ eOsdHiLiWindow, // Wnd_type /** Set the position of the OSD bitmap relative to the current coordinate system. */ eOsdDestinationWindow, // Wnd_type eOsdMax} OSD_SET_ID;typedef enum { eI2cInit = 0, // I2cInit_type, set only eI2cAccess, // I2cReadWrite_type + variable size buffer // set will write I2C, get will read eI2cMax}I2C_SET_ID;// VIDEOIN_SETtypedef enum { /** eviCommand */ eviCommand = 0, // eviCommand_type /** eviParams property is applied to the hardware: - immediately when eviCommand_InitCapture property is send - at first VSync after SetProperty if decoder is in StartCapture state already The x,y,w,h, members define the captured window relative to VSync/HSync for 601 or embedded syncs for 656. In 601 mode: the beginning of a line is set by the hsync pulse; the beginning of a field/frame is set by the vsync pulse. Therefore, cropping is necessary to remove the horizontal and vertical blankings. In 656 mode: The active video is directly extracted from the data flow using the protocol embedded flags. There is no blanking to remove. x specifies how many pixels will be skipped at the beginning of each line. y specifies how many lines will be skipped at the beginning of each frame. If the content is progressive y lines will be skipped at every VSync. If the content is interlaced only y/2 lines will be skipped at every VSync(per field). w specifies the pixel width of the picture to be captured - it should be multiple of 8 for packed option and multiple of 2 for unpacked option h specifies the height of the picture (frame) to be captured. It should be even. OutputLineLength specifies the horizontal size of the image sent to DRAM - it should be smaller or equal than width w, otherwise the SetProperty will return failure. By default should be equal with w and no scaling will be used. If it is smaller then width, horizontal downscale is done by VideoIn block Ccir; // CCIR_656 or CCIR_601 ChromaDownScale; // YUV420 or YUV422 format YuvPacked; // 1 for luma & chroma captured packed InterlacedSource;// 1 if the video source is interlaced, 0 for progressive InvertField; // CCIR_NON_INVERT_FIELD or CCIR_INVERT_FIELD BitsPerClock; // 8 or 16 bits Vip20; // 1 for VIP2.0; 0 for VIP1.x HSyncPolarity; // 0 for active low; 1 for active high VSyncPolarity; // 0 for active low; 1 for active high VSyncActiveEdge; // 0 for trailing edge; 1 for leading edge Here is an example for 601 (eviHSyncPolarity active low, eviVSyncPolarity active low, eviVSyncActiveEdge leading edge). O is the origin for capture. HSync ---------+ +-----------------------------+ +-- v | v | +-+ +-+ VSync +<-+ O-------------------------------+ | | ^ | +--+ | | | | | | y | x = 108 | | v | y = 20 | | +---------------------+ ^ | w = 720 | |<-x->| | | | h = 480 | | | | | | OutputLineLength = 720 | | | | | | | | | | h | | | | | | | | | | | | | | | +---------------------+ v | | | <----------w----------> | <--+ +-------------------------------+ */ eviParams, // eviParams_type, set, get. eviMax}VIDEOIN_SET_ID;// AUDIOIN_SETtypedef enum { /** eAudioInCommand can be one of eAudioInCommand_StartCapture and eAudioInCommand_StopCapture. */ eAudioInCommand = 0, // eAudioInCommand_type /** eAudioInParams property should be called before eAudioInCommand to set the parameters of the input. For digital connection the input parameters should be equal with the parameters of the digital output connected. For analog connection the input parameters should be equal with the ADC (analog-digital converter) parameters. */ eAudioInParams, // eAudioInParams_type, set, get. eAudioInMax}AUDIOIN_SET_ID;// To get extended error information about a failed test,// use property BOARDINFO_SET, ebiLastErrorInfoString. typedef enum { /** ehwTestMpegDecoderInitialize does the minimum required to initialize testing */ ehwTestMpegDecoderInitialize = 0, /** ehwTestMpegDecoderRegisters test registers read/write */ ehwTestMpegDecoderRegisters, /** ehwTestMpegDecoderProgramMemory test internal program memory */ ehwTestMpegDecoderProgramMemory, /** ehwTestMpegDecoderDataMemory test internal data memory */ ehwTestMpegDecoderDataMemory, /** ehwTestDramSlave test entire Dram using slave channel */ ehwTestDramSlave, /** ehwTestDramMaster test entire Dram using master channel */ ehwTestDramMaster, ehwTestMax}HARDWARE_TEST_SET_ID;/*****************************************************************************//*********************** Do not define SET_IDs above this limit **************//*****************************************************************************/#ifndef KSPROPERTY_TYPE_GET#define KSPROPERTY_TYPE_GET 0x00000001#define KSPROPERTY_TYPE_SET 0x00000002#endif#define HWLIB_INTERFACE struct#define HWLIB_BEGIN_INTERFACE#define HWLIB_END_INTERFACEtypedef ULONG QIID;/************** start common defines in mpegcmn.h & rm84cmn.h ****************/#ifndef _MPEGCMN_H// MpegAttrAudioMode; Audio modes defined also in impeg32, hardware.h#define AUDIO_MODE_STEREO 0#define AUDIO_MODE_RIGHT_ONLY 1#define AUDIO_MODE_LEFT_ONLY 2#define AUDIO_MODE_MONOMIX 3// MpegAttrVideoMode flags#define MPEG_ATTRIBUTE_VIDEO_COMPONENT 0#define MPEG_ATTRIBUTE_VIDEO_PAL 1#define MPEG_ATTRIBUTE_VIDEO_NTSC 2#define MPEG_ATTRIBUTE_VIDEO_SECAM 3#define MPEG_ATTRIBUTE_VIDEO_MAC 4#define MPEG_ATTRIBUTE_VIDEO_AUTO 5// 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 0x0040// 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#define TV_DACS_ENABLE 0x0000 // default behaviour - disabled after HwReset, enabled when playing#define TV_DACS_DISABLE 0x0100 // force TvDacs disabled #define SET_ONETOONE 0x0000#define SET_SCALE 0x0004#define SET_TV_AS_SOURCE 0x0010#define SET_TV_AS_USER 0x0000#define SCART_MASK 0x0003#define SCART_DISABLE 0x0000#define SCART_COMPOSITE 0x0001#define SCART_RGB 0x0003#define VIDEOOUT_MASK 0x0021#define SET_VGA 0x0000#define SET_TV 0x0001#define SET_HDTV 0x0020#define STANDARDTV_MASK 0x010A#define SET_NTSC 0x0000#define SET_PAL 0x0002#define SET_PAL60 0x0008#define SET_PALM 0x000A#define SET_480P 0x0100 // used only for Vga scan conversion#define COMPONENT_MASK 0x02C0#define COMPOSITE 0x0000#define COMPONENT_YUV 0x0080#define COMPONENT_RGB 0x00C0#define OUTPUT_OFF 0x0040#define COMPONENT_RGB_SCART 0x0200#define AUDIO_FORMAT_MPEG1 1#define AUDIO_FORMAT_MPEG2 2#define AUDIO_FORMAT_AC3 3#define AUDIO_FORMAT_PCM 4#define AUDIO_FORMAT_DTS 5#define AUDIO_FORMAT_DVD_AUDIO 6#define AUDIO_FORMAT_REVERSE_PCM 7#define AUDIO_FORMAT_AAC 8#define VIDEO_ASPECT_RATIO_4_3 2#define VIDEO_ASPECT_RATIO_16_9 3#define MPEG_ATTRIBUTE_VIDEO_PAL 1#define MPEG_ATTRIBUTE_VIDEO_NTSC 2#define VIDEO_OUTPUT_MODE_NORMAL_OR_WIDE 0#define VIDEO_OUTPUT_MODE_PAN_SCAN 1#define VIDEO_OUTPUT_MODE_LETTERBOX 2#define VIDEO_OUTPUT_MODE_HORZCENTER 3#define VIDEO_OUTPUT_MODE_VERTCENTER 4// flags used to enable/disable the hardware audio outputs#define AUDIO_DAC_ENABLE 0x0001#define AUDIO_DAC_DISABLE 0x0000#define AUDIO_SPDIF_ENABLE 0x0002#define AUDIO_SPDIF_DISABLE 0x0000#define AUDIO_OUTPUT_STEREO 0#define AUDIO_OUTPUT_AC3DTS 1// MpegAttrCapabilities// Values must same as FMP_CAPABILITY_xxx// An analog overlay is present and a border adjustment utility is needed// in order to be able to adjust the overlay to the VGA resolution.#define MPEG_CAPABILITY_BORDER_ADJUST 0x00000001// Every key color can be independantly ajusted. This is only used when // an analog overlay is used.#define MPEG_CAPABILITY_KEYCOLOR_ADJUST 0x00000002// Brightness, contrast and saturation can be adjusted#define MPEG_CAPABILITY_BSC_ADJUST 0x00000004// The analog overlay supports auto-calibration#define MPEG_CAPABILITY_AUTO_CALIBRATE 0x00000008// Mpeg4 capability#define MPEG_CAPABILITY_MPEG4_DECODE 0x00000010// Gamma correction can be adjusted#define MPEG_CAPABILITY_GAMMA_ADJUST 0x00000020// set if analog cable is connected#define MPEG_CAPABILITY_ANALOG_CABLE_CONNECTED 0x00000040// set if digital (feature)) cable is connected#define MPEG_CAPABILITY_DIGITAL_CABLE_CONNECTED 0x00000080// The hardware can play DVD titles#define MPEG_CAPABILITY_DVD_CAN_PLAY 0x00000100//?????#define MPEG_CAPABILITY_ASPECT_RATIO 0x00000200// The video can be displayed on the VGA monitor. Note that it might// also be possible to display it on TV when MPEG_CAPABILITY_TV_OUTPUT// is set but it may not be possible at the same time. Use the flag// MPEG_CAPABILITY_VGA_AND_TV to find if this is possible.#define MPEG_CAPABILITY_VGA_WINDOW 0x00000400// Indicates that hardware decryption is supported by the hardware#define MPEG_CAPABILITY_DVD_DECRYPTION 0x00000800// Used by DVD station to know if the video source size can change// depending on the VGA alignement. This is to determine the default DVD// station window size and to prevent scaling (and therefore video// artifacts) when scale is 1:1.#define MPEG_CAPABILITY_SRC_CHANGE 0x00001000// Indicates that the hardware supports Frame Fast Forward#define MPEG_CAPABILITY_FRAME_FF 0x00002000// The video can be displayed on TV. Note that it might also be possible// to display the video on VGA when the flag MPEG_CAPABILITY_VGA_WINDOW// is set but it may not be possible at the same time. Use the flag// MPEG_CAPABILITY_VGA_AND_TV to find if this is possible.#define MPEG_CAPABILITY_TV_OUTPUT 0x00004000// Indicates that the video can be displayed both on TV and VGA. When this// flag is set, both flag MPEG_CAPABILITY_VGA_WINDOW and // MPEG_CAPABILITY_TV_OUTPUT needs to be set. This capability can change// in real time depending on the TV output format set using MpegAttrVideoTv.// Therefore, every time DVD station changes the TV output format to// PAL or NTSC with or without scale, it needs to verify this flag.#define MPEG_CAPABILITY_VGA_AND_TV 0x00008000// Indicates that the TV supports PAL 60, Note that this flag is invalid when// MPEG_CAPABILITY_TV_OUTPUT is not set. Note also that PAL60 can only be used// when source is NTSC unless MPEG_CAPABILITY_PAL_NTSC_CONVERT is set. This// capability does not concern VGA.#define MPEG_CAPABILITY_PAL60 0x00010000// Indicates th
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -