/alps/ipecamera

To get this branch, use:
bzr branch http://darksoft.org/webbzr/alps/ipecamera
15 by Suren A. Chilingaryan
Infrastructure for event API
1
#ifndef _IPECAMERA_H
2
#define _IPECAMERA_H
3
169 by Suren A. Chilingaryan
Pass through the ipecamera metadata
4
#include <ufodecode.h>
5
17 by Suren A. Chilingaryan
Allow access to implementation context and provide call to set size of internal buffer for IPECamera
6
typedef struct ipecamera_s ipecamera_t;
7
16 by Suren A. Chilingaryan
Prototype of IPECamera image protocol
8
typedef  struct {
126 by Suren A. Chilingaryan
multithread preprocessing of ipecamera frames and code reorganization
9
    unsigned int bpp;			/*<< Bits per pixel (8, 16, or 32) as returned by IPECAMERA_IMAGE_DATA */
10
    unsigned int real_bpp;		/*<< Bits per pixel as returned by camera and IPECAMERA_PACKED_IMAGE */
11
    unsigned int width, height;
16 by Suren A. Chilingaryan
Prototype of IPECamera image protocol
12
} ipecamera_image_dimensions_t;
13
14
typedef enum {
123 by Suren A. Chilingaryan
Parse required event & data_type
15
    IPECAMERA_IMAGE_DATA = 0,
16
    IPECAMERA_RAW_DATA = 1,
16 by Suren A. Chilingaryan
Prototype of IPECamera image protocol
17
    IPECAMERA_DIMENSIONS = 0x8000,
18
    IPECAMERA_IMAGE_REGION = 0x8010,
19
    IPECAMERA_PACKED_IMAGE = 0x8020,
20
    IPECAMERA_PACKED_LINE = 0x8021,
21
    IPECAMERA_PACKED_PAYLOAD = 0x8022,
22
    IPECAMERA_CHANGE_MASK = 0x8030
23
} ipecamera_data_type_t;
24
25
typedef uint16_t ipecamera_change_mask_t;
26
typedef uint16_t ipecamera_pixel_t;
15 by Suren A. Chilingaryan
Infrastructure for event API
27
119 by Suren A. Chilingaryan
Initial support of event streaming in cli
28
typedef struct {
29
    pcilib_event_info_t info;
169 by Suren A. Chilingaryan
Pass through the ipecamera metadata
30
    UfoDecoderMeta meta;	/**< Frame metadata declared in ufodecode.h */
126 by Suren A. Chilingaryan
multithread preprocessing of ipecamera frames and code reorganization
31
    int image_ready;		/**< Indicates if image data is parsed */
32
    int image_broken;		/**< Unlike the info.flags this is bound to the reconstructed image (i.e. is not updated on rawdata overwrite) */
119 by Suren A. Chilingaryan
Initial support of event streaming in cli
33
    size_t raw_size;		/**< Indicates the actual size of raw data */
34
} ipecamera_event_info_t;
17 by Suren A. Chilingaryan
Allow access to implementation context and provide call to set size of internal buffer for IPECamera
35
275 by Suren A. Chilingaryan
Fix some warnings and add debugging information into the build
36
#ifdef __cplusplus
37
extern "C" {
38
#endif
39
17 by Suren A. Chilingaryan
Allow access to implementation context and provide call to set size of internal buffer for IPECamera
40
int ipecamera_set_buffer_size(ipecamera_t *ctx, int size);
283 by Suren A. Chilingaryan
Added ipecamera_get_last_event_id() to public API
41
pcilib_event_id_t ipecamera_get_last_event_id(ipecamera_t *ctx);
17 by Suren A. Chilingaryan
Allow access to implementation context and provide call to set size of internal buffer for IPECamera
42
275 by Suren A. Chilingaryan
Fix some warnings and add debugging information into the build
43
#ifdef __cplusplus
44
}
45
#endif
46
245 by Suren A. Chilingaryan
First stand-alone ipecamera implementation
47
15 by Suren A. Chilingaryan
Infrastructure for event API
48
#endif /* _IPECAMERA_H */