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