FUSE image content. More...
#include <fvutils/net/fuse_image_content.h>
Public Member Functions | |
FuseImageContent (SharedMemoryImageBuffer *b) | |
Constructor. | |
FuseImageContent (uint32_t type, void *payload, size_t payload_size) | |
Constructor. | |
FuseImageContent (FUSE_image_format_t image_format, const char *image_id, unsigned char *buffer, size_t buffer_size, colorspace_t colorspace, unsigned int width, unsigned int height, long int capture_time_sec=0, long int capture_time_usec=0) | |
Constructor. | |
~FuseImageContent () | |
Destructor. | |
unsigned char * | buffer () const |
Image buffer. | |
size_t | buffer_size () const |
Get size of buffer. | |
unsigned int | pixel_width () const |
Get image width. | |
unsigned int | pixel_height () const |
Get image height. | |
unsigned int | colorspace () const |
Get colorspace. | |
unsigned int | format () const |
Get image format. | |
void | decompress (unsigned char *yuv422_planar_buffer, size_t buffer_size) |
Decompress image data. | |
fawkes::Time * | capture_time () const |
Get capture time. | |
virtual void | serialize () |
Serialize message content. |
FUSE image content.
Definition at line 39 of file fuse_image_content.h.
firevision::FuseImageContent::FuseImageContent | ( | SharedMemoryImageBuffer * | b | ) |
Constructor.
Copies data from given buffer.
b | shared memory image buffer to copy image from |
Definition at line 76 of file fuse_image_content.cpp.
References firevision::FuseMessageContent::_payload, firevision::FuseMessageContent::_payload_size, firevision::SharedMemoryImageBuffer::buffer(), firevision::FUSE_image_message_header_t::buffer_size, firevision::SharedMemoryImageBuffer::capture_time(), firevision::FUSE_image_message_header_t::capture_time_sec, firevision::FUSE_image_message_header_t::capture_time_usec, firevision::FUSE_image_message_header_t::colorspace, firevision::SharedMemoryImageBuffer::colorspace(), firevision::FUSE_image_message_header_t::format, firevision::FUSE_image_message_header_t::height, firevision::SharedMemoryImageBuffer::height(), firevision::SharedMemoryImageBuffer::image_id(), firevision::FUSE_image_message_header_t::image_id, fawkes::SharedMemory::lock_for_read(), firevision::FUSE_image_message_header_t::reserved, fawkes::SharedMemory::unlock(), firevision::FUSE_image_message_header_t::width, and firevision::SharedMemoryImageBuffer::width().
firevision::FuseImageContent::FuseImageContent | ( | uint32_t | type, | |
void * | payload, | |||
size_t | payload_size | |||
) |
Constructor.
type | message type | |
payload | payload | |
payload_size | size of payload |
Definition at line 53 of file fuse_image_content.cpp.
References firevision::FuseMessageContent::_payload, firevision::FuseMessageContent::_payload_size, firevision::FUSE_image_message_header_t::buffer_size, firevision::FUSE_image_message_header_t::capture_time_sec, and firevision::FUSE_image_message_header_t::capture_time_usec.
firevision::FuseImageContent::FuseImageContent | ( | FUSE_image_format_t | image_format, | |
const char * | image_id, | |||
unsigned char * | buffer, | |||
size_t | buffer_size, | |||
colorspace_t | colorspace, | |||
unsigned int | width, | |||
unsigned int | height, | |||
long int | capture_time_sec = 0 , |
|||
long int | capture_time_usec = 0 | |||
) |
Constructor.
Copies data from given buffer.
image_format | image format | |
image_id | image ID | |
buffer | image buffer, encoded according to image_format | |
buffer_size | size of buffer in bytes | |
colorspace | color space | |
width | width of image in pixels | |
height | height of image in pixels | |
capture_time_sec | optional seconds part of the capture time | |
capture_time_usec | optional microseconds part of the capture time |
Definition at line 122 of file fuse_image_content.cpp.
References firevision::FuseMessageContent::_payload, firevision::FuseMessageContent::_payload_size, firevision::FUSE_image_message_header_t::buffer_size, firevision::FUSE_image_message_header_t::capture_time_sec, firevision::FUSE_image_message_header_t::capture_time_usec, firevision::FUSE_image_message_header_t::colorspace, firevision::FUSE_image_message_header_t::format, firevision::FUSE_image_message_header_t::height, firevision::FUSE_image_message_header_t::image_id, firevision::FUSE_image_message_header_t::reserved, and firevision::FUSE_image_message_header_t::width.
firevision::FuseImageContent::~FuseImageContent | ( | ) |
Destructor.
Definition at line 157 of file fuse_image_content.cpp.
unsigned char * firevision::FuseImageContent::buffer | ( | ) | const |
Image buffer.
Definition at line 166 of file fuse_image_content.cpp.
Referenced by firevision::NetworkCamera::buffer(), firevision::NetworkCamera::capture(), and FireVisionNetworkTool::fuse_inbound_received().
size_t firevision::FuseImageContent::buffer_size | ( | ) | const |
Get size of buffer.
Definition at line 176 of file fuse_image_content.cpp.
Referenced by firevision::NetworkCamera::capture(), and FireVisionNetworkTool::fuse_inbound_received().
fawkes::Time * firevision::FuseImageContent::capture_time | ( | ) | const |
Get capture time.
Definition at line 226 of file fuse_image_content.cpp.
References firevision::FUSE_image_message_header_t::capture_time_sec, and firevision::FUSE_image_message_header_t::capture_time_usec.
Referenced by firevision::NetworkCamera::capture_time().
unsigned int firevision::FuseImageContent::colorspace | ( | ) | const |
Get colorspace.
Definition at line 206 of file fuse_image_content.cpp.
References firevision::FUSE_image_message_header_t::colorspace.
Referenced by firevision::NetworkCamera::buffer_size(), and FireVisionNetworkTool::fuse_inbound_received().
void firevision::FuseImageContent::decompress | ( | unsigned char * | yuv422_planar_buffer, | |
size_t | buffer_size | |||
) |
Decompress image data.
This is a utility method which can be used on clients to decompress compressed image payload. Since every time a new decompressor is created and deleted this method can be slower compared to decompressing the data directly in your application so use with care.
yuv422_planar_buffer | an already allocated buffer where the decompressed image will be stored. | |
buffer_size | size of yuv422_planar_buffer in bytes. Must be big enough to store a YUV422_PLANAR image of the image dimensions of the compressed data. |
Definition at line 253 of file fuse_image_content.cpp.
References firevision::FUSE_image_message_header_t::colorspace, firevision::JpegImageDecompressor::decompress(), firevision::FUSE_image_message_header_t::format, firevision::FUSE_image_message_header_t::height, firevision::ImageDecompressor::set_compressed_buffer(), firevision::ImageDecompressor::set_decompressed_buffer(), and firevision::FUSE_image_message_header_t::width.
unsigned int firevision::FuseImageContent::format | ( | ) | const |
Get image format.
Definition at line 216 of file fuse_image_content.cpp.
References firevision::FUSE_image_message_header_t::format.
Referenced by FireVisionNetworkTool::fuse_inbound_received().
unsigned int firevision::FuseImageContent::pixel_height | ( | ) | const |
Get image height.
Definition at line 196 of file fuse_image_content.cpp.
References firevision::FUSE_image_message_header_t::height.
Referenced by firevision::NetworkCamera::buffer_size(), firevision::NetworkCamera::capture(), and FireVisionNetworkTool::fuse_inbound_received().
unsigned int firevision::FuseImageContent::pixel_width | ( | ) | const |
Get image width.
Definition at line 186 of file fuse_image_content.cpp.
References firevision::FUSE_image_message_header_t::width.
Referenced by firevision::NetworkCamera::buffer_size(), firevision::NetworkCamera::capture(), and FireVisionNetworkTool::fuse_inbound_received().
void firevision::FuseImageContent::serialize | ( | ) | [virtual] |
Serialize message content.
Generate a single contiguous buffer. Make _payload point to this buffer and _payload_size contain the size of the buffer.
Implements firevision::FuseMessageContent.
Definition at line 236 of file fuse_image_content.cpp.