Public Member Functions

firevision::FuseImageContent Class Reference
[FireVision FUSE Network ProtocolFireVision Image Processing Framework and Applications]

FUSE image content. More...

#include <>>

Inheritance diagram for firevision::FuseImageContent:
Inheritance graph
[legend]

List of all members.

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::Timecapture_time () const
 Get capture time.
virtual void serialize ()
 Serialize message content.

Detailed Description

FUSE image content.

Author:
Tim Niemueller

Definition at line 39 of file fuse_image_content.h.


Constructor & Destructor Documentation

firevision::FuseImageContent::FuseImageContent ( SharedMemoryImageBuffer b  ) 
firevision::FuseImageContent::FuseImageContent ( uint32_t  type,
void *  payload,
size_t  payload_size 
)
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.

Parameters:
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.


Member Function Documentation

unsigned char * firevision::FuseImageContent::buffer (  )  const

Image buffer.

Returns:
image buffer

Definition at line 166 of file fuse_image_content.cpp.

size_t firevision::FuseImageContent::buffer_size (  )  const

Get size of buffer.

Returns:
size of buffer returned by buffer()

Definition at line 176 of file fuse_image_content.cpp.

fawkes::Time * firevision::FuseImageContent::capture_time (  )  const
unsigned int firevision::FuseImageContent::colorspace (  )  const

Get colorspace.

Returns:
colorspace

Definition at line 206 of file fuse_image_content.cpp.

References firevision::FUSE_image_message_header_t::colorspace.

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.

Parameters:
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.

Returns:
format

Definition at line 216 of file fuse_image_content.cpp.

References firevision::FUSE_image_message_header_t::format.

unsigned int firevision::FuseImageContent::pixel_height (  )  const

Get image height.

Returns:
height of image in pixels

Definition at line 196 of file fuse_image_content.cpp.

References firevision::FUSE_image_message_header_t::height.

unsigned int firevision::FuseImageContent::pixel_width (  )  const

Get image width.

Returns:
width of image in pixels

Definition at line 186 of file fuse_image_content.cpp.

References firevision::FUSE_image_message_header_t::width.

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.


The documentation for this class was generated from the following files: