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

📄 rmcapture_types.h

📁 1. 8623L平台
💻 H
字号:
/* * * Copyright (c) 2001-2007 Sigma Designs, Inc.  * All Rights Reserved. Proprietary and Confidential. * *//**	@file   play_capture_common.h	@brief  header file holing various macros and defines for all play_capture_... files		@author Christian Wolff Sean.Sekwon.Choi*/#ifndef __RMCAPTURE_TYPES_H__#define __RMCAPTURE_TYPES_H__struct rmcapture_instance;// Options and parameters defining the capture setupstruct rmcapture_options {	RMuint32 STCTimerNumber;		// Video	RMbool force_TVStandard;	enum EMhwlibTVStandard TVStandard;	RMuint32 dram;  // number of the DRAM bank to use	enum EMhwlibColorSpace InputColorSpace;	enum EMhwlibColorSpace SurfaceColorSpace;	enum EMhwlibSamplingMode SamplingMode;	enum EMhwlibColorMode ColorMode;	enum EMhwlibInputColorFormat InputColorFormat;	RMuint32 InputModuleID;	enum EMhwlibDigitalTimingSignal DigitalTimingSignal;	RMbool UseVideoValid;	RMuint32 bussize;	RMbool DualEdge;	RMbool DualEdgeWidth;	RMbool DualEdgeInvert;	RMbool InvertVSync;	RMbool InvertHSync;	RMint32 shift_x;  // shifting of the capture frame on the input field	RMint32 shift_y;	RMuint32 ov_top;  // how much to add for overscan capture	RMuint32 ov_bot;	RMuint32 ov_lft;	RMuint32 ov_rgt;	struct EMhwlibAspectRatio PictureAspectRatio; 	struct EMhwlibAspectRatio PixelAspectRatio; 	RMbool DeInt;  // TRUE: allocate one extra picture buffer to perform motion-adaptive de-interlacing	RMbool UseV2Pads;	RMbool disablescaler;	struct EMhwlibPictureOverride override;	RMbool force_afd;  // TRUE: use 'afd' for the input afd	struct EMhwlibActiveFormatDescription afd;	RMbool zoom_force;	RMuint32 zoom_x;	RMuint32 zoom_y;	RMuint32 zoom_w;	RMuint32 zoom_h;	RMbool force_overscan_crop;	RMuint32 overscan_crop_amount;	RMuint32 overscan_crop;  // percentage of frame size to crop around edge for overscanned pictures	RMbool enable_i2c_cc;	RMbool enable_i2c_wss;	struct EMhwlibInputReadbackI2CCC i2c_cc;	RMbool use_gpio_fid;	RMbool invert_fid;	RMbool break_hdcp;	RMuint32 cable_eq;	RMbool follow_vfreq;	RMbool green_bg;		// VBI data	RMuint32 vbi_x;	RMuint32 vbi_y;	RMuint32 vbi_w;	RMuint32 vbi_h;	RMuint32 vbiraw_topstart;	RMuint32 vbiraw_topmask;	RMuint32 vbiraw_botstart;	RMuint32 vbiraw_botmask;	RMbool vbianc_enable;	RMuint32 vbianc_w;	RMuint32 vbianc_h;	RMuint32 vbianc_ytop;	RMuint32 vbianc_ybot;	RMuint32 vbi_buf;	RMuint32 vbi_size;	RMbool vbi_dma;		// Audio	RMuint32 AudioEngineID;	RMuint32 AudioDecoderID;	RMuint32 SampleRate;	RMbool audio_free_run;	enum AudioDecoder_Codec_type Codec;	RMuint32 SubCodec;	struct AudioDecoder_AACParameters_type AACParams;	struct AudioDecoder_DVDAParameters_type DVDAParams;	struct AudioDecoder_BSACParameters_type BSACParams;	struct AudioDecoder_Ac3Parameters_type Ac3Params;	struct AudioDecoder_DtsParameters_type DtsParams;	struct AudioDecoder_MpegParameters_type MpegParams;	struct AudioDecoder_LpcmVobParameters_type LpcmVobParams;	struct AudioDecoder_LpcmAobParameters_type LpcmAobParams;	struct AudioDecoder_LpcmBDParameters_type LpcmBDParams;	struct AudioDecoder_PcmCdaParameters_type PcmCdaParams;	struct AudioDecoder_PCMXParameters_type PCMXParams;	struct AudioDecoder_WMAParameters_type	WmaParams;	struct AudioDecoder_TToneParameters_type TToneParams; 	RMuint64 AudioGuardTime;	RMuint32 CaptureSource;	RMuint32 CaptureBitstream;	RMuint32 CaptureType;	RMuint32 CaptureDelay;	RMbool ExternalClk;	RMuint32 ExternalClkFreq; 	RMbool AudioIn; 	RMbool AudioInTandem; 	RMuint32 AudioInAlign; 	RMbool AudioInLSBfirst; 	RMbool AudioInFrameInvert; 	RMbool AudioInSClkNegEdge; 	enum AudioOutputChannels_type OutputChannels;	RMbool OutputLfe;	RMbool SignedPCM;	RMbool auto_detect_codec;	enum MClkFactor mclk;	RMbool lpcm_24bit;};// Type of capture input (to external chip)enum cap_access_type {	cap_access_type_none = 0, 		cap_access_type_hdmi, 	cap_access_type_analog,		cap_access_type_last};// Enumeration of known external capture chipsenum cap_chip {	cap_chip_none = 0, 		cap_chip_SiI9031, 	cap_chip_AD9380, 	cap_chip_AD9883,	cap_chip_ADV7402, 	cap_chip_SAA7119, 	cap_chip_WM8775, 	cap_chip_MSP34x5, 	cap_chip_TW9919,		cap_chip_last};enum cap_board {	cap_board_none = 0, 		cap_board_kissjamoplasma, 	cap_board_sigma775avinput, 	cap_board_sigma871e1odyssey, 	cap_board_sigma760e1dtv8620, 	cap_board_sigma760e2dtv8620, 	cap_board_sigma844e1dtv8624, 	cap_board_sigma904e1dtv8634,		cap_board_last};/*enum cap_input {	cap_input_none = 0, 		cap_input_tuner1,	cap_input_tuner2,	cap_input_cvbs1,	cap_input_cvbs2,	cap_input_svideo1,	cap_input_svideo2,	cap_input_component1,	cap_input_component2,	cap_input_scart1,	cap_input_scart2,	cap_input_vga, 	cap_input_dvi, 	cap_input_hdmi, 		cap_input_last};*//*struct cap_board_config{	RMuint32 APIVersion;	RMuint32 XtalClock;		enum cap_board board;	struct cap_access chip_hdmi_config;	struct cap_access chip_analog_video_config;	struct cap_access chip_analog_audio_config;	struct cap_access chip_analog_audio_config2;};*/enum cap_video_input {	cap_video_input_none = 0, 		cap_video_input_tuner,	cap_video_input_cvbs,	cap_video_input_svideo,	cap_video_input_component,	cap_video_input_scart,	cap_video_input_vga, 	cap_video_input_dvi, 	cap_video_input_hdmi,		cap_video_input_last};enum cap_audio_input {	cap_audio_input_none = 0, 		cap_audio_input_tuner,	cap_audio_input_stereo,	cap_audio_input_spdif,	cap_audio_input_hdmi,		cap_audio_input_last};#if 0/* struct of all necessary information to access a certain input on a certain capture chip */struct cap_access {	RMuint32 APIVersion;                         // set to 1	enum cap_access_type access_type;            // digital or analog	enum cap_chip chip;                          // capture chip specification	enum cap_video_input input;                        // input type	RMuint32 input_number;                       // arbitrary number to select one specific input of the specified type	RMuint32 I2CModuleID;                        // emhwlib Module ID of the I2C bus access	struct EMhwlibI2CDeviceParameter I2CDevice;  // pI2CDevice.DevAddr contains the primaty I2C device address of the chip, the other members need to match the board specific environment	RMuint32 XtalClock;};#endifstruct cap_update {	RMuint32 APIVersion;  // set to 1		// Application process updates		RMbool VideoUpdate;  // video mode needs to be updated by main app (detect and setup cycle)	RMbool VideoRestart; // video capture process needs to be restarted by main app	RMbool VideoOff;     // video capture process needs to be stopped	RMbool AudioUpdate;  // audio needs to be updated by main app (detect and setup cycle)	RMbool AudioRestart; // audio pass through needs to be restarted by main app	RMbool AudioOff;     // audio pass through needs to be stopped		// Input (DispVideoInput or DispGraphicInput) settings		RMbool TVStandardValid;  // TVStandard is valid	RMbool TVStandardUpdate; // TVStandard needs to be updated on current emhwlib input module	enum EMhwlibTVStandard TVStandard;		RMbool TVFormatValid;  // TVFormat is valid	RMbool TVFormatUpdate; // TVFormat needs to be updated on current emhwlib input module	struct EMhwlibGenericTVFormat TVFormat;		RMbool PictureAspectRatioValid;  // PictureAspectRatio is valid	RMbool PictureAspectRatioUpdate; // PictureAspectRatio needs to be updated on current emhwlib input module	struct EMhwlibAspectRatio PictureAspectRatio;		RMbool PixelAspectRatioValid;  // PixelAspectRatio is valid	RMbool PixelAspectRatioUpdate; // PixelAspectRatio needs to be updated on current emhwlib input module	struct EMhwlibAspectRatio PixelAspectRatio;		RMbool InputColorSpaceValid;  // InputColorSpace is valid	RMbool InputColorSpaceUpdate; // InputColorSpace needs to be updated on current emhwlib input module	enum EMhwlibColorSpace InputColorSpace;		RMbool InputColorFormatValid;  // InputColorFormat is valid	RMbool InputColorFormatUpdate; // InputColorFormat needs to be updated on current emhwlib input module	enum EMhwlibInputColorFormat InputColorFormat;		// Scaler (DispXXXScaler) settings		RMbool FlushScaler;  // scaler needs to be flushed		RMbool ZoomValid;  // Zoom values are valid	RMbool ZoomUpdate; // Zoom needs to be updated on current emhwlib scaler module	RMuint32 ZoomX;	RMuint32 ZoomY;	RMuint32 ZoomW;	RMuint32 ZoomH;		RMbool ContentAFDValid;  // ContentAFD is valid	RMbool ContentAFDUpdate; // ContentAFD needs to be updated on current emhwlib scaler module	struct EMhwlibActiveFormatDescription ContentAFD;  // ContentAFD.FrameAspectRatio should match PictureAspectRatio		RMbool ContentBarInfoValid;  // ContentBarInfo is valid	RMbool ContentBarInfoUpdate; // ContentBarInfo needs to be updated on current emhwlib scaler module	struct EMhwlibActiveFormatBarInfo ContentBarInfo;		RMbool ContentScanInfoValid;  // ContentScanInfo is valid	RMbool ContentScanInfoUpdate; // ContentScanInfo needs to be updated on current emhwlib scaler module	enum EMhwlibScanInfo ContentScanInfo;		// Mixer (DispXXXMixer) settings		RMbool MixerColorSpaceValid;  // MixerColorSpace is valid	RMbool MixerColorSpaceUpdate; // MixerColorSpace needs to be updated on current emhwlib mixer module	enum EMhwlibColorSpace MixerColorSpace;		// Output (DispXXXOut) settings		RMbool OutputTVStandardValid;  // TVStandard is valid	RMbool OutputTVStandardUpdate; // TVStandard needs to be updated on current emhwlib input module	enum EMhwlibTVStandard OutputTVStandard;		RMbool OutputAFDValid;  // AFD is valid	RMbool OutputAFDUpdate; // AFD needs to be updated on current emhwlib input module	struct EMhwlibActiveFormatDescription OutputAFD;  // AFD.FrameAspectRatio should match PictureAspectRatio	// Video Input to Capture Chip Standard Selection. detected by capture chip, but can be overriden by user	RMbool InputTVStandardValid;  // TVStandard is valid	RMbool InputTVStandardUpdate; // TVStandard needs to be updated on current emhwlib input module	enum EMhwlibTVStandard InputTVStandard;			// Audio Settings	RMbool AudioSampleRateValid;	RMbool AudioSampleRateUpdate;	RMuint32 AudioSampleRate;		RMbool AudioMclkFactorValid;	RMbool AudioMclkFactorUpdate;	enum MClkFactor AudioMclkFactor;		// capture chip specific information	RMbool SAA7119CG2Valid;	RMbool SAA7119CG2Update;	RMbool SAA7119UseCG2;	};typedef RMstatus (*rmcapture_callback_func)(void *pContext, struct cap_update *pUpdate);enum audio_state {	audio_state_off,     // no audio present	audio_state_request, // request audio, wait 200 mSec for stable clock	audio_state_on       // audio is running};#endif // __RMCAPTURE_TYPES_H__

⌨️ 快捷键说明

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