📄 rmcapture_types.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 + -