/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
36
int ipecamera_set_buffer_size(ipecamera_t *ctx, int size);
37
245 by Suren A. Chilingaryan
First stand-alone ipecamera implementation
38
15 by Suren A. Chilingaryan
Infrastructure for event API
39
#endif /* _IPECAMERA_H */