29 return "PIXEL_FORMAT_GRAYSCALE";
31 return "PIXEL_FORMAT_RGB565";
33 return "PIXEL_FORMAT_BGR888";
35 return "PIXEL_FORMAT_UNKNOWN";
58 virtual void set_image(std::shared_ptr<CameraImage> image) = 0;
Abstract camera base class.
virtual CameraImageReader * create_image_reader()=0
Returns a new camera image reader that keeps track of the JPEG data in the camera image.
virtual void start_stream(CameraRequester requester)=0
virtual void stop_stream(CameraRequester requester)=0
virtual void request_image(CameraRequester requester)=0
static Camera * instance()
The singleton instance of the camera implementation.
static Camera * global_camera
virtual void add_image_callback(std::function< void(std::shared_ptr< CameraImage >)> &&callback)=0
Abstract camera image base class.
virtual uint8_t * get_data_buffer()=0
virtual size_t get_data_length()=0
virtual bool was_requested_by(CameraRequester requester) const =0
Abstract image reader base class.
virtual void set_image(std::shared_ptr< CameraImage > image)=0
virtual void consume_data(size_t consumed)=0
virtual void return_image()=0
virtual size_t available() const =0
virtual uint8_t * peek_data_buffer()=0
virtual ~CameraImageReader()
const char * to_string(PixelFormat format)
Returns string name for a given PixelFormat.
CameraRequester
Different sources for filtering.
PixelFormat
Enumeration of different pixel formats.
@ PIXEL_FORMAT_RGB565
16-bit RGB (5-6-5).
@ PIXEL_FORMAT_GRAYSCALE
8-bit grayscale.
@ PIXEL_FORMAT_BGR888
RGB pixel data in 8-bit format, stored as B, G, R (1 byte each).
Providing packet encoding functions for exchanging data with a remote host.
Specification of a caputured camera image.