ipecamera.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef _IPECAMERA_H
  2. #define _IPECAMERA_H
  3. #include <ufodecode.h>
  4. typedef struct ipecamera_s ipecamera_t;
  5. typedef struct {
  6. unsigned int bpp; /*<< Bits per pixel (8, 16, or 32) as returned by IPECAMERA_IMAGE_DATA */
  7. unsigned int real_bpp; /*<< Bits per pixel as returned by camera and IPECAMERA_PACKED_IMAGE */
  8. unsigned int width, height;
  9. } ipecamera_image_dimensions_t;
  10. typedef enum {
  11. IPECAMERA_IMAGE_DATA = 0,
  12. IPECAMERA_RAW_DATA = 1,
  13. IPECAMERA_DIMENSIONS = 0x8000,
  14. IPECAMERA_IMAGE_REGION = 0x8010,
  15. IPECAMERA_PACKED_IMAGE = 0x8020,
  16. IPECAMERA_PACKED_LINE = 0x8021,
  17. IPECAMERA_PACKED_PAYLOAD = 0x8022,
  18. IPECAMERA_CHANGE_MASK = 0x8030
  19. } ipecamera_data_type_t;
  20. typedef uint16_t ipecamera_change_mask_t;
  21. typedef uint16_t ipecamera_pixel_t;
  22. typedef struct {
  23. pcilib_event_info_t info;
  24. UfoDecoderMeta meta; /**< Frame metadata declared in ufodecode.h */
  25. int image_ready; /**< Indicates if image data is parsed */
  26. int image_broken; /**< Unlike the info.flags this is bound to the reconstructed image (i.e. is not updated on rawdata overwrite) */
  27. size_t raw_size; /**< Indicates the actual size of raw data */
  28. } ipecamera_event_info_t;
  29. #ifdef __cplusplus
  30. extern "C" {
  31. #endif
  32. int ipecamera_set_buffer_size(ipecamera_t *ctx, int size);
  33. pcilib_event_id_t ipecamera_get_last_event_id(ipecamera_t *ctx);
  34. #ifdef __cplusplus
  35. }
  36. #endif
  37. #endif /* _IPECAMERA_H */