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

📄 rm84cmn.h

📁 神龙卡的linux sdk RMF-1.6.88.0.tar.gz
💻 H
📖 第 1 页 / 共 4 页
字号:
	 - fixed VOP time increment resolution if the playback has forced rate, else	 - VOP time increment resolution,	HwLib default 30.	*/	etimVOPTimeIncrRes, // DWORD, set, get	/**     etimVideoCTSTimeScale - only for Mpeg4.	It should be set by mp4 parser.	HwLib default 1000.	*/	etimVideoCTSTimeScale, // DWORD, set, get	/**     etimAudioCTSTimeScale - only for Mpeg4.	It should be set by mp4 parser.	HwLib default 1000.	*/	etimAudioCTSTimeScale, // DWORD, set, get	/** 	    Returns the timestamp of the last displayed video frame.	*/	etimVideoFrameDisplayedTime, // etimSystemTimeClock_type, get	etimMax}TIME_SET_ID;// SUBPICTURE_SETtypedef enum {	/**	   RMuint32.	   This represents what will be set in the control register of the	   SubPicture block of the chip. This register is named SP_CTRL.	   For reference, here is its content:	   15:9 --> Reserved.	   8    --> Button Enable (Enables Highlight).	   7    --> Field Enable (1: top, 0: Bottom) - microcode use	   6    --> Field Alternate (1: Alternate, 0:Same) - microcode use	   5    --> Vertical Downsampling Enable - microcode use	   4    --> Horizontal Downsampling Enable - microcode use	   3    --> Vertical Upsampling Enable - microcode use	   2    --> Horizontal Upsampling Enable - microcode use	   1    --> SubPicture Enable.	   0    --> Reset - microcode use	   The user can change through HwLib only bits 8 and 1 to enable/disable	   the subpicture and the hilites = buttons.	 */	eSubpictureCmd,	/**	   An array of 16*4 bytes layed out as:	   RYUV RYUV RYUV ... RYUV	   Where each letter represents one byte.	   R means reserved.	   Y is the Y color component.	   U is the U color component.	   V is the V color component.	 */	eSubpictureUpdatePalette, 	/**	   a eSubpictureUpdateButton_type	 */	eSubpictureUpdateButton,	eSubpictureMax}SUBPICTURE_SET_ID;// VIDEO_DECODER_SET uses RMuint32 = unsigned long = DWORDtypedef enum {	evdAccessRegister = 0, // genericReg_type (ADDR_DATA)	evdTvStandard,	evdAudioClock,	evdInputSource,	evdMax}VIDEO_DECODER_SET_ID;// MPEG_ENCODER_SETtypedef enum {	/**	   genericReg_type	 */	emeAccessRegister = 0,  // genericReg_type (ADDR_DATA)	/**	   emeXferUcodeParameters_type	 */	emeXferUcodeParameters, // emeXferUcodeParameters_type	emeMax}MPEG_ENCODER_SET_ID;// DVI_TRANSMITTER_SETtypedef enum {	edtAccessRegister = 0, // genericReg_type (ADDR_DATA)	edtMax}DVI_TRANSMITTER_SET_ID;// DECODER_SET uses DWORDtypedef enum {	edecAudioInOutConfig = 0,	// EM847xAudioInOutConfigEnum defined in qhwlib.h	edecAudioDacBitsPerSample,	// RMuint32: 16 or 24 bits 	edecVideoStd,				// RMuint32: 0 for Mpeg1/2, 1 for Mpeg4	edecOsdFlicker,				// RMuint32: 0 ... 15 ( 0 = flicker disabled)	/*The register to control the PCI burst length is at address 0x1FEC:			bit[2:0] min	max			000		 4		 4			001		 4		 8			010		 8		 8			011		 4		16			100		 8		16			101		16		16*/	edecPciBurst,				//	edecForceFixedVOPRate,		// edecForceFixedVOPRate_type	edecAccessRegister,			// genericReg_type (ADDR_DATA)	edecCSSChlg,				//? ???, get only.	edecCSSKey1,				//? ???, set only.	edecCSSChlg2,				//? ???, set only.	edecCSSKey2,				//? ???, get only.	edecCSSDiscKey,				//? ???, set only.	edecCSSTitleKey,			//? ???, set only. 	edecMax}DECODER_SET_ID;// TVENCODER_SET uses DWORDtypedef enum {	etvNtscPedestal = 0,	// etvNtscPedestal_type	etvLumaFilter,			// etvLumaFilter_type	etvChromaFilter,		// etvChromaFilter_type	etvColorBars,			// etvColorBars_type	etvMax					// }TVENCODER_SET_ID;// TVTUNER_SETtypedef enum {       eTvTunerChannel = 0,      // uses struct eTvTunerChannel_type       eTvTunerMax               //? ??? }TVTUNER_SET_ID;typedef enum {	/**	   Set OSD to On, Off or Flush its buffer.	 */	eOsdCommand,            // edecOsdCommand_type	/**	   Set the OSD Hilight window. The window coordinates	   are relative to the OSD bitmap.	   In the highlight window, if the OSD is stored in 2,	   4, or 7 BPP mode, the colors are looked up inthe 	   upper half of the CLUT (Color LookUp Table).	   ie: in 2bpp mode, the color 0 for highlight	   will be looked up in index 4 of the CLUT.	      	 */	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 = 0,         // see eviCommand_type    // values set by next properties (or their defaults) are applied to hardware:	//   - immediately when InitCapture property is set	//   - at first VSync after SetProperty - in StartCapture state only	eviCcir,                // CCIR_656 or CCIR_601	eviChromaDownScale,     // 1 for YUV420, 0 for original YUV422 format	eviYuvPacked,           // 1 for luma & chroma captured packed	eviInterlacedSource,    // 1 if the video source is interlaced, 0 for progressive	eviInvertField,			// CCIR_NON_INVERT_FIELD or CCIR_INVERT_FIELD	eviBitsPerClock,        // 8 or 16 bits	eviCaptureParams,         // defines the captured window relative to VSync/HSync       // for 601 or embedded syncs for 656       // 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 field / frame.       // 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.       // 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 to be captured - it should be even       // OutputLineLength specifies the horizontal size of the image sent to DRAM - it should	   //    be small or equal than width w. By default should be equal with w. If it is less	   //    then width, the horizontal downscale will be done by VideoIn block	eviVip20,				// 1 for VIP2.0; 0 for VIP1.x	eviHSyncPolarity,		// 0 for active low; 1 for active high	eviVSyncPolarity,		// 0 for active low; 1 for active high	eviVSyncActiveEdge,		// 0 for trailing edge; 1 for leading edge	eviMax}VIDEOIN_SET_ID;//	To get extended error information about a failed test,//  use property BOARDINFO_SET, ebiLastErrorInfoString. typedef enum {	ehwTestMpegDecoderInitialize = 0,// minimum required for init testing	ehwTestMpegDecoderRegisters,     // test some registers	ehwTestMpegDecoderProgramMemory, // test internal program memory	ehwTestMpegDecoderDataMemory,    // test internal data memory	ehwTestDramSlave,                // test entire Dram using slave channel	ehwTestDramMaster,               // test entire Dram using master channel	ehwTestMax}HARDWARE_TEST_SET_ID;/************************************************************************************//************************************************************************************//*********************** Possible values ********************************************//*********************** Do not define SET_IDs above this limit *********************//************************************************************************************/#ifndef SCART_MASK/****************************** HACK *******************************************/ // (hack) we have to link mpegcmn.h to here.#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#endif // SCART_MASK// APS= analogue protection system= bit1,0= pseudo sync pulse, inverted split color burst#define MACROVISION_APS_MASK	0x03#define MACROVISION_APS_OFF		0x00#define MACROVISION_APS_1		0x01#define MACROVISION_APS_2		0x02#define MACROVISION_APS_3		0x03// CGMS= copy generation management system= bit3,2= copyright, copy generation#define MACROVISION_CGMS_MASK	0x0C#define CGMS_NO_RESTRICTION		0x00#define CGMS_RESERVED			0x04#define CGMS_ONE_GENERATION		0x08#define CGMS_NO_COPY			0x0C#define CCIR_656				0x0001#define CCIR_601				0x0000// InvertField#define CCIR_NON_INVERT_FIELD	0x0000#define CCIR_INVERT_FIELD		0x0001// SyncEnable#define VS_HS_VRDYisHS_DISABLED						0x0000#define VS_HS_VRDYisHS_ENABLED						0x0001#define VS_ENABLED_HS_DISABLED_VRDYisVRDY_ENABLED	0x0002#define BTN_ENABLE 0x0100#define SP_ENABLE 0x0002/****************************** HACK *******************************************/// For Xcard the user should select one of://		- evScartOutput_COMPOSITE or //		- evScartOutput_RGB.// The Xcard scart output is enabled only if both next conditions are met://   - evTvOutputFormat is set to evTvOutputFormat_COMPONENT_RGB_SCART//	 - evOutputDevice is set to evOutputDevice_TV// For NE2000TV card the user should select one of://		-  evScartOutput_DISABLE (scart output is disabled) or//		- any of evScartOutput_COMPOSITE or evScartOutput_RGB (scart output is enabled). typedef enum {	evScartOutput_COMPOSITE	= SCART_COMPOSITE,	evScartOutput_RGB       = SCART_RGB,	evScartOutput_DISABLE   = SCART_DISABLE} evScartOutput_type;typedef enum {	evScartAspectRatio_Auto = 0,	evScartAspectRatio_4x3,	evScartAspectRatio_16x9,} evScartAspectRatio_type;typedef enum {	evOutputDevice_VGA  = SET_VGA,	evOutputDevice_TV   = SET_TV,	evOutputDevice_HDTV = SET_HDTV,	evOutputDevice_DigOvOnly = 0x0021} evOutputDevice_type;typedef enum {	evTvStandard_NTSC  = SET_NTSC,	evTvStandard_PAL   = SET_PAL,	evTvStandard_PAL60 = SET_PAL60,	evTvStandard_PALM  = SET_PALM,	evTvStandard_SECAM = 39823, // only supported by SAA7114.} evTvStandard_type;typedef enum {	evTvOutputFormat_COMPOSITE           = COMPOSITE,	evTvOutputFormat_COMPONENT_YUV       = COMPONENT_YUV,	evTvOutputFormat_COMPONENT_RGB       = COMPONENT_RGB,	evTvOutputFormat_COMPONENT_RGB_SCART = COMPONENT_RGB_SCART,	evTvOutputFormat_OUTPUT_OFF          = OUTPUT_OFF} evTvOutputFormat_type;typedef enum{	evInAspectRatio_4x3  = VIDEO_ASPECT_RATIO_4_3,	evInAspectRatio_16x9 = VIDEO_ASPECT_RATIO_16_9} evInAspectRatio_type;typedef enum{	evOutDisplayOption_Normal               = VIDEO_OUTPUT_MODE_NORMAL_OR_WIDE,	evOutDisplayOption_16x9to4x3_PanScan    = VIDEO_OUTPUT_MODE_PAN_SCAN,	evOutDisplayOption_16x9to4x3_LetterBox  = VIDEO_OUTPUT_MODE_LETTERBOX,	evOutDisplayOption_4x3to16x9_HorzCenter = VIDEO_OUTPUT_MODE_HORZCENTER,	evOutDisplayOption_4x3to16x9_VertCenter = VIDEO_OUTPUT_MODE_VERTCENTER} evOutDisplayOption_type;typedef enum{	evInStandard_NTSC = MPEG_ATTRIBUTE_VIDEO_NTSC,	evInStandard_PAL  = MPEG_ATTRIBUTE_VIDEO_PAL} evInStandard_type;typedef DWORD evSpeed_type;  // see cqsrbrd.c for peculiar values to set here.		                             // 1 to 255 = slow speed (from slowest to normal)                             // 0 and 256 = normal speed                             // > 257 = fast speed (from normal to fastest)typedef enum{	// depending on wDisplayType from evCaptureParams_type the data	// returned in user buffer is:	// - 420 format = Y buffer (WxH size), followed by UV buffer(WxH/2)	// - 422 format = Y buffer (WxH size), followed by UV buffer(WxH)	YUV_FRAME = 0,      // frame, weaved for interlaced content	YUV_TOP_FIELD,      // top field for interlaced content.						// odd lines for progressive content	YUV_BOTTOM_FIELD,   // bottom field for interlaced content.						// even lines for progressive content	// BMP formats return buffer with RGB data in bitmap format	BGR_24BITS_BMP,         // frame, weaved for interlaced content	PALETTE_INDEX_BMP       // frame, weaved for interlaced content} evCaptureFormat_type;typedef struct{	WORD wWidth;			// picture width in pixels	WORD wHeight;			// height of frame or field in lines	WORD wPictureType;		// 0 for frame, 1 for field	WORD wDisplayType;		// 1 for YUV420, 0 for original YUV422 format	DWORD dwBufferSize;		// size of the buffer to receive the YUV info corresponding to CaptureFormat already set} evCaptureParams_type;typedef enum{	YUV_420_UNPACKED = 0,	YUV_422_UNPACKED,} evYUVDataFormat_type;typedef struct{	WORD wWidth;            // Picture width in pixels	WORD wHeight;           // Picture height in lines	evYUVDataFormat_type YUVFormat; // evYUVDataFormat_type} evYUVWriteParams_type;typedef struct{	DWORD dwVOBUBufferSize;       // approximate size for VOBU	ULONGLONG dwlVOBUStartTime;	  // StartPts 90k pts unit

⌨️ 快捷键说明

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