/alps/ipecamera

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/ipecamera

« back to all changes in this revision

Viewing changes to pcilib.h

  • Committer: Suren A. Chilingaryan
  • Date: 2011-12-12 04:45:35 UTC
  • Revision ID: csa@dside.dyndns.org-20111212044535-6no1q7g230i8uvlv
multithread preprocessing of ipecamera frames and code reorganization

Show diffs side-by-side

added added

removed removed

Lines of Context:
82
82
    PCILIB_STREAMING_REQ_FRAGMENT = 5,  /**< only fragment of a packet is read, wait for next fragment and fail if no data during DMA timeout */
83
83
    PCILIB_STREAMING_REQ_PACKET = 6,    /**< wait for next packet and fail if no data during the specified timeout */
84
84
    PCILIB_STREAMING_TIMEOUT_MASK = 3   /**< mask specifying all timeout modes */
85
 
} pcilib_streaming_action;
 
85
} pcilib_streaming_action_t;
86
86
 
87
87
 
88
88
typedef enum {
89
89
    PCILIB_EVENT_FLAGS_DEFAULT = 0,
90
90
    PCILIB_EVENT_FLAG_RAW_DATA_ONLY = 1,        /**< Do not parse data, just read raw and pass it to rawdata callback */
91
91
    PCILIB_EVENT_FLAG_STOP_ONLY = 1,            /**< Do not cleanup, just stop acquiring new frames, the cleanup should be requested afterwards */
92
 
    PCILIB_EVENT_FLAG_EOF = 2                   /**< Indicates that it is the last part of the frame (not required) */
 
92
    PCILIB_EVENT_FLAG_EOF = 2,                  /**< Indicates that it is the last part of the frame (not required) */
 
93
    PCILIB_EVENT_FLAG_PREPROCESS = 4            /**< Enables preprocessing of the raw data (decoding frames, etc.) */
93
94
} pcilib_event_flags_t;
94
95
 
95
96
typedef enum {
333
334
 
334
335
int pcilib_start(pcilib_t *ctx, pcilib_event_t event_mask, pcilib_event_flags_t flags);
335
336
int pcilib_stop(pcilib_t *ctx, pcilib_event_flags_t flags);
 
337
 
336
338
int pcilib_stream(pcilib_t *ctx, pcilib_event_callback_t callback, void *user);
 
339
int pcilib_get_next_event(pcilib_t *ctx, pcilib_timeout_t timeout, pcilib_event_id_t *evid, size_t info_size, pcilib_event_info_t *info);
337
340
 
338
 
int pcilib_get_next_event(pcilib_t *ctx, pcilib_timeout_t timeout, pcilib_event_id_t *evid, pcilib_event_info_t **info);
339
341
int pcilib_copy_data(pcilib_t *ctx, pcilib_event_id_t event_id, pcilib_event_data_type_t data_type, size_t size, void *buf, size_t *retsize);
340
342
int pcilib_copy_data_with_argument(pcilib_t *ctx, pcilib_event_id_t event_id, pcilib_event_data_type_t data_type, size_t arg_size, void *arg, size_t size, void *buf, size_t *retsize);
341
 
void *pcilib_get_data(pcilib_t *ctx, pcilib_event_id_t event_id, pcilib_event_data_type_t data_type, size_t *size);
342
 
void *pcilib_get_data_with_argument(pcilib_t *ctx, pcilib_event_id_t event_id, pcilib_event_data_type_t data_type, size_t arg_size, void *arg, size_t *size);
 
343
void *pcilib_get_data(pcilib_t *ctx, pcilib_event_id_t event_id, pcilib_event_data_type_t data_type, size_t *size_or_err);
 
344
void *pcilib_get_data_with_argument(pcilib_t *ctx, pcilib_event_id_t event_id, pcilib_event_data_type_t data_type, size_t arg_size, void *arg, size_t *size_or_err);
343
345
 
344
346
/*
345
347
 * This function is provided to find potentially corrupted data. If the data is overwritten by 
346
348
 * the time return_data is called it will return error. 
347
349
 */
348
 
int pcilib_return_data(pcilib_t *ctx, pcilib_event_id_t event_id, void *data);
 
350
int pcilib_return_data(pcilib_t *ctx, pcilib_event_id_t event_id, pcilib_event_data_type_t data_type, void *data);
349
351
 
350
352
 
351
353