4 #include "BlueVelvet.h"
11 unsigned long uniqueSteps;
15 class BLUEFISH_API CBlueVelvet4: virtual public CBlueVelvet
18 // Functions for new Analog Card Property
19 virtual BErr SetAnalogCardProperty(int propType,VARIANT & propValue)=0;
20 virtual BErr GetAnalogCardProperty(int propType,AnalogPropertyValue & propValue)=0;
21 virtual BErr GetAnalogCardProperty(int propType,VARIANT & propValue)=0;
23 virtual BErr has_analog_connector(int DeviceId) = 0;
24 virtual int has_svideo_input(int DeviceId) = 0;
25 virtual int has_component_input(int DeviceId)=0;
26 virtual int has_composite_input(int DeviceId)=0;
27 virtual int has_svideo_output(int DeviceId)=0;
28 virtual int has_component_output(int DeviceId)=0;
29 virtual int has_analog_rgb_output(int DeviceId)=0;
30 virtual int has_composite_output(int DeviceId)=0;
32 // Functions for new Audio Input architecture
33 // Functions for Future use not implemented
34 virtual BErr wait_audio_input_interrupt(unsigned long & noQueuedSample,unsigned long & noFreeSample) = 0;
35 virtual BErr InitAudioCaptureMode()=0;
36 virtual BErr StartAudioCapture(int syncCount)=0;
37 virtual BErr StopAudioCapture()=0;
38 virtual BErr ReadAudioSample(int nSampleType,void * pBuffer,long nNoSample,int bFlag,long nNoSamplesWritten)=0;
39 virtual BErr EndAudioCaptureMode()=0;
42 virtual BErr SetCardProperty(int propType,VARIANT & Value)=0;
43 virtual BErr QueryCardProperty(int propType,VARIANT & Value)=0;
45 // RS422 Serial Port Functions
46 // Functions for Future use not implemented
47 virtual BErr Wait_For_SerialPort_InputData(unsigned long bFlag,unsigned long & NoDataAvailable)=0;
48 virtual int IsSerialPort_OutputBuffer_Full(unsigned long bFlag)=0;
49 virtual int Read_From_SerialPort(unsigned long bFlag,unsigned char * pBuffer,unsigned long ReadLength)=0;
50 virtual int Write_To_SerialPort(unsigned long bFlag,unsigned char * pBuffer,unsigned long WriteLength)=0;
57 BLUEFISH_API CBlueVelvet4* BlueVelvetFactory4();
58 BLUEFISH_API void BlueVelvetDestroy(CBlueVelvet4* pObj);
59 // this would give you number of VANC/VBI line
60 BLUEFISH_API unsigned int BlueVelvetVANCLineCount(unsigned int CardType,unsigned long VidFmt,unsigned long FrameType);
62 // this would give you golden value for the VANC frame size
63 BLUEFISH_API unsigned int BlueVelvetVANCGoldenValue( unsigned int CardType,
66 unsigned long FrameType);
68 // this would give you number of bytes contained in a VANC line
69 BLUEFISH_API unsigned int BlueVelvetVANCLineBytes( unsigned int CardType,
71 unsigned long MemFmt);
73 BLUEFISH_API unsigned int BlueVelvetBytesForGroupPixels(unsigned long MemFmt,unsigned int nPixelCount);
74 BLUEFISH_API BErr SetVideo_MetaDataInfo(CBlueVelvet4 * pSdk,LPOVERLAPPED pOverLap,ULONG FrameId,ULONG prop,VARIANT value);
76 BLUEFISH_API BErr GetVideo_CaptureFrameInfo(CBlueVelvet4 * pSdk,LPOVERLAPPED pOverlap,struct blue_videoframe_info & video_capture_frame,int CompostLater);
77 BLUEFISH_API BErr GetVideo_CaptureFrameInfoEx(CBlueVelvet4 * pSdk,LPOVERLAPPED pOverlap,struct blue_videoframe_info_ex & video_capture_frame,int CompostLater,unsigned int *capture_fifo_size);
79 BLUEFISH_API int GetHancQueuesInfo(CBlueVelvet4 * pSdk, LPOVERLAPPED pOverlap, UINT32 video_channel, UINT32* pFreeBuffers, UINT32* pMaximumBuffers, UINT32* pStatus);
80 BLUEFISH_API int GetHancBuffer(CBlueVelvet4 * pSdk,LPOVERLAPPED pOverlap,UINT32 video_channel);
81 BLUEFISH_API BERR PutHancBuffer(CBlueVelvet4 * pSdk,LPOVERLAPPED pOverlap,int hanc_buffer_id,UINT32 video_channel);
82 BLUEFISH_API BERR HancInputFifoControl(CBlueVelvet4 * pSdk,LPOVERLAPPED pOverlap,UINT32 video_channel, UINT32 control);
83 BLUEFISH_API BERR HancOutputFifoControl(CBlueVelvet4 * pSdk,LPOVERLAPPED pOverlap,UINT32 video_channel, UINT32 control);
84 BLUEFISH_API int GetHancInputBuffer(CBlueVelvet4* pSdk,LPOVERLAPPED pOverlap,UINT32 video_channel,UINT32* signal_type, UINT32* field_count);
85 BLUEFISH_API BLUE_UINT32 emb_audio_decoder( BLUE_UINT32 * src_hanc_buffer,
87 BLUE_UINT32 req_audio_sample_count,
88 BLUE_UINT32 required_audio_channels,
89 BLUE_UINT32 sample_type);
90 BLUEFISH_API BERR blue_wait_video_sync_async(CBlueVelvet4 * pSdk,
91 LPOVERLAPPED pOverlap,
92 blue_video_sync_struct * sync_struct);
93 BLUEFISH_API BERR blue_dma_read_async( CBlueVelvet4 * pSdk,
94 LPOVERLAPPED pOverlap,
95 struct blue_dma_request_struct *pUserDmaRequest);
98 BLUEFISH_API BERR blue_load_1D_lookup_table(CBlueVelvet4 * pSdk, struct blue_1d_lookup_table_struct * lut);
100 BLUEFISH_API BERR blue_control_video_scaler(CBlueVelvet4 * pSdk, unsigned int nScalerId,
102 float *pSrcVideoHeight,
103 float *pSrcVideoWidth,
104 float *pSrcVideoYPos,
105 float *pSrcVideoXPos,
106 float *pDestVideoHeight,
107 float *pDestVideoWidth,
108 float *pDestVideoYPos,
109 float *pDestVideoXPos);
111 BLUEFISH_API BERR blue_Epoch_GetTimecodes(CBlueVelvet4 * pSdk, UINT32 VideoChannel, UINT64* pArray, UINT32* FieldCount);
113 BLUEFISH_API unsigned int count_scaler_video_mode(CBlueVelvet4 * pSdk,
115 unsigned int video_channel,
116 unsigned int video_mode);
117 BLUEFISH_API EVideoMode enum_scaler_video_mode(CBlueVelvet4 * pSdk,
119 unsigned int video_channel,
120 unsigned int video_mode,
122 BLUEFISH_API BERR blue_video_scaler_filter_coefficent( CBlueVelvet4 * pSdk,
123 unsigned int nScalerId,
125 unsigned int nFilterType,
126 float *pCoefficentWeightArray,
127 unsigned int nArrayElementCount
129 BLUEFISH_API BERR blue_audioplayback_pause(CBlueVelvet4 * pSdk);
130 BLUEFISH_API BERR blue_audioplayback_resume(CBlueVelvet4 * pSdk, int syncCount);
131 BLUEFISH_API BERR GetHancQueuesInfoEx(CBlueVelvet4 * pSdk,
132 LPOVERLAPPED pOverlap,
133 UINT32 video_channel,
134 UINT32* pFreeBuffers,
135 UINT32* pMaximumBuffers,
137 UINT32 * pSamplesUsed,
138 UINT64 *pStartHancFifoTimeStamp,
139 UINT64 *pVideoSyncTimeStamp);
142 BLUEFISH_API BERR blue_color_matrix(CBlueVelvet4 * pSdk,bool bGetValue,blue_color_matrix_struct * color_matrix_ptr);
146 #endif //_BLUEVELVET4_H