1 // The following ifdef block is the standard way of creating macros which make exporting
2 // from a DLL simpler. All files within this DLL are compiled with the BLUEC_API_EXPORTS
3 // symbol defined on the command line. this symbol should not be defined on any project
4 // that uses this DLL. This way any other project whose source files include this file see
5 // BLUEC_API_API functions as being imported from a DLL, whereas this DLL sees symbols
6 // defined with this macro as being exported.
7 #ifdef BLUEFISH_EXPORTS
8 #define BLUE_CSDK_API __declspec(dllexport)
10 #define BLUE_CSDK_API __declspec(dllimport)
12 #include "BlueTypes.h"
13 #include "BlueDriver_p.h"
15 #define IGNORE_SYNC_WAIT_TIMEOUT_VALUE (0xFFFFFFFF)
21 //typedef enum _blue_video_engine_flags
23 // BLUE_CAPTURE_PREVIEW_ON_OUTPUT_CHANNEL_A=0x1,
24 // BLUE_CAPTURE_PREVIEW_ON_OUTPUT_CHANNEL_B=0x2,
25 // BLUE_CAPTURE_PREVIEW_ON_OUTPUT_CHANNEL_C=0x3,
26 // BLUE_CAPTURE_PREVIEW_ON_OUTPUT_CHANNEL_D=0x4
27 //}blue_video_engine_flags;
29 typedef enum _EBLUEDMA_DIRECTION
36 typedef struct _EBlueConnectorPropertySetting
38 EBlueVideoChannel channel;
39 EBlueConnectorIdentifier connector;
40 EBlueConnectorSignalDirection signaldirection;
41 EBlueConnectorProperty propType;
43 }EBlueConnectorPropertySetting;
46 typedef struct _blue_card_property
48 EBlueVideoChannel video_channel;
49 EBlueCardProperty prop;
55 BLUE_CSDK_API unsigned int blue_device_count();
56 BLUE_CSDK_API void * blue_attach_to_device(int device_id);
57 BLUE_CSDK_API BERR blue_detach_from_device(void ** device_handle);
60 //BLUE_CSDK_API BERR blue_set_video_engine( void * device_handle,
61 // EBlueVideoChannel video_channel,
62 // EEngineMode * video_engine,
63 // BLUE_UINT32 video_engine_flag);
64 BLUE_CSDK_API BERR blue_video_dma( void * device_handle,
65 EBLUEDMA_DIRECTION dma_direction,
67 BLUE_UINT32 FrameSize,
69 BLUE_UINT32 * dma_bytes_transferred,
70 BLUE_UINT32 CardFrameOffset,
76 functions used to set the card property . This includes the video property
77 and the video connection/routing property.
79 BLUE_CSDK_API BERR blue_set_video_property( void * device_handle,
80 BLUE_UINT32 prop_count,
81 blue_card_property * card_prop);
83 BLUE_CSDK_API BERR blue_get_video_property( void * device_handle,
84 BLUE_UINT32 prop_count,
85 blue_card_property * card_prop);
87 BLUE_CSDK_API BERR blue_get_connector_property(void * device_handle,
88 BLUE_UINT32 VideoChannel,
89 BLUE_UINT32 *settingsCount, // In: element count of settings array
90 // Out: if settings is non-NULL, number of valid elements
91 // Out: if settings is NULL, number of elements required
92 EBlueConnectorPropertySetting *settings // Caller allocates/frees memory
95 BLUE_CSDK_API BERR blue_set_connector_property(
97 BLUE_UINT32 settingsCount,
98 EBlueConnectorPropertySetting *settings
101 //BLUE_CSDK_API BERR blue_wait_video_interrupt(void * device_handle,
102 // EBlueVideoChannel video_channel,
103 // EUpdateMethod upd_fmt,
104 // BLUE_UINT32 field_wait_count,
105 // BLUE_UINT32 *field_count